diff --git a/src/mpdclient.c b/src/mpdclient.c
index 3bc6f0760211e6cfca4014750015200d739090a1..7bf29ea921e20dbda7aae906e7754aaf979e1f20 100644 (file)
--- a/src/mpdclient.c
+++ b/src/mpdclient.c
/* ncmpc (Ncurses MPD Client)
- * (c) 2004-2009 The Music Player Daemon Project
+ * (c) 2004-2010 The Music Player Daemon Project
* Project homepage: http://musicpd.org
* This program is free software; you can redistribute it and/or modify
bool retval;
if (c->source == NULL)
- c->events |= MPD_IDLE_PLAYLIST;
+ c->events |= MPD_IDLE_QUEUE;
if (!playlist_is_empty(&c->playlist))
retval = mpdclient_playlist_update_changes(c);
}
/* update the current song */
- if (!c->song || mpd_status_get_song_id(c->status)) {
+ if (!c->song || mpd_status_get_song_id(c->status) >= 0) {
c->song = playlist_get_song(&c->playlist,
mpd_status_get_song_pos(c->status));
}
struct mpd_connection *connection;
int length, current;
- if (c->status == NULL)
+ if (!mpdclient_is_playing(c))
return false;
length = mpd_status_get_queue_length(c->status);
current = mpd_status_get_song_pos(c->status);
- if (current < 0 ||
- (mpd_status_get_state(c->status) != MPD_STATE_PLAY &&
- mpd_status_get_state(c->status) != MPD_STATE_PAUSE) ||
- mpd_status_get_queue_length(c->status) < 2)
+ if (current < 0 || mpd_status_get_queue_length(c->status) < 2)
return true;
connection = mpdclient_get_connection(c);
!mpd_response_next(connection))
return mpdclient_handle_error(c);
- c->events |= MPD_IDLE_PLAYLIST;
+ c->events |= MPD_IDLE_QUEUE;
status = mpdclient_recv_status(c);
if (status == NULL)
!mpd_command_list_end(connection))
return mpdclient_handle_error(c);
- c->events |= MPD_IDLE_PLAYLIST;
+ c->events |= MPD_IDLE_QUEUE;
status = mpdclient_recv_status(c);
if (status == NULL)
!mpd_command_list_end(connection))
return mpdclient_handle_error(c);
- c->events |= MPD_IDLE_PLAYLIST;
+ c->events |= MPD_IDLE_QUEUE;
status = mpdclient_recv_status(c);
if (status == NULL)