From 1b6666fa39cdbe955661e7fa1d3ac8a8e68e4216 Mon Sep 17 00:00:00 2001 From: Max Kellermann <max@musicpd.org> Date: Fri, 10 Mar 2017 16:11:34 +0100 Subject: [PATCH] Partition: handle SYNC_WITH_PLAYER before TAG_MODIFIED The TAG_MODIFIED handler (i.e. playlist::TagModified()) works only if the modified song is the current song - something that is not updated until SYNC_WITH_PLAYER is finished. This fixes tag updates right after a new song is started. --- NEWS | 1 + src/Partition.cxx | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index a052efa6f..36e4dcaf4 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ ver 0.20.6 (not yet released) - ffmpeg: re-enable as fallback - mpcdec: fix crash (division by zero) after seeking - sidplay: make compatible with libsidplayfp < 1.8 +* fix stream tags after automatic song change * workaround for GCC 4.9.4 / libstdc++ bug (build failure) ver 0.20.5 (2017/02/20) diff --git a/src/Partition.cxx b/src/Partition.cxx index 59754d2fb..f066041ec 100644 --- a/src/Partition.cxx +++ b/src/Partition.cxx @@ -141,9 +141,9 @@ Partition::OnMixerVolumeChanged(gcc_unused Mixer &mixer, gcc_unused int volume) void Partition::OnGlobalEvent(unsigned mask) { - if ((mask & TAG_MODIFIED) != 0) - TagModified(); - if ((mask & SYNC_WITH_PLAYER) != 0) SyncWithPlayer(); + + if ((mask & TAG_MODIFIED) != 0) + TagModified(); }