mpd: do not rely on idle event itself in case of playlist change
This commit is contained in:
@@ -250,7 +250,6 @@ void MPD::Connection::UpdateStatus()
|
|||||||
{
|
{
|
||||||
if (idle_mask != 0)
|
if (idle_mask != 0)
|
||||||
{
|
{
|
||||||
itsChanges.Playlist = idle_mask & MPD_IDLE_QUEUE;
|
|
||||||
itsChanges.Database = idle_mask & MPD_IDLE_DATABASE;
|
itsChanges.Database = idle_mask & MPD_IDLE_DATABASE;
|
||||||
itsChanges.DBUpdating = idle_mask & MPD_IDLE_UPDATE;
|
itsChanges.DBUpdating = idle_mask & MPD_IDLE_UPDATE;
|
||||||
itsChanges.Volume = idle_mask & MPD_IDLE_MIXER;
|
itsChanges.Volume = idle_mask & MPD_IDLE_MIXER;
|
||||||
@@ -259,9 +258,6 @@ void MPD::Connection::UpdateStatus()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
itsChanges.Playlist = mpd_status_get_queue_version(itsOldStatus)
|
|
||||||
!= mpd_status_get_queue_version(itsCurrentStatus);
|
|
||||||
|
|
||||||
itsChanges.ElapsedTime = mpd_status_get_elapsed_time(itsOldStatus)
|
itsChanges.ElapsedTime = mpd_status_get_elapsed_time(itsOldStatus)
|
||||||
!= mpd_status_get_elapsed_time(itsCurrentStatus);
|
!= mpd_status_get_elapsed_time(itsCurrentStatus);
|
||||||
|
|
||||||
@@ -286,6 +282,9 @@ void MPD::Connection::UpdateStatus()
|
|||||||
itsChanges.Outputs = 0;
|
itsChanges.Outputs = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
itsChanges.Playlist = mpd_status_get_queue_version(itsOldStatus)
|
||||||
|
!= mpd_status_get_queue_version(itsCurrentStatus);
|
||||||
|
|
||||||
itsChanges.SongID = mpd_status_get_song_id(itsOldStatus)
|
itsChanges.SongID = mpd_status_get_song_id(itsOldStatus)
|
||||||
!= mpd_status_get_song_id(itsCurrentStatus);
|
!= mpd_status_get_song_id(itsCurrentStatus);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user