The unified diff between revisions [84a0b39f..] and [afdbb938..] is displayed below. It can also be downloaded as a raw diff.
# # old_revision [84a0b39f678926ca2848e2a0da300842a9cf5809] # new_revision [afdbb9388305ae66464ad4acb0437922656e3059] # # add_file "src/lsi/plugin.h" # content [2405fd3aa66be3d2a1ca3a1ca93bfcf258d4c8e9] # # add_file "src/lsi/plugins.c" # content [0f20069da015e07f58b0828acdc3644a197dc794] # # add_file "src/lsi/plugins.h" # content [84f2f91c055062f2bbf7fd72c9079a3967f22a39] # ============================================================ --- /dev/null +++ src/lsi/plugin.h 2405fd3aa66be3d2a1ca3a1ca93bfcf258d4c8e9 @@ -0,0 +1,10 @@ +/* plugin.h */ + +struct plugin { + char *pl_name; + int (*pl_init)(void); + void (*pl_shutdown)(void); + int pl_active; + /* function table? */ +}; + ============================================================ --- /dev/null +++ src/lsi/plugins.c 0f20069da015e07f58b0828acdc3644a197dc794 @@ -0,0 +1,23 @@ +/* plugins.c */ + +/* + * This is the master table of plugins. Add a plugin here + * for it to take effect. + */ + +#include "plugin.h" + +#include "midi.h" +#include "dmx.h" +#include "beatdetect.h" +#include "mouse.h" + +struct plugin plugins_table[] = { + {"midi", midi_init, midi_close, 0}, + {"dmx", dmx_init, dmx_close, 0}, + {"beatdetect", beatdetect_init, beatdetect_close, 0}, + {"mouse", mouse_init, mouse_close, 0}, +}; + +int nplugins = (sizeof(plugins_table) / sizeof(struct plugin)); + ============================================================ --- /dev/null +++ src/lsi/plugins.h 84f2f91c055062f2bbf7fd72c9079a3967f22a39 @@ -0,0 +1,13 @@ +/* plugins.h */ + +/* + * The master table of plugins is found in plugins.c. This is + * just a declaration to allow the table to be used. + */ + +#include "plugin.h" + +extern struct plugin plugins_table[]; + +extern int nplugins; +