Mercurial > audlegacy
diff src/audacious/plugin.h @ 3738:48a596a86459
export Playlist API, remove old crap that isn't there anymore
| author | William Pitcock <nenolod@atheme.org> |
|---|---|
| date | Sat, 13 Oct 2007 23:01:28 -0500 |
| parents | 269449ad845e |
| children | a0add4e37ee0 |
line wrap: on
line diff
--- a/src/audacious/plugin.h Sat Oct 13 20:46:25 2007 -0500 +++ b/src/audacious/plugin.h Sat Oct 13 23:01:28 2007 -0500 @@ -88,6 +88,7 @@ typedef struct _InputPlayback InputPlayback; +#include "audacious/playlist.h" #include "audacious/mime.h" #include "audacious/custom_uri.h" @@ -316,6 +317,122 @@ void (*playlist_container_read)(gchar *filename, gint pos); void (*playlist_container_write)(gchar *filename, gint pos); PlaylistContainer *(*playlist_container_find)(gchar *ext); + + /* Playlist API */ + PlaylistEntry *(*playlist_entry_new)(const gchar * filename, + const gchar * title, const gint len, + InputPlugin * dec); + void (*playlist_entry_free)(PlaylistEntry * entry); + + void (*playlist_add_playlist)(Playlist *); + void (*playlist_remove_playlist)(Playlist *); + void (*playlist_select_playlist)(Playlist *); + void (*playlist_select_next)(void); + void (*playlist_select_prev)(void); + GList *(*playlist_get_playlists)(void); + + void (*playlist_clear_only)(Playlist *playlist); + void (*playlist_clear)(Playlist *playlist); + void (*playlist_delete)(Playlist *playlist, gboolean crop); + + gboolean (*playlist_add)(Playlist *playlist, const gchar * filename); + gboolean (*playlist_ins)(Playlist *playlist, const gchar * filename, gint pos); + guint (*playlist_add_dir)(Playlist *playlist, const gchar * dir); + guint (*playlist_ins_dir)(Playlist *playlist, const gchar * dir, gint pos, gboolean background); + guint (*playlist_add_url)(Playlist *playlist, const gchar * url); + guint (*playlist_ins_url)(Playlist *playlist, const gchar * string, gint pos); + + void (*playlist_check_pos_current)(Playlist *playlist); + void (*playlist_next)(Playlist *playlist); + void (*playlist_prev)(Playlist *playlist); + void (*playlist_queue)(Playlist *playlist); + void (*playlist_queue_position)(Playlist *playlist, guint pos); + void (*playlist_queue_remove)(Playlist *playlist, guint pos); + gint (*playlist_queue_get_length)(Playlist *playlist); + gboolean (*playlist_is_position_queued)(Playlist *playlist, guint pos); + void (*playlist_clear_queue)(Playlist *playlist); + gint (*playlist_get_queue_position)(Playlist *playlist, PlaylistEntry * entry); + gint (*playlist_get_queue_position_number)(Playlist *playlist, guint pos); + gint (*playlist_get_queue_qposition_number)(Playlist *playlist, guint pos); + void (*playlist_eof_reached)(Playlist *playlist); + void (*playlist_set_position)(Playlist *playlist, guint pos); + gint (*playlist_get_length)(Playlist *playlist); + gint (*playlist_get_position)(Playlist *playlist); + gint (*playlist_get_position_nolock)(Playlist *playlist); + gchar *(*playlist_get_info_text)(Playlist *playlist); + gint (*playlist_get_current_length)(Playlist *playlist); + + gboolean (*playlist_save)(Playlist *playlist, const gchar * filename); + gboolean (*playlist_load)(Playlist *playlist, const gchar * filename); + + void (*playlist_sort)(Playlist *playlist, PlaylistSortType type); + void (*playlist_sort_selected)(Playlist *playlist, PlaylistSortType type); + + void (*playlist_reverse)(Playlist *playlist); + void (*playlist_random)(Playlist *playlist); + void (*playlist_remove_duplicates)(Playlist *playlist, PlaylistDupsType); + void (*playlist_remove_dead_files)(Playlist *playlist); + + void (*playlist_fileinfo_current)(Playlist *playlist); + void (*playlist_fileinfo)(Playlist *playlist, guint pos); + + void (*playlist_delete_index)(Playlist *playlist, guint pos); + void (*playlist_delete_filenames)(Playlist *playlist, GList * filenames); + + PlaylistEntry *(*playlist_get_entry_to_play)(Playlist *playlist); + + gchar *(*playlist_get_filename)(Playlist *playlist, guint pos); + gchar *(*playlist_get_songtitle)(Playlist *playlist, guint pos); + Tuple *(*playlist_get_tuple)(Playlist *playlist, guint pos); + gint (*playlist_get_songtime)(Playlist *playlist, guint pos); + + GList *(*playlist_get_selected)(Playlist *playlist); + int (*playlist_get_num_selected)(Playlist *playlist); + + void (*playlist_get_total_time)(Playlist *playlist, gulong * total_time, gulong * selection_time, + gboolean * total_more, + gboolean * selection_more); + + gint (*playlist_select_search)(Playlist *playlist, Tuple *tuple, gint action); + void (*playlist_select_all)(Playlist *playlist, gboolean set); + void (*playlist_select_range)(Playlist *playlist, gint min, gint max, gboolean sel); + void (*playlist_select_invert_all)(Playlist *playlist); + gboolean (*playlist_select_invert)(Playlist *playlist, guint pos); + + gboolean (*playlist_read_info_selection)(Playlist *playlist); + void (*playlist_read_info)(Playlist *playlist, guint pos); + + void (*playlist_set_shuffle)(gboolean shuffle); + + void (*playlist_clear_selected)(Playlist *playlist); + + GList *(*get_playlist_nth)(Playlist *playlist, guint); + + gboolean (*playlist_set_current_name)(Playlist *playlist, const gchar * title); + const gchar *(*playlist_get_current_name)(Playlist *playlist); + + gboolean (*playlist_filename_set)(Playlist *playlist, const gchar * filename); + + gchar *(*playlist_filename_get)(Playlist *playlist); + + Playlist *(*playlist_new)(void); + void (*playlist_free)(Playlist *playlist); + Playlist *(*playlist_new_from_selected)(void); + + gboolean (*is_playlist_name)(const gchar * filename); + + void (*playlist_load_ins_file)(Playlist *playlist, const gchar * filename, + const gchar * playlist_name, gint pos, + const gchar * title, gint len); + + void (*playlist_load_ins_file_tuple)(Playlist *playlist, const gchar * filename_p, + const gchar * playlist_name, gint pos, + Tuple *tuple); + + Playlist *(*playlist_get_active)(void); + + gboolean (*playlist_playlists_equal)(Playlist *p1, Playlist *p2); + }; /* Convenience macros for accessing the public API. */ @@ -427,6 +544,110 @@ #define aud_playlist_container_write _audvt->playlist_container_write #define aud_playlist_container_find _audvt->playlist_container_find +#define aud_playlist_entry_new _audvt->playlist_entry_new +#define aud_playlist_entry_free _audvt->playlist_entry_free + +#define aud_playlist_add_playlist _audvt->playlist_add_playlist +#define aud_playlist_remove_playlist _audvt->playlist_remove_playlist +#define aud_playlist_select_playlist _audvt->playlist_select_playlist +#define aud_playlist_select_next _audvt->playlist_select_next +#define aud_playlist_select_prev _audvt->playlist_select_prev +#define aud_playlist_get_playlists _audvt->playlist_get_playlists + +#define aud_playlist_clear_only _audvt->playlist_clear_only +#define aud_playlist_clear _audvt->playlist_clear +#define aud_playlist_delete _audvt->playlist_delete + +#define aud_playlist_add _audvt->playlist_add +#define aud_playlist_ins _audvt->playlist_ins +#define aud_playlist_add_dir _audvt->playlist_add_dir +#define aud_playlist_ins_dir _audvt->playlist_ins_dir +#define aud_playlist_add_url _audvt->playlist_add_url +#define aud_playlist_ins_url _audvt->playlist_ins_url + +#define aud_playlist_check_pos_current _audvt->playlist_check_pos_current +#define aud_playlist_next _audvt->playlist_next +#define aud_playlist_prev _audvt->playlist_prev + +#define aud_playlist_queue _audvt->playlist_queue +#define aud_playlist_queue_position _audvt->playlist_queue_position +#define aud_playlist_queue_remove _audvt->playlist_queue_remove +#define aud_playlist_queue_get_length _audvt->playlist_queue_get_length +#define aud_playlist_is_position_queued _audvt->playlist_is_position_queued +#define aud_playlist_clear_queue _audvt->playlist_clear_queue +#define aud_playlist_get_queue_position _audvt->playlist_get_queue_position +#define aud_playlist_get_queue_position_number _audvt->playlist_get_queue_position_number +#define aud_playlist_get_queue_qposition_number _audvt->playlist_get_queue_qposition_number +#define aud_playlist_eof_reached _audvt->playlist_eof_reached +#define aud_playlist_set_position _audvt->playlist_set_position +#define aud_playlist_get_length _audvt->playlist_get_length +#define aud_playlist_get_position _audvt->playlist_get_position +#define aud_playlist_get_position_nolock _audvt->playlist_get_position_nolock +#define aud_playlist_get_info_text _audvt->playlist_get_info_text +#define aud_playlist_get_current_length _audvt->playlist_get_current_length + +#define aud_playlist_save _audvt->playlist_save +#define aud_playlist_load _audvt->playlist_load + +#define aud_playlist_sort _audvt->playlist_sort +#define aud_playlist_sort_selected _audvt->playlist_sort_selected + +#define aud_playlist_reverse _audvt->playlist_reverse +#define aud_playlist_random _audvt->playlist_random +#define aud_playlist_remove_duplicates _audvt->playlist_remove_duplicates +#define aud_playlist_remove_dead_files _audvt->playlist_remove_dead_files + +#define aud_playlist_fileinfo_current _audvt->playlist_fileinfo_current +#define aud_playlist_fileinfo _audvt->playlist_fileinfo + +#define aud_playlist_delete_index _audvt->playlist_delete_index +#define aud_playlist_delete_filenames _audvt->playlist_delete_filenames + +#define aud_playlist_get_entry_to_play _audvt->playlist_get_entry_to_play + +#define aud_playlist_get_filename _audvt->playlist_get_filename +#define aud_playlist_get_songtitle _audvt->playlist_get_songtitle +#define aud_playlist_get_tuple _audvt->playlist_get_tuple +#define aud_playlist_get_songtime _audvt->playlist_get_songtime + +#define aud_playlist_get_selected _audvt->playlist_get_selected +#define aud_playlist_get_num_selected _audvt->playlist_get_num_selected + +#define aud_playlist_get_total_time _audvt->playlist_get_total_time + +#define aud_playlist_select_search _audvt->playlist_select_search +#define aud_playlist_select_all _audvt->playlist_select_all +#define aud_playlist_select_range _audvt->playlist_select_range +#define aud_playlist_select_invert_all _audvt->playlist_select_invert_all +#define aud_playlist_select_invert _audvt->playlist_select_invert + +#define aud_playlist_read_info_selection _audvt->playlist_read_info_selection +#define aud_playlist_read_info _audvt->playlist_read_info + +#define aud_playlist_set_shuffle _audvt->playlist_set_shuffle + +#define aud_playlist_clear_selected _audvt->playlist_clear_selected + +#define aud_get_playlist_nth _audvt->get_playlist_nth + +#define aud_playlist_set_current_name _audvt->playlist_set_current_name +#define aud_playlist_get_current_name _audvt->playlist_get_current_name + +#define aud_playlist_filename_set _audvt->playlist_filename_set +#define aud_playlist_filename_get _audvt->playlist_filename_get + +#define aud_playlist_new _audvt->playlist_new +#define aud_playlist_free _audvt->playlist_free +#define aud_playlist_new_from_selected _audvt->playlist_new_from_selected + +#define aud_is_playlist_name _audvt->is_playlist_name + +#define aud_playlist_load_ins_file _audvt->playlist_load_ins_file +#define aud_playlist_load_ins_file_tuple _audvt->playlist_load_ins_file_tuple + +#define aud_playlist_get_active _audvt->playlist_get_active +#define aud_playlist_playlists_equal _audvt->playlist_playlists_equal + /* for multi-file plugins :( */ extern struct _AudaciousFuncTableV1 *_audvt;
