Mercurial > audlegacy
comparison src/audacious/plugin.h @ 3232:2453bf125b4f trunk
Automated merge with ssh://hg.atheme.org//hg/audacious
| author | William Pitcock <nenolod@atheme-project.org> |
|---|---|
| date | Fri, 03 Aug 2007 20:39:42 -0500 |
| parents | 06baa146fc1d 2619f4c62abe |
| children | 88f602569477 |
comparison
equal
deleted
inserted
replaced
| 3231:06baa146fc1d | 3232:2453bf125b4f |
|---|---|
| 44 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) | 44 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) |
| 45 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) | 45 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) |
| 46 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) | 46 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) |
| 47 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x)) | 47 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x)) |
| 48 #define VIS_PLUGIN(x) ((VisPlugin *)(x)) | 48 #define VIS_PLUGIN(x) ((VisPlugin *)(x)) |
| 49 #define DISCOVERY_PLUGIN(x) ((DiscoveryPlugin *)(x)) | |
| 49 | 50 |
| 50 #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x)) | 51 #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x)) |
| 51 | 52 |
| 52 #define __AUDACIOUS_NEWVFS__ | 53 #define __AUDACIOUS_NEWVFS__ |
| 53 #define __AUDACIOUS_PLUGIN_API__ 4 | 54 #define __AUDACIOUS_PLUGIN_API__ 4 |
| 76 typedef struct _InputPlugin InputPlugin; | 77 typedef struct _InputPlugin InputPlugin; |
| 77 typedef struct _OutputPlugin OutputPlugin; | 78 typedef struct _OutputPlugin OutputPlugin; |
| 78 typedef struct _EffectPlugin EffectPlugin; | 79 typedef struct _EffectPlugin EffectPlugin; |
| 79 typedef struct _GeneralPlugin GeneralPlugin; | 80 typedef struct _GeneralPlugin GeneralPlugin; |
| 80 typedef struct _VisPlugin VisPlugin; | 81 typedef struct _VisPlugin VisPlugin; |
| 81 | 82 typedef struct _DiscoveryPlugin DiscoveryPlugin; |
| 82 typedef struct _LowlevelPlugin LowlevelPlugin; | 83 typedef struct _LowlevelPlugin LowlevelPlugin; |
| 83 | 84 |
| 84 typedef struct _InputPlayback InputPlayback; | 85 typedef struct _InputPlayback InputPlayback; |
| 85 | 86 |
| 86 /* | 87 /* |
| 100 InputPlugin **ip_list; | 101 InputPlugin **ip_list; |
| 101 OutputPlugin **op_list; | 102 OutputPlugin **op_list; |
| 102 EffectPlugin **ep_list; | 103 EffectPlugin **ep_list; |
| 103 GeneralPlugin **gp_list; | 104 GeneralPlugin **gp_list; |
| 104 VisPlugin **vp_list; | 105 VisPlugin **vp_list; |
| 106 DiscoveryPlugin **dp_list; | |
| 105 } PluginHeader; | 107 } PluginHeader; |
| 106 | 108 |
| 107 #define PLUGIN_MAGIC 0x8EAC8DE2 | 109 #define PLUGIN_MAGIC 0x8EAC8DE2 |
| 108 | 110 |
| 109 #define DECLARE_PLUGIN(name, init, fini, ip_list, op_list, ep_list, gp_list, vp_list) \ | 111 #define DECLARE_PLUGIN(name, init, fini, ip_list, op_list, ep_list, gp_list, vp_list, dp_list) \ |
| 110 G_BEGIN_DECLS \ | 112 G_BEGIN_DECLS \ |
| 111 static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \ | 113 static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \ |
| 112 (gchar *)#name, init, fini, NULL, ip_list, op_list, ep_list, gp_list, \ | 114 (gchar *)#name, init, fini, NULL, ip_list, op_list, ep_list, gp_list, \ |
| 113 vp_list }; \ | 115 vp_list,dp_list }; \ |
| 114 G_MODULE_EXPORT PluginHeader *get_plugin_info(void) { \ | 116 G_MODULE_EXPORT PluginHeader *get_plugin_info(void) { \ |
| 115 return &_pluginInfo; \ | 117 return &_pluginInfo; \ |
| 116 } \ | 118 } \ |
| 117 G_END_DECLS | 119 G_END_DECLS |
| 118 | 120 |
| 276 void (*playback_stop) (void); | 278 void (*playback_stop) (void); |
| 277 void (*render_pcm) (gint16 pcm_data[2][512]); | 279 void (*render_pcm) (gint16 pcm_data[2][512]); |
| 278 void (*render_freq) (gint16 freq_data[2][256]); | 280 void (*render_freq) (gint16 freq_data[2][256]); |
| 279 }; | 281 }; |
| 280 | 282 |
| 283 struct _DiscoveryPlugin { | |
| 284 gpointer handle; | |
| 285 gchar *filename; | |
| 286 gchar *description; | |
| 287 | |
| 288 void (*init) (void); | |
| 289 void (*cleanup) (void); | |
| 290 void (*about) (void); | |
| 291 void (*configure) (void); | |
| 292 gchar *(*get_devices); | |
| 293 }; | |
| 281 | 294 |
| 282 G_BEGIN_DECLS | 295 G_BEGIN_DECLS |
| 283 | 296 |
| 284 /* So that input plugins can get the title formatting information */ | 297 /* So that input plugins can get the title formatting information */ |
| 285 G_CONST_RETURN gchar * xmms_get_gentitle_format(void); | 298 G_CONST_RETURN gchar * xmms_get_gentitle_format(void); |
