-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mpdstats records a skip when stopping playback #3722
Comments
Looking at this a bit more, it looks like this happens because handle_song_change is called before the expected end time of the song, so it sorta looks like a skip. Perhaps we could check the state of the playlist? Not sure what the best way to fix this would be. |
Indeed; sounds like trouble! I'm not too familiar with the inner workings of the "state machine" that makes mpdstats tick, but maybe there's a way to tell whether |
It's a little more complicated than that, I think. mpd has the ability to pause or stop, and the latter is more like just pausing back to the beginning of the current track. Beets mpdstats already seems to report pauses (which work fine) and stops, but we can't just change the handling of stops wholesale because I think that it also stops at the end of the playlist/queue (although I need to do some more testing for this). |
OK, I looked into this more and created a PR with my best idea for how to fix this. |
Problem
I am using the mpdstats plugin. Running
beet mpdstats
and then starting a song playing in mpd and then stopping it makes mpdstats record a skip and adjust the song rating downwards, even though that song remains at the beginning of the mpd playlist (i.e. it's not actually skipped). Interestingly pausing and then later stopping seems to not cause this problem.Setup
My configuration (output of
beet config
) is:The text was updated successfully, but these errors were encountered: