Smart Playlist + Favorite Artist bugs

Issue description:

Hi! I’m just creating issues as I’m finding them, I hope that’s fine.

When I add multiple rules with “Any” selector, adding a rule should never reduce the number of items in a playlist, yet that’s exactly what I saw.

I created a playlist with such rules:

  1. song is favorite
  2. artist is favorite
  3. album is favorite
  4. user rating > 3
  5. rating > 4

And noticed that some of my favorited songs weren’t showing up. Narrowed it down a little, as the logs/screenshots will show:

Logs:

Upload description: prone-to-drift favorites-issue

Additional information:

 Outputs of beet info for the two files in question:

/music/blackbox/Korean/Compilations/시그널 (tvN 드라마) OST/04 길.flac
acoustid_fingerprint: {removed to avoid spam}
         acoustid_id: ad412716-993b-4de5-9755-40f8caff5c0f
               album: 시그널 (tvN 드라마) OST
         albumartist: Various Artists
  albumartist_credit: Various Artists
    albumartist_sort: Various Artists
       albumdisambig: 
         albumstatus: Official
           albumtype: a
          albumtypes: a; l; b; u; m; ;;  ; c; o; m; p; i; l; a; t; i; o; n
            arranger: 
                 art: True
              artist: 김윤아
       artist_credit: 김윤아
         artist_sort: Kim, Yuna
                asin: 
            bitdepth: 16
             bitrate: 828286
        bitrate_mode: 
                 bpm: 0
         catalognums: 
            channels: 2
            comments: 30183126
                comp: True
            composer: 
       composer_sort: 
             country: 
                disc: 1
           disctitle: 
           disctotal: 2
             encoder: 
        encoder_info: 
    encoder_settings: 
              format: FLAC
               genre: 댄스/팝,OST
              genres: 댄스/팝,OST
            grouping: 
                isrc: 
               label: Stone Music Entertainment
            language: kor
           languages: kor
              length: 265.79437641723354
            lyricist: 
              lyrics: {removed}
    mb_albumartistid: 89ad4ac3-39f7-470e-963a-56509c546377
   mb_albumartistids: 89ad4ac3-39f7-470e-963a-56509c546377
          mb_albumid: 6668dbe2-1818-4dde-bb7e-2856f162f478
         mb_artistid: ec8a7e36-2432-4946-8227-876749a1a2da
        mb_artistids: ec8a7e36-2432-4946-8227-876749a1a2da
   mb_releasegroupid: 025aa2c4-2646-4dcd-aac1-ca9b047e99b9
   mb_releasetrackid: f7876450-eba2-4528-9ba0-92db53cbab64
          mb_trackid: 2532b816-976c-49dc-9bc3-58a899e93e04
           mb_workid: 
               media: CD
       original_year: 0
       rg_album_gain: -6.93
       rg_album_peak: 1.370268
       rg_track_gain: -9.48
       rg_track_peak: 1.05632
          samplerate: 44100
              script: Kore
               title: 길
               track: 4
          tracktotal: 40
                year: 0

/music/blackbox/Korean/Compilations/시그널 (tvN 드라마) OST/01 나는 너를.flac
acoustid_fingerprint: {removed}
         acoustid_id: 15023b19-15bd-47a2-8d4b-d1ca0aafb1ee
               album: 시그널 (tvN 드라마) OST
         albumartist: Various Artists
  albumartist_credit: Various Artists
    albumartist_sort: Various Artists
       albumdisambig: 
         albumstatus: Official
           albumtype: a
          albumtypes: a; l; b; u; m; ;;  ; c; o; m; p; i; l; a; t; i; o; n
            arranger: 
                 art: True
              artist: 정차식
       artist_credit: 정차식
         artist_sort: Jeong, Cha-sik
                asin: 
            bitdepth: 16
             bitrate: 1006020
        bitrate_mode: 
                 bpm: 0
         catalognums: 
            channels: 2
            comments: 30183123
                comp: True
            composer: 
       composer_sort: 
             country: 
                disc: 1
           disctitle: 
           disctotal: 2
             encoder: 
        encoder_info: 
    encoder_settings: 
              format: FLAC
               genre: 댄스/팝,OST
              genres: 댄스/팝,OST
            grouping: 
                isrc: 
               label: Stone Music Entertainment
            language: kor
           languages: kor
              length: 263.5506575963719
            lyricist: 
              lyrics: {removed}
    mb_albumartistid: 89ad4ac3-39f7-470e-963a-56509c546377
   mb_albumartistids: 89ad4ac3-39f7-470e-963a-56509c546377
          mb_albumid: 6668dbe2-1818-4dde-bb7e-2856f162f478
         mb_artistid: 902d372b-51ac-4b48-81b0-188316d26a91
        mb_artistids: 902d372b-51ac-4b48-81b0-188316d26a91
   mb_releasegroupid: 025aa2c4-2646-4dcd-aac1-ca9b047e99b9
   mb_releasetrackid: 910f0100-0823-4bff-a7a5-a1e52d913b07
          mb_trackid: 48bce90d-0496-4677-a4ef-99acf4c36187
           mb_workid: 
               media: CD
       original_year: 0
       rg_album_gain: -6.93
       rg_album_peak: 1.370268
       rg_track_gain: -9.96
       rg_track_peak: 1.11322
          samplerate: 44100
              script: Kore
               title: 나는 너를
               track: 1
          tracktotal: 40
                year: 0

Reproduction steps:

 1. Create smart playlist with single rule: song is favorite. Observe the item count. (9 in my screenshot)
2. Edit playlist to add rule: artist is favorite. Observe the item count reduce. (7 in my screenshot) 

Media provider:

Subsonic

Screenshots:

 

    

Please show the actual configuration of the filter.

Oh, I assumed it’d be in the logs, sorry.

No the logs shows what the app calculate from the filter but not the source one.

Anyway I suppose the 2 missing songs do not have any artists? If yes then it will be fixed in next release.

I see (re:logs).

But also, as per my pasted output of beets info, and as is visible in the app, the songs have artist as well as albumartist fields set.

You are using Gonic, Gonic does not support track artists so I’m pretty sure from the API point of view those songs do not have artists that are exposed via the API.

Hah, nice! Dude, you have my sympathies and respect for programming with such APIs that seem half formed!

Thanks, looking forward to the fix. Do we need to file an upstream issue? Or is it tracked already? I couldn’t locate one easily… support multiple artists · Issue #103 · sentriz/gonic · GitHub is fixed at least

Gonic did break the contract for their OS multiple artist support :wink: So it can return things without ids or things that are not returned from a call to another endpoint because (well I’m still trying to understand the why).