comparison src/audacious/plugin.h @ 3741:a1b31fe5a249

export ip_data and cfg
author William Pitcock <nenolod@atheme.org>
date Sat, 13 Oct 2007 23:43:45 -0500
parents a0add4e37ee0
children e2f8feddbb19
comparison
equal deleted inserted replaced
3740:240669919716 3741:a1b31fe5a249
41 #include "audacious/tuple.h" 41 #include "audacious/tuple.h"
42 #include "audacious/tuple_formatter.h" 42 #include "audacious/tuple_formatter.h"
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 47
47 #define PLUGIN(x) ((Plugin *)(x)) 48 #define PLUGIN(x) ((Plugin *)(x))
48 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) 49 #define INPUT_PLUGIN(x) ((InputPlugin *)(x))
49 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) 50 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x))
50 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) 51 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x))
432 433
433 Playlist *(*playlist_get_active)(void); 434 Playlist *(*playlist_get_active)(void);
434 435
435 gboolean (*playlist_playlists_equal)(Playlist *p1, Playlist *p2); 436 gboolean (*playlist_playlists_equal)(Playlist *p1, Playlist *p2);
436 437
438 /* state vars */
439 InputPluginData *ip_state;
440 BmpConfig *_cfg;
437 }; 441 };
438 442
439 /* Convenience macros for accessing the public API. */ 443 /* Convenience macros for accessing the public API. */
440 /* public name vtable mapping */ 444 /* public name vtable mapping */
441 #define aud_vfs_fopen _audvt->vfs_fopen 445 #define aud_vfs_fopen _audvt->vfs_fopen
647 #define aud_playlist_load_ins_file_tuple _audvt->playlist_load_ins_file_tuple 651 #define aud_playlist_load_ins_file_tuple _audvt->playlist_load_ins_file_tuple
648 652
649 #define aud_playlist_get_active _audvt->playlist_get_active 653 #define aud_playlist_get_active _audvt->playlist_get_active
650 #define aud_playlist_playlists_equal _audvt->playlist_playlists_equal 654 #define aud_playlist_playlists_equal _audvt->playlist_playlists_equal
651 655
656 #define aud_ip_state _audvt->ip_state
657 #define aud_cfg _audvt->_cfg
658
652 /* for multi-file plugins :( */ 659 /* for multi-file plugins :( */
653 extern struct _AudaciousFuncTableV1 *_audvt; 660 extern struct _AudaciousFuncTableV1 *_audvt;
654 661
655 #define DECLARE_PLUGIN(name, init, fini, ...) \ 662 #define DECLARE_PLUGIN(name, init, fini, ...) \
656 G_BEGIN_DECLS \ 663 G_BEGIN_DECLS \