# HG changeset patch # User Yoshiki Yazawa # Date 1193749967 -32400 # Node ID f3341c2d6b9edc00bce0f44762c2785970cd80f2 # Parent b02853ac8466bebfd88f469afdbbe47b0e944ddc audacious remote functions: - playlist_ins_url_string() and playlist_enqueue_to_temp() have been implemented. - now get_version() returns audacious version instead of protocol version. audtool: - now argc check works properly. - some cleanups. diff -r b02853ac8466 -r f3341c2d6b9e src/audacious/dbus-service.h --- a/src/audacious/dbus-service.h Tue Oct 30 18:17:55 2007 +0900 +++ b/src/audacious/dbus-service.h Tue Oct 30 22:12:47 2007 +0900 @@ -111,8 +111,7 @@ /* Legacy API */ // Audacious General Information -gboolean audacious_rc_version(RemoteObject *obj, gchar **version, - GError **error); +gboolean audacious_rc_version(RemoteObject *obj, gchar **version, GError **error); gboolean audacious_rc_quit(RemoteObject *obj, GError **error); gboolean audacious_rc_eject(RemoteObject *obj, GError **error); gboolean audacious_rc_main_win_visible(RemoteObject *obj, @@ -201,10 +200,11 @@ gboolean audacious_rc_playqueue_remove(RemoteObject *obj, gint pos, GError **error); gboolean audacious_rc_playqueue_clear(RemoteObject *obj, GError **error); gboolean audacious_rc_playqueue_is_queued(RemoteObject *obj, gint pos, gboolean *is_queued, GError **error); +gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint pos, GError **error); + /* in progress */ -gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint *pos, GError **error); gboolean audacious_rc_playlist_add(RemoteObject *obj, gpointer list, GError **error); -gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, char *list, gint num, gboolean enqueue, GError **error); +gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, gchar *url, GError **error); #endif // !_DBUS_SERVICE_H diff -r b02853ac8466 -r f3341c2d6b9e src/audacious/dbus.c --- a/src/audacious/dbus.c Tue Oct 30 18:17:55 2007 +0900 +++ b/src/audacious/dbus.c Tue Oct 30 22:12:47 2007 +0900 @@ -486,8 +486,7 @@ } // Audacious General Information -gboolean audacious_rc_version(RemoteObject *obj, gchar **version, - GError **error) { +gboolean audacious_rc_version(RemoteObject *obj, gchar **version, GError **error) { *version = g_strdup(VERSION); return TRUE; } @@ -890,28 +889,45 @@ return TRUE; } - +gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint pos, GError **error) { + if (pos >= 0 && url && strlen(url)) { + playlist_ins_url(playlist_get_active(), url, pos); + } + return TRUE; +} -/* In Progress */ -static void call_add_url(GList *list, gpointer *data) { +static void call_playlist_add_url(GList *list, gpointer *data) { playlist_add_url(playlist_get_active(), list->data); } gboolean audacious_rc_playlist_add(RemoteObject *obj, gpointer list, GError **error) { - g_list_foreach((GList *)list, (GFunc)call_add_url, NULL); + g_list_foreach((GList *)list, (GFunc)call_playlist_add_url, NULL); return TRUE; } -gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, char *list, gint num, gboolean enqueue, GError **error) { +gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, gchar *url, GError **error) { + GList *playlists = NULL; + Playlist *new_pl = playlist_new(); + gchar *pl_name = NULL; + + pl_name = (gchar*)playlist_get_current_name(new_pl); + if(!pl_name) + pl_name = g_strdup("New Playlist"); + playlist_set_current_name(new_pl, pl_name); + g_free(pl_name); + + playlists = playlist_get_playlists(); + playlist_add_playlist(new_pl); + +// DISABLE_MANAGER_UPDATE(); + playlist_select_playlist(new_pl); +// ENABLE_MANAGER_UPDATE(); + + playlist_add_url(new_pl, url); + return TRUE; } -gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint *pos, GError **error) { - if (url && strlen(url)) { - playlist_ins_url(playlist_get_active(), url, *pos); - } - return TRUE; -} /********************************************************************************/ diff -r b02853ac8466 -r f3341c2d6b9e src/audacious/objects.xml --- a/src/audacious/objects.xml Tue Oct 30 18:17:55 2007 +0900 +++ b/src/audacious/objects.xml Tue Oct 30 22:12:47 2007 +0900 @@ -19,7 +19,7 @@