comparison src/audacious/plugin.h @ 3753:22d71f986b86

export AudDRCT API.
author William Pitcock <nenolod@atheme.org>
date Sun, 14 Oct 2007 17:47:13 -0500
parents 0fb35f6cc4b7
children 74bed6b35161
comparison
equal deleted inserted replaced
3752:21a86c4ad40c 3753:22d71f986b86
472 472
473 /* PluginMenu API */ 473 /* PluginMenu API */
474 gint (*menu_plugin_item_add)(gint, GtkWidget *); 474 gint (*menu_plugin_item_add)(gint, GtkWidget *);
475 gint (*menu_plugin_item_remove)(gint, GtkWidget *); 475 gint (*menu_plugin_item_remove)(gint, GtkWidget *);
476 476
477 /* DRCT API. */
478 void (*drct_quit) ( void );
479 void (*drct_eject) ( void );
480 void (*drct_jtf_show) ( void );
481 gboolean (*drct_main_win_is_visible)( void );
482 void (*drct_main_win_toggle) ( gboolean );
483 gboolean (*drct_eq_win_is_visible)( void );
484 void (*drct_eq_win_toggle) ( gboolean );
485 gboolean (*drct_pl_win_is_visible)( void );
486 void (*drct_pl_win_toggle) ( gboolean );
487 void (*drct_set_skin)(gchar *skinfile);
488 void (*drct_activate)(void);
489
490 /* DRCT API: playback */
491 void (*drct_play) ( void );
492 void (*drct_pause) ( void );
493 void (*drct_stop) ( void );
494 gboolean (*drct_get_playing)( void );
495 gboolean (*drct_get_paused)( void );
496 gboolean (*drct_get_stopped)( void );
497 void (*drct_get_info)( gint *rate, gint *freq, gint *nch);
498 gint (*drct_get_time )( void );
499 void (*drct_seek) ( guint pos );
500 void (*drct_get_volume)( gint *vl, gint *vr );
501 void (*drct_set_volume)( gint vl, gint vr );
502 void (*drct_get_volume_main)( gint *v );
503 void (*drct_set_volume_main)( gint v );
504 void (*drct_get_volume_balance)( gint *b );
505 void (*drct_set_volume_balance)( gint b );
506
507 /* DRCT API: playlist */
508 void (*drct_pl_next)( void );
509 void (*drct_pl_prev)( void );
510 gboolean (*drct_pl_repeat_is_enabled)( void );
511 void (*drct_pl_repeat_toggle) ( void );
512 gboolean (*drct_pl_repeat_is_shuffled)( void );
513 void (*drct_pl_shuffle_toggle) ( void );
514 gchar *(*drct_pl_get_title)( gint pos );
515 gint (*drct_pl_get_time)( gint pos );
516 gint (*drct_pl_get_pos)( void );
517 gchar *(*drct_pl_get_file)( gint pos );
518 void (*drct_pl_add) ( GList * list );
519 void (*drct_pl_clear) ( void );
520 gint (*drct_pl_get_length)( void );
521 void (*drct_pl_delete) ( gint pos );
522 void (*drct_pl_set_pos)( gint pos );
523 void (*drct_pl_ins_url_string)( gchar * string, gint pos );
524 void (*drct_pl_add_url_string)( gchar * string );
525 void (*drct_pl_enqueue_to_temp)( gchar * string );
526
527 /* DRCT API: playqueue */
528 gint (*drct_pq_get_length)( void );
529 void (*drct_pq_add)( gint pos );
530 void (*drct_pq_remove)( gint pos );
531 void (*drct_pq_clear)( void );
532 gboolean (*drct_pq_is_queued)( gint pos );
533 gint (*drct_pq_get_position)( gint pos );
534 gint (*drct_pq_get_queue_position)( gint pos );
535
477 }; 536 };
478 537
479 /* Convenience macros for accessing the public API. */ 538 /* Convenience macros for accessing the public API. */
480 /* public name vtable mapping */ 539 /* public name vtable mapping */
481 #define aud_vfs_fopen _audvt->vfs_fopen 540 #define aud_vfs_fopen _audvt->vfs_fopen
712 #define audacious_menu_plugin_item_add _audvt->menu_plugin_item_add 771 #define audacious_menu_plugin_item_add _audvt->menu_plugin_item_add
713 #define audacious_menu_plugin_item_remove _audvt->menu_plugin_item_remove 772 #define audacious_menu_plugin_item_remove _audvt->menu_plugin_item_remove
714 #define aud_menu_plugin_item_add _audvt->menu_plugin_item_add 773 #define aud_menu_plugin_item_add _audvt->menu_plugin_item_add
715 #define aud_menu_plugin_item_remove _audvt->menu_plugin_item_remove 774 #define aud_menu_plugin_item_remove _audvt->menu_plugin_item_remove
716 775
776 #define audacious_drct_quit _audvt->drct_quit
777 #define audacious_drct_eject _audvt->drct_eject
778 #define audacious_drct_jtf_show _audvt->drct_jtf_show
779 #define audacious_drct_main_win_is_visible _audvt->drct_main_win_is_visible
780 #define audacious_drct_main_win_toggle _audvt->drct_main_win_toggle
781 #define audacious_drct_eq_win_is_visible _audvt->drct_eq_win_is_visible
782 #define audacious_drct_eq_win_toggle _audvt->drct_eq_win_toggle
783 #define audacious_drct_pl_win_is_visible _audvt->drct_pl_win_is_visible
784 #define audacious_drct_pl_win_toggle _audvt->drct_pl_win_toggle
785 #define audacious_drct_set_skin _audvt->drct_set_skin
786 #define audacious_drct_activate _audvt->drct_activate
787
788 #define audacious_drct_play _audvt->drct_play
789 #define audacious_drct_pause _audvt->drct_pause
790 #define audacious_drct_stop _audvt->drct_stop
791 #define audacious_drct_get_playing _audvt->drct_get_playing
792 #define audacious_drct_get_paused _audvt->drct_get_paused
793 #define audacious_drct_get_stopped _audvt->drct_get_stopped
794 #define audacious_drct_get_info _audvt->drct_get_info
795 #define audacious_drct_get_time _audvt->drct_get_time
796 #define audacious_drct_seek _audvt->drct_seek
797 #define audacious_drct_get_volume _audvt->drct_get_volume
798 #define audacious_drct_set_volume _audvt->drct_set_volume
799 #define audacious_drct_get_volume_main _audvt->drct_get_volume_main
800 #define audacious_drct_set_volume_main _audvt->drct_set_volume_main
801 #define audacious_drct_get_volume_balance _audvt->drct_get_volume_balance
802 #define audacious_drct_set_volume_balance _audvt->drct_set_volume_balance
803
804 #define audacious_drct_pl_next _audvt->drct_pl_next
805 #define audacious_drct_pl_prev _audvt->drct_pl_prev
806 #define audacious_drct_pl_repeat_is_enabled _audvt->drct_pl_repeat_is_enabled
807 #define audacious_drct_pl_repeat_toggle _audvt->drct_pl_repeat_toggle
808 #define audacious_drct_pl_repeat_is_shuffled _audvt->drct_pl_repeat_is_shuffled
809 #define audacious_drct_pl_shuffle_toggle _audvt->drct_pl_shuffle_toggle
810 #define audacious_drct_pl_get_title _audvt->drct_pl_get_title
811 #define audacious_drct_pl_get_time _audvt->drct_pl_get_time
812 #define audacious_drct_pl_get_pos _audvt->drct_pl_get_pos
813 #define audacious_drct_pl_get_file _audvt->drct_pl_get_file
814 #define audacious_drct_pl_add _audvt->drct_pl_add
815 #define audacious_drct_pl_clear _audvt->drct_pl_clear
816 #define audacious_drct_pl_get_length _audvt->drct_pl_get_length
817 #define audacious_drct_pl_delete _audvt->drct_pl_delete
818 #define audacious_drct_pl_set_pos _audvt->drct_pl_set_pos
819 #define audacious_drct_pl_ins_url_string _audvt->drct_pl_ins_url_string
820 #define audacious_drct_pl_add_url_string _audvt->drct_pl_add_url_string
821 #define audacious_drct_pl_enqueue_to_temp _audvt->drct_pl_enqueue_to_temp
822
823 #define audacious_drct_pq_get_length _audvt->drct_pq_get_length
824 #define audacious_drct_pq_add _audvt->drct_pq_add
825 #define audacious_drct_pq_remove _audvt->drct_pq_remove
826 #define audacious_drct_pq_clear _audvt->drct_pq_clear
827 #define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued
828 #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
830
831 #include "audacious/auddrct.h"
832
717 /* for multi-file plugins :( */ 833 /* for multi-file plugins :( */
718 extern struct _AudaciousFuncTableV1 *_audvt; 834 extern struct _AudaciousFuncTableV1 *_audvt;
719 835
720 #define DECLARE_PLUGIN(name, init, fini, ...) \ 836 #define DECLARE_PLUGIN(name, init, fini, ...) \
721 G_BEGIN_DECLS \ 837 G_BEGIN_DECLS \