@@ -73,6 +73,7 @@ func (j *jellyfinMediaProvider) GetLibraries() ([]mediaprovider.Library, error)
7373
7474func (j * jellyfinMediaProvider ) SetLibrary (id string ) error {
7575 j .currentLibraryID = id
76+ j .genresCached = nil
7677 return nil
7778}
7879
@@ -235,15 +236,16 @@ func (j *jellyfinMediaProvider) GetCoverArt(id string, size int) (image.Image, e
235236 return j .client .GetItemImage (id , "Primary" , size , 92 )
236237}
237238
238- func (s * jellyfinMediaProvider ) GetFavorites () (mediaprovider.Favorites , error ) {
239+ func (j * jellyfinMediaProvider ) GetFavorites () (mediaprovider.Favorites , error ) {
239240 var wg sync.WaitGroup
240241 var favorites mediaprovider.Favorites
241242
243+ var opts jellyfin.QueryOpts
244+ opts .Filter .Favorite = true
245+ opts .Filter .ParentID = j .currentLibraryID
242246 wg .Add (1 )
243247 go func () {
244- var opts jellyfin.QueryOpts
245- opts .Filter .Favorite = true
246- al , err := s .client .GetAlbums (opts )
248+ al , err := j .client .GetAlbums (opts )
247249 if err == nil && len (al ) > 0 {
248250 favorites .Albums = sharedutil .MapSlice (al , toAlbum )
249251 }
@@ -252,9 +254,7 @@ func (s *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error)
252254
253255 wg .Add (1 )
254256 go func () {
255- var opts jellyfin.QueryOpts
256- opts .Filter .Favorite = true
257- ar , err := s .client .GetAlbumArtists (opts )
257+ ar , err := j .client .GetAlbumArtists (opts )
258258 if err == nil && len (ar ) > 0 {
259259 favorites .Artists = sharedutil .MapSlice (ar , toArtist )
260260 }
@@ -263,9 +263,7 @@ func (s *jellyfinMediaProvider) GetFavorites() (mediaprovider.Favorites, error)
263263
264264 wg .Add (1 )
265265 go func () {
266- var opts jellyfin.QueryOpts
267- opts .Filter .Favorite = true
268- tr , err := s .client .GetSongs (opts )
266+ tr , err := j .client .GetSongs (opts )
269267 if err == nil && len (tr ) > 0 {
270268 favorites .Tracks = sharedutil .MapSlice (tr , toTrack )
271269 }
@@ -281,7 +279,7 @@ func (j *jellyfinMediaProvider) GetGenres() ([]*mediaprovider.Genre, error) {
281279 return j .genresCached , nil
282280 }
283281
284- g , err := j .client .GetGenres (jellyfin.Paging {}, "" )
282+ g , err := j .client .GetGenres (jellyfin.Paging {}, j . currentLibraryID )
285283 if err != nil {
286284 return nil , err
287285 }
0 commit comments