Mercurial > audlegacy
changeset 3753:22d71f986b86
export AudDRCT API.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Sun, 14 Oct 2007 17:47:13 -0500 |
parents | 21a86c4ad40c |
children | 74bed6b35161 |
files | src/audacious/auddrct.c src/audacious/auddrct.h src/audacious/main.c src/audacious/plugin.h src/audacious/pluginenum.c |
diffstat | 5 files changed, 289 insertions(+), 118 deletions(-) [+] |
line wrap: on
line diff
--- a/src/audacious/auddrct.c Sun Oct 14 16:58:43 2007 -0500 +++ b/src/audacious/auddrct.c Sun Oct 14 17:47:13 2007 -0500 @@ -36,14 +36,14 @@ /* player */ void -audacious_drct_quit ( void ) +drct_quit ( void ) { mainwin_quit_cb(); return; } void -audacious_drct_eject ( void ) +drct_eject ( void ) { if (has_x11_connection) mainwin_eject_pushed(); @@ -51,7 +51,7 @@ } void -audacious_drct_jtf_show ( void ) +drct_jtf_show ( void ) { if (has_x11_connection) ui_jump_to_track(); @@ -59,13 +59,13 @@ } gboolean -audacious_drct_main_win_is_visible ( void ) +drct_main_win_is_visible ( void ) { return cfg.player_visible; } void -audacious_drct_main_win_toggle ( gboolean show ) +drct_main_win_toggle ( gboolean show ) { if (has_x11_connection) mainwin_show(show); @@ -73,13 +73,13 @@ } gboolean -audacious_drct_eq_win_is_visible ( void ) +drct_eq_win_is_visible ( void ) { return cfg.equalizer_visible; } void -audacious_drct_eq_win_toggle ( gboolean show ) +drct_eq_win_toggle ( gboolean show ) { if (has_x11_connection) equalizerwin_show(show); @@ -87,13 +87,13 @@ } gboolean -audacious_drct_pl_win_is_visible ( void ) +drct_pl_win_is_visible ( void ) { return cfg.playlist_visible; } void -audacious_drct_pl_win_toggle ( gboolean show ) +drct_pl_win_toggle ( gboolean show ) { if (has_x11_connection) { if (show) @@ -104,13 +104,13 @@ return; } -void audacious_drct_set_skin(gchar *skinfile) +void drct_set_skin(gchar *skinfile) { if (has_x11_connection) bmp_active_skin_load(skinfile); } -void audacious_drct_activate(void) +void drct_activate(void) { gtk_window_present(GTK_WINDOW(mainwin)); } @@ -118,7 +118,7 @@ /* playback */ void -audacious_drct_play ( void ) +drct_play ( void ) { if (playback_get_paused()) playback_pause(); @@ -130,14 +130,14 @@ } void -audacious_drct_pause ( void ) +drct_pause ( void ) { playback_pause(); return; } void -audacious_drct_stop ( void ) +drct_stop ( void ) { ip_data.stop = TRUE; playback_stop(); @@ -147,31 +147,31 @@ } gboolean -audacious_drct_get_playing ( void ) +drct_get_playing ( void ) { return playback_get_playing(); } gboolean -audacious_drct_get_paused ( void ) +drct_get_paused ( void ) { return playback_get_paused(); } gboolean -audacious_drct_get_stopped ( void ) +drct_get_stopped ( void ) { return !playback_get_playing(); } void -audacious_drct_get_info( gint *rate, gint *freq, gint *nch) +drct_get_info( gint *rate, gint *freq, gint *nch) { playback_get_sample_params(rate, freq, nch); } gint -audacious_drct_get_time ( void ) +drct_get_time ( void ) { gint time; if (playback_get_playing()) @@ -182,7 +182,7 @@ } void -audacious_drct_seek ( guint pos ) +drct_seek ( guint pos ) { if (playlist_get_current_length(playlist_get_active()) > 0 && pos < (guint)playlist_get_current_length(playlist_get_active())) @@ -191,14 +191,14 @@ } void -audacious_drct_get_volume ( gint *vl, gint *vr ) +drct_get_volume ( gint *vl, gint *vr ) { input_get_volume(vl, vr); return; } void -audacious_drct_set_volume ( gint vl, gint vr ) +drct_set_volume ( gint vl, gint vr ) { if (vl > 100) vl = 100; @@ -209,19 +209,19 @@ } void -audacious_drct_get_volume_main( gint *v ) +drct_get_volume_main( gint *v ) { gint vl, vr; - audacious_drct_get_volume(&vl, &vr); + drct_get_volume(&vl, &vr); *v = (vl > vr) ? vl : vr; return; } void -audacious_drct_set_volume_main ( gint v ) +drct_set_volume_main ( gint v ) { gint b, vl, vr; - audacious_drct_get_volume_balance(&b); + drct_get_volume_balance(&b); if (b < 0) { vl = v; vr = (v * (100 - abs(b))) / 100; @@ -232,11 +232,11 @@ } else vl = vr = v; - audacious_drct_set_volume(vl, vr); + drct_set_volume(vl, vr); } void -audacious_drct_get_volume_balance ( gint *b ) +drct_get_volume_balance ( gint *b ) { gint vl, vr; input_get_volume(&vl, &vr); @@ -252,14 +252,14 @@ } void -audacious_drct_set_volume_balance ( gint b ) +drct_set_volume_balance ( gint b ) { gint v, vl, vr; if (b < -100) b = -100; if (b > 100) b = 100; - audacious_drct_get_volume_main(&v); + drct_get_volume_main(&v); if (b < 0) { vl = v; vr = (v * (100 - abs(b))) / 100; @@ -273,7 +273,7 @@ vl = v; vr = v; } - audacious_drct_set_volume(vl, vr); + drct_set_volume(vl, vr); return; } @@ -281,71 +281,71 @@ /* playlist */ void -audacious_drct_pl_next ( void ) +drct_pl_next ( void ) { playlist_next(playlist_get_active()); return; } void -audacious_drct_pl_prev ( void ) +drct_pl_prev ( void ) { playlist_prev(playlist_get_active()); return; } gboolean -audacious_drct_pl_repeat_is_enabled( void ) +drct_pl_repeat_is_enabled( void ) { return cfg.repeat; } void -audacious_drct_pl_repeat_toggle( void ) +drct_pl_repeat_toggle( void ) { mainwin_repeat_pushed(!cfg.repeat); return; } gboolean -audacious_drct_pl_repeat_is_shuffled( void ) +drct_pl_repeat_is_shuffled( void ) { return cfg.shuffle; } void -audacious_drct_pl_shuffle_toggle( void ) +drct_pl_shuffle_toggle( void ) { mainwin_shuffle_pushed(!cfg.shuffle); return; } gchar * -audacious_drct_pl_get_title( gint pos ) +drct_pl_get_title( gint pos ) { return playlist_get_songtitle(playlist_get_active(), pos); } gint -audacious_drct_pl_get_time( gint pos ) +drct_pl_get_time( gint pos ) { return playlist_get_songtime(playlist_get_active(), pos); } gint -audacious_drct_pl_get_pos( void ) +drct_pl_get_pos( void ) { return playlist_get_position_nolock(playlist_get_active()); } gchar * -audacious_drct_pl_get_file( gint pos ) +drct_pl_get_file( gint pos ) { return playlist_get_filename(playlist_get_active(), pos); } void -audacious_drct_pl_add ( GList * list ) +drct_pl_add ( GList * list ) { GList *node = list; while ( node != NULL ) @@ -357,7 +357,7 @@ } void -audacious_drct_pl_clear ( void ) +drct_pl_clear ( void ) { playlist_clear(playlist_get_active()); mainwin_clear_song_info(); @@ -367,7 +367,7 @@ /* following functions are not tested yet. be careful. --yaz */ void -audacious_drct_pl_delete ( gint pos ) +drct_pl_delete ( gint pos ) { GDK_THREADS_ENTER(); playlist_delete_index(playlist_get_active(), pos); @@ -375,7 +375,7 @@ } void -audacious_drct_pl_set_pos( gint pos ) +drct_pl_set_pos( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -383,19 +383,19 @@ } gint -audacious_drct_pl_get_length( void ) +drct_pl_get_length( void ) { return playlist_get_length(playlist_get_active()); } void -audacious_drct_pl_ins_url_string( gchar * string, gint pos ) +drct_pl_ins_url_string( gchar * string, gint pos ) { playlist_ins_url(playlist_get_active(), string, pos); } void -audacious_drct_pl_add_url_string( gchar * string ) +drct_pl_add_url_string( gchar * string ) { GDK_THREADS_ENTER(); playlist_add_url(playlist_get_active(), string); @@ -403,7 +403,7 @@ } void -audacious_drct_pl_enqueue_to_temp( gchar * string ) +drct_pl_enqueue_to_temp( gchar * string ) { Playlist *new_pl = playlist_new(); @@ -416,13 +416,13 @@ /* playqueue */ gint -audacious_drct_pq_get_length( void ) +drct_pq_get_length( void ) { return playlist_queue_get_length(playlist_get_active()); } void -audacious_drct_pq_add( gint pos ) +drct_pq_add( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -430,7 +430,7 @@ } void -audacious_drct_pq_remove( gint pos ) +drct_pq_remove( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -438,25 +438,25 @@ } void -audacious_drct_pq_clear( void ) +drct_pq_clear( void ) { playlist_clear_queue(playlist_get_active()); } gboolean -audacious_drct_pq_is_queued( gint pos ) +drct_pq_is_queued( gint pos ) { return playlist_is_position_queued(playlist_get_active(), pos); } gint -audacious_drct_pq_get_position( gint pos ) +drct_pq_get_position( gint pos ) { return playlist_get_queue_position_number(playlist_get_active(), pos); } gint -audaciuos_drct_pq_get_queue_position( gint pos ) +drct_pq_get_queue_position( gint pos ) { return playlist_get_queue_position_number(playlist_get_active(), pos); }
--- a/src/audacious/auddrct.h Sun Oct 14 16:58:43 2007 -0500 +++ b/src/audacious/auddrct.h Sun Oct 14 17:47:13 2007 -0500 @@ -27,63 +27,63 @@ #include <glib.h> /* player */ -void audacious_drct_quit ( void ); -void audacious_drct_eject ( void ); -void audacious_drct_jtf_show ( void ); -gboolean audacious_drct_main_win_is_visible ( void ); -void audacious_drct_main_win_toggle ( gboolean ); -gboolean audacious_drct_eq_win_is_visible ( void ); -void audacious_drct_eq_win_toggle ( gboolean ); -gboolean audacious_drct_pl_win_is_visible ( void ); -void audacious_drct_pl_win_toggle ( gboolean ); -void audacious_drct_set_skin(gchar *skinfile); -void audacious_drct_activate(void); +void drct_quit ( void ); +void drct_eject ( void ); +void drct_jtf_show ( void ); +gboolean drct_main_win_is_visible ( void ); +void drct_main_win_toggle ( gboolean ); +gboolean drct_eq_win_is_visible ( void ); +void drct_eq_win_toggle ( gboolean ); +gboolean drct_pl_win_is_visible ( void ); +void drct_pl_win_toggle ( gboolean ); +void drct_set_skin(gchar *skinfile); +void drct_activate(void); /* playback */ -void audacious_drct_play ( void ); -void audacious_drct_pause ( void ); -void audacious_drct_stop ( void ); -gboolean audacious_drct_get_playing ( void ); -gboolean audacious_drct_get_paused ( void ); -gboolean audacious_drct_get_stopped ( void ); -void audacious_drct_get_info( gint *rate, gint *freq, gint *nch); -gint audacious_drct_get_time ( void ); -void audacious_drct_seek ( guint pos ); -void audacious_drct_get_volume( gint *vl, gint *vr ); -void audacious_drct_set_volume( gint vl, gint vr ); -void audacious_drct_get_volume_main( gint *v ); -void audacious_drct_set_volume_main( gint v ); -void audacious_drct_get_volume_balance( gint *b ); -void audacious_drct_set_volume_balance( gint b ); +void drct_play ( void ); +void drct_pause ( void ); +void drct_stop ( void ); +gboolean drct_get_playing ( void ); +gboolean drct_get_paused ( void ); +gboolean drct_get_stopped ( void ); +void drct_get_info( gint *rate, gint *freq, gint *nch); +gint drct_get_time ( void ); +void drct_seek ( guint pos ); +void drct_get_volume( gint *vl, gint *vr ); +void drct_set_volume( gint vl, gint vr ); +void drct_get_volume_main( gint *v ); +void drct_set_volume_main( gint v ); +void drct_get_volume_balance( gint *b ); +void drct_set_volume_balance( gint b ); /* playlist */ -void audacious_drct_pl_next( void ); -void audacious_drct_pl_prev( void ); -gboolean audacious_drct_pl_repeat_is_enabled ( void ); -void audacious_drct_pl_repeat_toggle ( void ); -gboolean audacious_drct_pl_repeat_is_shuffled ( void ); -void audacious_drct_pl_shuffle_toggle ( void ); -gchar *audacious_drct_pl_get_title( gint pos ); -gint audacious_drct_pl_get_time( gint pos ); -gint audacious_drct_pl_get_pos( void ); -gchar *audacious_drct_pl_get_file( gint pos ); -void audacious_drct_pl_add ( GList * list ); -void audacious_drct_pl_clear ( void ); -gint audacious_drct_pl_get_length( void ); -void audacious_drct_pl_delete ( gint pos ); -void audacious_drct_pl_set_pos( gint pos ); -void audacious_drct_pl_ins_url_string( gchar * string, gint pos ); -void audacious_drct_pl_add_url_string( gchar * string ); -void audacious_drct_pl_enqueue_to_temp( gchar * string ); +void drct_pl_next( void ); +void drct_pl_prev( void ); +gboolean drct_pl_repeat_is_enabled ( void ); +void drct_pl_repeat_toggle ( void ); +gboolean drct_pl_repeat_is_shuffled ( void ); +void drct_pl_shuffle_toggle ( void ); +gchar *drct_pl_get_title( gint pos ); +gint drct_pl_get_time( gint pos ); +gint drct_pl_get_pos( void ); +gchar *drct_pl_get_file( gint pos ); +void drct_pl_add ( GList * list ); +void drct_pl_clear ( void ); +gint drct_pl_get_length( void ); +void drct_pl_delete ( gint pos ); +void drct_pl_set_pos( gint pos ); +void drct_pl_ins_url_string( gchar * string, gint pos ); +void drct_pl_add_url_string( gchar * string ); +void drct_pl_enqueue_to_temp( gchar * string ); /* playqueue */ -gint audacious_drct_pq_get_length( void ); -void audacious_drct_pq_add( gint pos ); -void audacious_drct_pq_remove( gint pos ); -void audacious_drct_pq_clear( void ); -gboolean audacious_drct_pq_is_queued( gint pos ); -gint audacious_drct_pq_get_position( gint pos ); -gint audaciuos_drct_pq_get_queue_position( gint pos ); +gint drct_pq_get_length( void ); +void drct_pq_add( gint pos ); +void drct_pq_remove( gint pos ); +void drct_pq_clear( void ); +gboolean drct_pq_is_queued( gint pos ); +gint drct_pq_get_position( gint pos ); +gint drct_pq_get_queue_position( gint pos ); /* adjust naming scheme to audacious_remote_* functions */ #define audacious_drct_show_jtf_box audacious_drct_jtf_show
--- a/src/audacious/main.c Sun Oct 14 16:58:43 2007 -0500 +++ b/src/audacious/main.c Sun Oct 14 17:47:13 2007 -0500 @@ -1184,35 +1184,35 @@ audacious_remote_activate(session); } else { if (options->rew) - audacious_drct_playlist_prev(); + drct_pl_prev(); if (options->play) - audacious_drct_play(); + drct_play(); if (options->pause) - audacious_drct_pause(); + drct_pause(); if (options->stop) - audacious_drct_stop(); + drct_stop(); if (options->fwd) - audacious_drct_playlist_next(); + drct_pl_next(); if (options->play_pause) { - if (audacious_drct_get_paused()) - audacious_drct_play(); + if (drct_get_paused()) + drct_play(); else - audacious_drct_pause(); + drct_pause(); } if (options->show_jump_box) - audacious_drct_show_jtf_box(); + drct_jtf_show(); if (options->mainwin) - audacious_drct_main_win_toggle(TRUE); + drct_main_win_toggle(TRUE); if (options->activate) - audacious_drct_activate(); + drct_activate(); } if(remote) {
--- a/src/audacious/plugin.h Sun Oct 14 16:58:43 2007 -0500 +++ b/src/audacious/plugin.h Sun Oct 14 17:47:13 2007 -0500 @@ -474,6 +474,65 @@ gint (*menu_plugin_item_add)(gint, GtkWidget *); gint (*menu_plugin_item_remove)(gint, GtkWidget *); + /* DRCT API. */ + void (*drct_quit) ( void ); + void (*drct_eject) ( void ); + void (*drct_jtf_show) ( void ); + gboolean (*drct_main_win_is_visible)( void ); + void (*drct_main_win_toggle) ( gboolean ); + gboolean (*drct_eq_win_is_visible)( void ); + void (*drct_eq_win_toggle) ( gboolean ); + gboolean (*drct_pl_win_is_visible)( void ); + void (*drct_pl_win_toggle) ( gboolean ); + void (*drct_set_skin)(gchar *skinfile); + void (*drct_activate)(void); + + /* DRCT API: playback */ + void (*drct_play) ( void ); + void (*drct_pause) ( void ); + void (*drct_stop) ( void ); + gboolean (*drct_get_playing)( void ); + gboolean (*drct_get_paused)( void ); + gboolean (*drct_get_stopped)( void ); + void (*drct_get_info)( gint *rate, gint *freq, gint *nch); + gint (*drct_get_time )( void ); + void (*drct_seek) ( guint pos ); + void (*drct_get_volume)( gint *vl, gint *vr ); + void (*drct_set_volume)( gint vl, gint vr ); + void (*drct_get_volume_main)( gint *v ); + void (*drct_set_volume_main)( gint v ); + void (*drct_get_volume_balance)( gint *b ); + void (*drct_set_volume_balance)( gint b ); + + /* DRCT API: playlist */ + void (*drct_pl_next)( void ); + void (*drct_pl_prev)( void ); + gboolean (*drct_pl_repeat_is_enabled)( void ); + void (*drct_pl_repeat_toggle) ( void ); + gboolean (*drct_pl_repeat_is_shuffled)( void ); + void (*drct_pl_shuffle_toggle) ( void ); + gchar *(*drct_pl_get_title)( gint pos ); + gint (*drct_pl_get_time)( gint pos ); + gint (*drct_pl_get_pos)( void ); + gchar *(*drct_pl_get_file)( gint pos ); + void (*drct_pl_add) ( GList * list ); + void (*drct_pl_clear) ( void ); + gint (*drct_pl_get_length)( void ); + void (*drct_pl_delete) ( gint pos ); + void (*drct_pl_set_pos)( gint pos ); + void (*drct_pl_ins_url_string)( gchar * string, gint pos ); + void (*drct_pl_add_url_string)( gchar * string ); + void (*drct_pl_enqueue_to_temp)( gchar * string ); + + /* DRCT API: playqueue */ + gint (*drct_pq_get_length)( void ); + void (*drct_pq_add)( gint pos ); + void (*drct_pq_remove)( gint pos ); + void (*drct_pq_clear)( void ); + gboolean (*drct_pq_is_queued)( gint pos ); + gint (*drct_pq_get_position)( gint pos ); + gint (*drct_pq_get_queue_position)( gint pos ); + }; /* Convenience macros for accessing the public API. */ @@ -714,6 +773,63 @@ #define aud_menu_plugin_item_add _audvt->menu_plugin_item_add #define aud_menu_plugin_item_remove _audvt->menu_plugin_item_remove +#define audacious_drct_quit _audvt->drct_quit +#define audacious_drct_eject _audvt->drct_eject +#define audacious_drct_jtf_show _audvt->drct_jtf_show +#define audacious_drct_main_win_is_visible _audvt->drct_main_win_is_visible +#define audacious_drct_main_win_toggle _audvt->drct_main_win_toggle +#define audacious_drct_eq_win_is_visible _audvt->drct_eq_win_is_visible +#define audacious_drct_eq_win_toggle _audvt->drct_eq_win_toggle +#define audacious_drct_pl_win_is_visible _audvt->drct_pl_win_is_visible +#define audacious_drct_pl_win_toggle _audvt->drct_pl_win_toggle +#define audacious_drct_set_skin _audvt->drct_set_skin +#define audacious_drct_activate _audvt->drct_activate + +#define audacious_drct_play _audvt->drct_play +#define audacious_drct_pause _audvt->drct_pause +#define audacious_drct_stop _audvt->drct_stop +#define audacious_drct_get_playing _audvt->drct_get_playing +#define audacious_drct_get_paused _audvt->drct_get_paused +#define audacious_drct_get_stopped _audvt->drct_get_stopped +#define audacious_drct_get_info _audvt->drct_get_info +#define audacious_drct_get_time _audvt->drct_get_time +#define audacious_drct_seek _audvt->drct_seek +#define audacious_drct_get_volume _audvt->drct_get_volume +#define audacious_drct_set_volume _audvt->drct_set_volume +#define audacious_drct_get_volume_main _audvt->drct_get_volume_main +#define audacious_drct_set_volume_main _audvt->drct_set_volume_main +#define audacious_drct_get_volume_balance _audvt->drct_get_volume_balance +#define audacious_drct_set_volume_balance _audvt->drct_set_volume_balance + +#define audacious_drct_pl_next _audvt->drct_pl_next +#define audacious_drct_pl_prev _audvt->drct_pl_prev +#define audacious_drct_pl_repeat_is_enabled _audvt->drct_pl_repeat_is_enabled +#define audacious_drct_pl_repeat_toggle _audvt->drct_pl_repeat_toggle +#define audacious_drct_pl_repeat_is_shuffled _audvt->drct_pl_repeat_is_shuffled +#define audacious_drct_pl_shuffle_toggle _audvt->drct_pl_shuffle_toggle +#define audacious_drct_pl_get_title _audvt->drct_pl_get_title +#define audacious_drct_pl_get_time _audvt->drct_pl_get_time +#define audacious_drct_pl_get_pos _audvt->drct_pl_get_pos +#define audacious_drct_pl_get_file _audvt->drct_pl_get_file +#define audacious_drct_pl_add _audvt->drct_pl_add +#define audacious_drct_pl_clear _audvt->drct_pl_clear +#define audacious_drct_pl_get_length _audvt->drct_pl_get_length +#define audacious_drct_pl_delete _audvt->drct_pl_delete +#define audacious_drct_pl_set_pos _audvt->drct_pl_set_pos +#define audacious_drct_pl_ins_url_string _audvt->drct_pl_ins_url_string +#define audacious_drct_pl_add_url_string _audvt->drct_pl_add_url_string +#define audacious_drct_pl_enqueue_to_temp _audvt->drct_pl_enqueue_to_temp + +#define audacious_drct_pq_get_length _audvt->drct_pq_get_length +#define audacious_drct_pq_add _audvt->drct_pq_add +#define audacious_drct_pq_remove _audvt->drct_pq_remove +#define audacious_drct_pq_clear _audvt->drct_pq_clear +#define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued +#define audacious_drct_pq_get_position _audvt->drct_pq_get_position +#define audacious_drct_pq_get_queue_position _audvt->drct_pq_get_queue_position + +#include "audacious/auddrct.h" + /* for multi-file plugins :( */ extern struct _AudaciousFuncTableV1 *_audvt;
--- a/src/audacious/pluginenum.c Sun Oct 14 16:58:43 2007 -0500 +++ b/src/audacious/pluginenum.c Sun Oct 14 17:47:13 2007 -0500 @@ -282,6 +282,61 @@ .menu_plugin_item_add = menu_plugin_item_add, .menu_plugin_item_remove = menu_plugin_item_remove, + + .drct_quit = drct_quit, + .drct_eject = drct_eject, + .drct_jtf_show = drct_jtf_show, + .drct_main_win_is_visible = drct_main_win_is_visible, + .drct_main_win_toggle = drct_main_win_toggle, + .drct_eq_win_is_visible = drct_eq_win_is_visible, + .drct_eq_win_toggle = drct_eq_win_toggle, + .drct_pl_win_is_visible = drct_pl_win_is_visible, + .drct_pl_win_toggle = drct_pl_win_toggle, + .drct_set_skin = drct_set_skin, + .drct_activate = drct_activate, + + .drct_play = drct_play, + .drct_pause = drct_pause, + .drct_stop = drct_stop, + .drct_get_playing = drct_get_playing, + .drct_get_paused = drct_get_paused, + .drct_get_stopped = drct_get_stopped, + .drct_get_info = drct_get_info, + .drct_get_time = drct_get_time, + .drct_seek = drct_seek, + .drct_get_volume = drct_get_volume, + .drct_set_volume = drct_set_volume, + .drct_get_volume_main = drct_get_volume_main, + .drct_set_volume_main = drct_set_volume_main, + .drct_get_volume_balance = drct_get_volume_balance, + .drct_set_volume_balance = drct_set_volume_balance, + + .drct_pl_next = drct_pl_next, + .drct_pl_prev = drct_pl_prev, + .drct_pl_repeat_is_enabled = drct_pl_repeat_is_enabled, + .drct_pl_repeat_toggle = drct_pl_repeat_toggle, + .drct_pl_repeat_is_shuffled = drct_pl_repeat_is_shuffled, + .drct_pl_shuffle_toggle = drct_pl_shuffle_toggle, + .drct_pl_get_title = drct_pl_get_title, + .drct_pl_get_time = drct_pl_get_time, + .drct_pl_get_pos = drct_pl_get_pos, + .drct_pl_get_file = drct_pl_get_file, + .drct_pl_add = drct_pl_add, + .drct_pl_clear = drct_pl_clear, + .drct_pl_get_length = drct_pl_get_length, + .drct_pl_delete = drct_pl_delete, + .drct_pl_set_pos = drct_pl_set_pos, + .drct_pl_ins_url_string = drct_pl_ins_url_string, + .drct_pl_add_url_string = drct_pl_add_url_string, + .drct_pl_enqueue_to_temp = drct_pl_enqueue_to_temp, + + .drct_pq_get_length = drct_pq_get_length, + .drct_pq_add = drct_pq_add, + .drct_pq_remove = drct_pq_remove, + .drct_pq_clear = drct_pq_clear, + .drct_pq_is_queued = drct_pq_is_queued, + .drct_pq_get_position = drct_pq_get_position, + .drct_pq_get_queue_position = drct_pq_get_queue_position, }; /*****************************************************************/