diff options
author | waker <wakeroid@gmail.com> | 2011-04-14 20:50:40 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2011-04-14 20:50:40 +0200 |
commit | 4e3bdbb0bc8649208400b9eb63751db15bc9bcda (patch) | |
tree | 3bfc597a6255a652ce774558bda4bf65c6b6252a /plugins/alsa | |
parent | a0116d4496107e368b791d86295834c6e844a6e8 (diff) |
new event passing system
Diffstat (limited to 'plugins/alsa')
-rw-r--r-- | plugins/alsa/alsa.c | 15 |
1 files changed, 12 insertions, 3 deletions
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); @@ -738,14 +738,22 @@ palsa_get_state (void) { } 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, |