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/oss/oss.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'plugins/oss') diff --git a/plugins/oss/oss.c b/plugins/oss/oss.c index 953398af..e64e1fc0 100644 --- a/plugins/oss/oss.c +++ b/plugins/oss/oss.c @@ -315,7 +315,7 @@ oss_get_state (void) { } static int -oss_configchanged (DB_event_t *ev, uintptr_t data) { +oss_configchanged (void) { deadbeef->conf_lock (); const char *dev = deadbeef->conf_get_str_fast ("oss.device", "/dev/dsp"); if (strcmp (dev, oss_device)) { @@ -327,16 +327,24 @@ oss_configchanged (DB_event_t *ev, uintptr_t data) { return 0; } +static int +oss_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) { + switch (id) { + case DB_EV_CONFIGCHANGED: + oss_configchanged (); + break; + } + return 0; +} + static int oss_plugin_start (void) { deadbeef->conf_get_str ("oss.device", "/dev/dsp", oss_device, sizeof (oss_device)); - deadbeef->ev_subscribe (DB_PLUGIN (&plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (oss_configchanged), 0); return 0; } static int oss_plugin_stop (void) { - deadbeef->ev_unsubscribe (DB_PLUGIN (&plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (oss_configchanged), 0); return 0; } @@ -379,6 +387,7 @@ static DB_output_t plugin = { .plugin.start = oss_plugin_start, .plugin.stop = oss_plugin_stop, .plugin.configdialog = settings_dlg, + .plugin.message = oss_message, .init = oss_init, .free = oss_free, .setformat = oss_setformat, -- cgit v1.2.3