X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/a8cd6f8446357b135e54a2b0719f1a1e83b0b701..6c7a654c60f91c36474fd66e93cd8ac928b51d86:/disobedience/control.c diff --git a/disobedience/control.c b/disobedience/control.c index c84f51d..8e10d4f 100644 --- a/disobedience/control.c +++ b/disobedience/control.c @@ -216,11 +216,13 @@ static GtkWidget *volume_widget; static GtkWidget *balance_widget; /** @brief Called whenever last_state changes in any way */ -void control_monitor(void attribute((unused)) *u) { +static void control_changed(const char attribute((unused)) *event, + void attribute((unused)) *evendata, + void attribute((unused)) *callbackdata) { int n; gboolean volume_supported; - D(("control_monitor")); + D(("control_changed")); for(n = 0; n < NICONS; ++n) icons[n].update(&icons[n]); /* Only display volume/balance controls if they will work */ @@ -306,7 +308,11 @@ GtkWidget *control_widget(void) { G_CALLBACK(format_volume), 0); g_signal_connect(G_OBJECT(balance_widget), "format-value", G_CALLBACK(format_balance), 0); - register_monitor(control_monitor, 0, -1UL); + event_register("enabled-changed", control_changed, 0); + event_register("random-changed", control_changed, 0); + event_register("pause-changed", control_changed, 0); + event_register("playing-changed", control_changed, 0); + event_register("rtp-changed", control_changed, 0); event_register("volume-changed", volume_changed, 0); return hbox; }