Mercurial > audlegacy
comparison src/audacious/plugin.h @ 3735:d41d03630f27
export PlaylistContainer API in vtable.
| author | William Pitcock <nenolod@atheme.org> |
|---|---|
| date | Sat, 13 Oct 2007 20:35:58 -0500 |
| parents | e82ec5cb017c |
| children | 269449ad845e |
comparison
equal
deleted
inserted
replaced
| 3734:e82ec5cb017c | 3735:d41d03630f27 |
|---|---|
| 40 #include "audacious/vfs.h" | 40 #include "audacious/vfs.h" |
| 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 | 46 |
| 46 #define PLUGIN(x) ((Plugin *)(x)) | 47 #define PLUGIN(x) ((Plugin *)(x)) |
| 47 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) | 48 #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) |
| 48 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) | 49 #define OUTPUT_PLUGIN(x) ((OutputPlugin *)(x)) |
| 49 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) | 50 #define EFFECT_PLUGIN(x) ((EffectPlugin *)(x)) |
| 306 | 307 |
| 307 gchar *(*chardet_to_utf8)(const gchar *str, gssize len, | 308 gchar *(*chardet_to_utf8)(const gchar *str, gssize len, |
| 308 gsize *arg_bytes_read, gsize *arg_bytes_write, | 309 gsize *arg_bytes_read, gsize *arg_bytes_write, |
| 309 GError **arg_error); | 310 GError **arg_error); |
| 310 | 311 |
| 312 /* PlaylistContainer API. */ | |
| 313 void (*playlist_container_register)(PlaylistContainer *plc); | |
| 314 void (*playlist_container_unregister)(PlaylistContainer *plc); | |
| 315 void (*playlist_container_read)(gchar *filename, gint pos); | |
| 316 void (*playlist_container_write)(gchar *filename, gint pos); | |
| 317 PlaylistContainer *(*playlist_container_find)(gchar *ext); | |
| 311 }; | 318 }; |
| 312 | 319 |
| 313 /* Convenience macros for accessing the public API. */ | 320 /* Convenience macros for accessing the public API. */ |
| 314 /* public name vtable mapping */ | 321 /* public name vtable mapping */ |
| 315 #define aud_vfs_fopen _audvt->vfs_fopen | 322 #define aud_vfs_fopen _audvt->vfs_fopen |
| 410 #define aud_str_to_utf8 _audvt->str_to_utf8 | 417 #define aud_str_to_utf8 _audvt->str_to_utf8 |
| 411 #define aud_str_skip_chars _audvt->str_skip_chars | 418 #define aud_str_skip_chars _audvt->str_skip_chars |
| 412 #define aud_convert_title_text _audvt->convert_title_text | 419 #define aud_convert_title_text _audvt->convert_title_text |
| 413 #define aud_chardet_to_utf8 _audvt->chardet_to_utf8 | 420 #define aud_chardet_to_utf8 _audvt->chardet_to_utf8 |
| 414 | 421 |
| 422 #define aud_playlist_container_register _audvt->playlist_container_register | |
| 423 #define aud_playlist_container_unregister _audvt->playlist_container_unregister | |
| 424 #define aud_playlist_container_read _audvt->playlist_container_read | |
| 425 #define aud_playlist_container_write _audvt->playlist_container_write | |
| 426 #define aud_playlist_container_find _audvt->playlist_container_find | |
| 427 | |
| 415 /* for multi-file plugins :( */ | 428 /* for multi-file plugins :( */ |
| 416 extern struct _AudaciousFuncTableV1 *_audvt; | 429 extern struct _AudaciousFuncTableV1 *_audvt; |
| 417 | 430 |
| 418 #define DECLARE_PLUGIN(name, init, fini, ...) \ | 431 #define DECLARE_PLUGIN(name, init, fini, ...) \ |
| 419 G_BEGIN_DECLS \ | 432 G_BEGIN_DECLS \ |
