comparison src/audacious/plugin.h @ 3754:74bed6b35161

export formatter and prefswin APIs
author William Pitcock <nenolod@atheme.org>
date Sun, 14 Oct 2007 19:38:49 -0500
parents 22d71f986b86
children 2ca446f02d97
comparison
equal deleted inserted replaced
3753:22d71f986b86 3754:74bed6b35161
96 #include "audacious/mime.h" 96 #include "audacious/mime.h"
97 #include "audacious/custom_uri.h" 97 #include "audacious/custom_uri.h"
98 #include "audacious/hook.h" 98 #include "audacious/hook.h"
99 #include "audacious/xconvert.h" 99 #include "audacious/xconvert.h"
100 #include "audacious/ui_plugin_menu.h" 100 #include "audacious/ui_plugin_menu.h"
101 #include "audacious/formatter.h"
101 102
102 #define PLUGIN_COMMON_FIELDS \ 103 #define PLUGIN_COMMON_FIELDS \
103 gpointer handle; \ 104 gpointer handle; \
104 gchar *filename; \ 105 gchar *filename; \
105 gchar *description; \ 106 gchar *description; \
531 void (*drct_pq_clear)( void ); 532 void (*drct_pq_clear)( void );
532 gboolean (*drct_pq_is_queued)( gint pos ); 533 gboolean (*drct_pq_is_queued)( gint pos );
533 gint (*drct_pq_get_position)( gint pos ); 534 gint (*drct_pq_get_position)( gint pos );
534 gint (*drct_pq_get_queue_position)( gint pos ); 535 gint (*drct_pq_get_queue_position)( gint pos );
535 536
537 /* Formatter API */
538 Formatter *(*formatter_new)(void);
539 void (*formatter_destroy)(Formatter * formatter);
540 void (*formatter_associate)(Formatter * formatter, guchar id,
541 gchar * value);
542 void (*formatter_dissociate)(Formatter * formatter, guchar id);
543 gchar *(*formatter_format)(Formatter * formatter, gchar * format);
544
545 gint (*prefswin_page_new)(GtkWidget *container, gchar *name, gchar *imgurl);
546 void (*prefswin_page_destroy)(GtkWidget *container);
536 }; 547 };
537 548
538 /* Convenience macros for accessing the public API. */ 549 /* Convenience macros for accessing the public API. */
539 /* public name vtable mapping */ 550 /* public name vtable mapping */
540 #define aud_vfs_fopen _audvt->vfs_fopen 551 #define aud_vfs_fopen _audvt->vfs_fopen
826 #define audacious_drct_pq_clear _audvt->drct_pq_clear 837 #define audacious_drct_pq_clear _audvt->drct_pq_clear
827 #define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued 838 #define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued
828 #define audacious_drct_pq_get_position _audvt->drct_pq_get_position 839 #define audacious_drct_pq_get_position _audvt->drct_pq_get_position
829 #define audacious_drct_pq_get_queue_position _audvt->drct_pq_get_queue_position 840 #define audacious_drct_pq_get_queue_position _audvt->drct_pq_get_queue_position
830 841
842 #define aud_formatter_new _audvt->formatter_new
843 #define aud_formatter_destroy _audvt->formatter_destroy
844 #define aud_formatter_associate _audvt->formatter_associate
845 #define aud_formatter_dissociate _audvt->formatter_dissociate
846 #define aud_formatter_format _audvt->formatter_format
847
848 #define aud_prefswin_page_new _audvt->prefswin_page_new
849 #define aud_prefswin_page_destroy _audvt->prefswin_page_destroy
850
831 #include "audacious/auddrct.h" 851 #include "audacious/auddrct.h"
832 852
833 /* for multi-file plugins :( */ 853 /* for multi-file plugins :( */
834 extern struct _AudaciousFuncTableV1 *_audvt; 854 extern struct _AudaciousFuncTableV1 *_audvt;
835 855