comparison src/audacious/plugin.h @ 4677:04c53c9d261b

Add provision for Interface plugins.
author William Pitcock <nenolod@atheme.org>
date Sun, 29 Jun 2008 12:59:51 -0500
parents 31a4cc265f31
children 49ea99d333e9
comparison
equal deleted inserted replaced
4676:ed6755dbd2f1 4677:04c53c9d261b
43 #include "audacious/eventqueue.h" 43 #include "audacious/eventqueue.h"
44 #include "audacious/configdb.h" 44 #include "audacious/configdb.h"
45 #include "audacious/playlist_container.h" 45 #include "audacious/playlist_container.h"
46 #include "audacious/main.h" 46 #include "audacious/main.h"
47 #include "audacious/preferences.h" 47 #include "audacious/preferences.h"
48 #include "audacious/interface.h"
48 49
49 #define PLUGIN(x) ((Plugin *)(x)) 50 #define PLUGIN(x) ((Plugin *)(x))
50 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) 51 #define INPUT_PLUGIN(x) ((InputPlugin *)(x))
51 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) 52 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x))
52 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) 53 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x))
189 OutputPlugin **op_list; 190 OutputPlugin **op_list;
190 EffectPlugin **ep_list; 191 EffectPlugin **ep_list;
191 GeneralPlugin **gp_list; 192 GeneralPlugin **gp_list;
192 VisPlugin **vp_list; 193 VisPlugin **vp_list;
193 DiscoveryPlugin **dp_list; 194 DiscoveryPlugin **dp_list;
195 Interface *interface;
194 } PluginHeader; 196 } PluginHeader;
195 197
196 #define PLUGIN_MAGIC 0x8EAC8DE2 198 #define PLUGIN_MAGIC 0x8EAC8DE2
197 199
198 /* define the public API here */ 200 /* define the public API here */
1026 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, vp_list) 1028 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, vp_list)
1027 1029
1028 #define SIMPLE_DISCOVER_PLUGIN(name, dp_list) \ 1030 #define SIMPLE_DISCOVER_PLUGIN(name, dp_list) \
1029 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, dp_list) 1031 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, dp_list)
1030 1032
1033 #define SIMPLE_INTERFACE_PLUGIN(name, interface) \
1034 DECLARE_PLUGIN(name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, interface)
1035
1031 /* Sadly, this is the most we can generalize out of the disparate 1036 /* Sadly, this is the most we can generalize out of the disparate
1032 plugin structs usable with typecasts - descender */ 1037 plugin structs usable with typecasts - descender */
1033 struct _Plugin { 1038 struct _Plugin {
1034 PLUGIN_COMMON_FIELDS 1039 PLUGIN_COMMON_FIELDS
1035 }; 1040 };