danbee / persephone

macOS MPD client written in Swift.
https://persephone.fm
MIT License
215 stars 18 forks source link

Intermittent failure to add tracks to queue #46

Closed clauseggers closed 4 years ago

clauseggers commented 4 years ago

Hi Dan. I’m experiencing random and intermittent failures to add tracks/albums to the queue. I can’t see any rime or reason as to when this occurs. Adding the same tracks to the queue via ncmpcpp works fine, so I’m pretty sure it must be Persephone.

danbee commented 4 years ago

@clauseggers I can't seem to reproduce that here. Can you tell me a little more about your setup? What version of Persephone? What version of macOS are you running? Are you connecting to mpd on the same machine as you're running Persephone or are you connecting to a remote server?

danbee commented 4 years ago

Also, what version of mpd are you running? I don't think it should matter as long as it's recent, but it might.

clauseggers commented 4 years ago

I’m running 0.21.5, which is the version available on the Debian server I run it on. The version on Persephone is 0.16, but as I remember the issue was also there in the previous versions I tried (0.14–). What is weird is that there are albums that I can’t add to the queue, but I can get them to replace the content of the queue and start playing, using the ‘Play album’ right-click menu item.

danbee commented 4 years ago

Hmmmm, well I definitely want to get to the bottom of this! Could you turn on verbose logging on mpd and send me the logs from when you try and add one of these albums to the queue?

You can turn on verbose logging by adding log_level "verbose" to the mpd config file.

If this doesn't turn anything up, I may have you send me one of the albums in question and I will set up a server here running the same version of mpd.

danbee commented 4 years ago

Are you running mpd-0.21.5-3 from Debian buster? Also, I'm not sure if the architecture matters but can you tell me what architecture you're running Debian on?

clauseggers commented 4 years ago

Yes I’m running that one on the real-time version of 10.3, Intel arch. I got logging up and running, and in this snippet: https://gist.github.com/clauseggers/3312f15c7dc473591e100b4d2de72a09 I first filter for ‘johansson’ then try to add the album to an empty queue (with no success), then I choose ‘play now’ successfully. The only difference I can see is that the first try of adding the album to the queue uses Artist and the ‘play now’ uses AlbumArtist: Feb 23 17:33 : client: [3] process command "find Album "Jazz på ryska" Artist "Jan Johansson"" Feb 23 17:33 : client: [3] command returned 0 Feb 23 17:33 : client: [3] process command "idle" Feb 23 17:33 : client: [3] command returned 1 Feb 23 17:33 : client: [3] process command "find Album "Jazz på ryska" AlbumArtist "Jan Johansson""

danbee commented 4 years ago

Ah that's a good clue! Thanks. I'll look into this soon.

clauseggers commented 4 years ago

Yes, in further investigation it looks like this breaks when Artist is different from AlbumArtist which in my case happens quite a lot for classical and jazz releases.

danbee commented 4 years ago

I've now managed to reproduce this locally. Thanks!

danbee commented 4 years ago

Fixed in 0.16.1-alpha release.