Mercurial > audlegacy
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 }; |