From 4e3bdbb0bc8649208400b9eb63751db15bc9bcda Mon Sep 17 00:00:00 2001 From: waker Date: Thu, 14 Apr 2011 20:50:40 +0200 Subject: new event passing system --- plugins/alsa/alsa.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'plugins/alsa') diff --git a/plugins/alsa/alsa.c b/plugins/alsa/alsa.c index 07b0c869..04a14bdd 100644 --- a/plugins/alsa/alsa.c +++ b/plugins/alsa/alsa.c @@ -687,7 +687,7 @@ palsa_callback (char *stream, int len) { } static int -palsa_configchanged (DB_event_t *ev, uintptr_t data) { +alsa_configchanged (void) { deadbeef->conf_lock (); const char *alsa_soundcard = deadbeef->conf_get_str_fast ("alsa_soundcard", "default"); int buffer = deadbeef->conf_get_int ("alsa.buffer", DEFAULT_BUFFER_SIZE); @@ -737,15 +737,23 @@ palsa_get_state (void) { return state; } +static int +alsa_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) { + switch (id) { + case DB_EV_CONFIGCHANGED: + alsa_configchanged (); + break; + } + return 0; +} + static int alsa_start (void) { - deadbeef->ev_subscribe (DB_PLUGIN (&plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (palsa_configchanged), 0); return 0; } static int alsa_stop (void) { - deadbeef->ev_unsubscribe (DB_PLUGIN (&plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (palsa_configchanged), 0); return 0; } @@ -791,6 +799,7 @@ static DB_output_t plugin = { .plugin.start = alsa_start, .plugin.stop = alsa_stop, .plugin.configdialog = settings_dlg, + .plugin.message = alsa_message, .init = palsa_init, .free = palsa_free, .setformat = palsa_setformat, -- cgit v1.2.3