Playlists now have all metadata. Also removed some duplicated code

This commit is contained in:
Deluan
2016-03-21 11:57:04 -04:00
parent 516bd3bddf
commit 3cefc321b8
6 changed files with 23 additions and 55 deletions
+2 -11
View File
@@ -45,13 +45,8 @@ func (c *AlbumListController) GetAlbumList() {
c.SendError(responses.ERROR_GENERIC, "Internal Error")
}
albumList := make([]responses.Child, len(albums))
for i, al := range albums {
albumList[i] = c.ToChild(al)
}
response := c.NewEmpty()
response.AlbumList = &responses.AlbumList{Album: albumList}
response.AlbumList = &responses.AlbumList{Album: c.ToChildren(albums)}
c.SendResponse(response)
}
@@ -64,11 +59,7 @@ func (c *AlbumListController) GetStarred() {
response := c.NewEmpty()
response.Starred = &responses.Starred{}
response.Starred.Album = make([]responses.Child, len(albums))
for i, entry := range albums {
response.Starred.Album[i] = c.ToChild(entry)
}
response.Starred.Album = c.ToChildren(albums)
c.SendResponse(response)
}
+8
View File
@@ -84,6 +84,14 @@ func (c *BaseAPIController) SendResponse(response responses.Subsonic) {
}
}
func (c *BaseAPIController) ToChildren(entries engine.Entries) []responses.Child {
children := make([]responses.Child, len(entries))
for i, entry := range entries {
children[i] = c.ToChild(entry)
}
return children
}
func (c *BaseAPIController) ToChild(entry engine.Entry) responses.Child {
n := responses.Child{}
n.Id = entry.Id
+1 -4
View File
@@ -94,9 +94,6 @@ func (c *BrowsingController) buildDirectory(d *engine.DirectoryInfo) *responses.
dir.Starred = &d.Starred
}
dir.Child = make([]responses.Child, len(d.Entries))
for i, entry := range d.Entries {
dir.Child[i] = c.ToChild(entry)
}
dir.Child = c.ToChildren(d.Entries)
return dir
}
+1 -21
View File
@@ -57,26 +57,6 @@ func (c *PlaylistsController) buildPlaylist(d *engine.PlaylistInfo) *responses.P
pls.Id = d.Id
pls.Name = d.Name
pls.Entry = make([]responses.Child, len(d.Entries))
for i, child := range d.Entries {
pls.Entry[i].Id = child.Id
pls.Entry[i].Title = child.Title
pls.Entry[i].IsDir = child.IsDir
pls.Entry[i].Parent = child.Parent
pls.Entry[i].Album = child.Album
pls.Entry[i].Year = child.Year
pls.Entry[i].Artist = child.Artist
pls.Entry[i].Genre = child.Genre
pls.Entry[i].CoverArt = child.CoverArt
pls.Entry[i].Track = child.Track
pls.Entry[i].Duration = child.Duration
pls.Entry[i].Size = child.Size
pls.Entry[i].Suffix = child.Suffix
pls.Entry[i].BitRate = child.BitRate
pls.Entry[i].ContentType = child.ContentType
if !child.Starred.IsZero() {
pls.Entry[i].Starred = &child.Starred
}
}
pls.Entry = c.ToChildren(d.Entries)
return pls
}
+2 -8
View File
@@ -44,14 +44,8 @@ func (c *SearchingController) Search2() {
for i, e := range as {
searchResult2.Artist[i] = responses.Artist{Id: e.Id, Name: e.Title}
}
searchResult2.Album = make([]responses.Child, len(als))
for i, e := range als {
searchResult2.Album[i] = c.ToChild(e)
}
searchResult2.Song = make([]responses.Child, len(mfs))
for i, e := range mfs {
searchResult2.Song[i] = c.ToChild(e)
}
searchResult2.Album = c.ToChildren(als)
searchResult2.Song = c.ToChildren(mfs)
response.SearchResult2 = searchResult2
c.SendResponse(response)
}