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/sid/csid.cpp | 14 +++++++++++--- plugins/sid/csid.h | 1 + plugins/sid/plugin.c | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'plugins/sid') diff --git a/plugins/sid/csid.cpp b/plugins/sid/csid.cpp index ffdd4548..20293812 100644 --- a/plugins/sid/csid.cpp +++ b/plugins/sid/csid.cpp @@ -605,7 +605,7 @@ csid_mutevoice (DB_fileinfo_t *_info, int voice, int mute) { #endif static int -csid_on_configchanged (DB_event_t *ev, uintptr_t data) { +sid_configchanged (void) { int conf_hvsc_enable = deadbeef->conf_get_int ("hvsc_enable", 0); int disable = !conf_hvsc_enable; if (disable != sldb_disable) { @@ -622,15 +622,23 @@ csid_on_configchanged (DB_event_t *ev, uintptr_t data) { return 0; } +int +sid_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) { + switch (id) { + case DB_EV_CONFIGCHANGED: + sid_configchanged (); + break; + } + return 0; +} + int csid_start (void) { - deadbeef->ev_subscribe (DB_PLUGIN (&sid_plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (csid_on_configchanged), 0); return 0; } int csid_stop (void) { - deadbeef->ev_unsubscribe (DB_PLUGIN (&sid_plugin), DB_EV_CONFIGCHANGED, DB_CALLBACK (csid_on_configchanged), 0); if (sldb) { free (sldb); sldb = NULL; diff --git a/plugins/sid/csid.h b/plugins/sid/csid.h index c35be3d7..66ad0ff5 100644 --- a/plugins/sid/csid.h +++ b/plugins/sid/csid.h @@ -33,6 +33,7 @@ int csid_numvoices (DB_fileinfo_t *); void csid_mutevoice (DB_fileinfo_t *, int voice, int mute); int csid_start (void); int csid_stop (void); +int sid_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2); #ifdef __cplusplus } diff --git a/plugins/sid/plugin.c b/plugins/sid/plugin.c index c8f1f7b0..ff350da6 100644 --- a/plugins/sid/plugin.c +++ b/plugins/sid/plugin.c @@ -63,6 +63,7 @@ DB_decoder_t sid_plugin = { .plugin.stop = csid_stop, .plugin.configdialog = settings_dlg, .plugin.id = "stdsid", + .plugin.message = sid_message, .open = csid_open, .init = csid_init, .free = csid_free, -- cgit v1.2.3