diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-20 13:58:08 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-20 13:58:08 +0100 |
commit | 074097b6c41d1dd6d01a4fa7e257bafb310f5692 (patch) | |
tree | 197c2739b3b4971fd27993ad2693cdc45a643d27 /plugins.c | |
parent | a723a88e649bba5b8187bee0a7156beca31a1c8c (diff) |
supereq plugin prototype
Diffstat (limited to 'plugins.c')
-rw-r--r-- | plugins.c | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -208,6 +208,7 @@ static DB_functions_t deadbeef_api = { // plugin communication .plug_get_decoder_list = plug_get_decoder_list, .plug_get_output_list = plug_get_output_list, + .plug_get_dsp_list = plug_get_dsp_list, .plug_get_list = plug_get_list, .plug_activate = plug_activate, .plug_get_decoder_id = plug_get_decoder_id, @@ -241,6 +242,9 @@ DB_decoder_t *g_decoder_plugins[MAX_DECODER_PLUGINS+1]; #define MAX_VFS_PLUGINS 10 DB_vfs_t *g_vfs_plugins[MAX_VFS_PLUGINS+1]; +#define MAX_DSP_PLUGINS 10 +DB_dsp_t *g_dsp_plugins[MAX_DSP_PLUGINS+1]; + #define MAX_OUTPUT_PLUGINS 10 DB_output_t *g_output_plugins[MAX_OUTPUT_PLUGINS+1]; DB_output_t *output_plugin = NULL; @@ -619,6 +623,7 @@ plug_load_all (void) { int numdecoders = 0; int numvfs = 0; int numoutput = 0; + int numdsp = 0; for (plug = plugins; plug; plug = plug->next) { g_plugins[numplugins++] = plug->plugin; if (plug->plugin->type == DB_PLUGIN_DECODER) { @@ -637,11 +642,18 @@ plug_load_all (void) { } else if (plug->plugin->type == DB_PLUGIN_OUTPUT) { fprintf (stderr, "found output plugin %s\n", plug->plugin->name); - if (numvfs >= MAX_OUTPUT_PLUGINS) { + if (numoutput >= MAX_OUTPUT_PLUGINS) { break; } g_output_plugins[numoutput++] = (DB_output_t *)plug->plugin; } + else if (plug->plugin->type == DB_PLUGIN_DSP) { + fprintf (stderr, "found dsp plugin %s\n", plug->plugin->name); + if (numdsp >= MAX_DSP_PLUGINS) { + break; + } + g_dsp_plugins[numdsp++] = (DB_dsp_t *)plug->plugin; + } } // start plugins for (plug = plugins; plug; plug = plug->next) { @@ -699,6 +711,11 @@ plug_get_vfs_list (void) { return g_vfs_plugins; } +struct DB_dsp_s ** +plug_get_dsp_list (void) { + return g_dsp_plugins; +} + struct DB_plugin_s ** plug_get_list (void) { return g_plugins; |