X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/ee7552f86d9438d415cbe61fd897e5c768f4f1a4..3ffb8e5d1d5e4627a12f8be6e00ed5763f6512df:/disobedience/queue.c diff --git a/disobedience/queue.c b/disobedience/queue.c index 87930b7..3a481a2 100644 --- a/disobedience/queue.c +++ b/disobedience/queue.c @@ -112,8 +112,11 @@ static gboolean playing_periodic(gpointer attribute((unused)) data) { static void queue_init(void) { /* Arrange a callback whenever the playing state changes */ event_register("playing-changed", playing_changed, 0); + /* We reget both playing track and queue at pause/resume so that start times + * can be computed correctly */ event_register("pause-changed", playing_changed, 0); - /* ...and when the queue changes */ + event_register("pause-changed", queue_changed, 0); + /* Reget the queue whenever it changes */ event_register("queue-changed", queue_changed, 0); /* ...and once a second anyway */ g_timeout_add(1000/*ms*/, playing_periodic, 0); @@ -134,7 +137,7 @@ static struct queue_menuitem queue_menuitems[] = { { "Track properties", ql_properties_activate, ql_properties_sensitive, 0, 0 }, { "Select all tracks", ql_selectall_activate, ql_selectall_sensitive, 0, 0 }, { "Deselect all tracks", ql_selectnone_activate, ql_selectnone_sensitive, 0, 0 }, - { "Scratch track", ql_scratch_activate, ql_scratch_sensitive, 0, 0 }, + { "Scratch playing track", ql_scratch_activate, ql_scratch_sensitive, 0, 0 }, { "Remove track from queue", ql_remove_activate, ql_remove_sensitive, 0, 0 }, };