void cmd_addid (xmmsc_connection_t *conn, gint argc, gchar **argv) { gint i; gchar *playlist = NULL; xmmsc_result_t *res; if (argc < 3) { print_error ("Need a medialib id to add"); } for (i = 2; argv[i]; i++) { guint id = strtoul (argv[i], NULL, 10); if (id) { res = xmmsc_playlist_add_id (conn, playlist, id); xmmsc_result_wait (res); if (xmmsc_result_iserror (res)) { print_error ("Couldn't add %d to playlist: %s", id, xmmsc_result_get_error (res)); } xmmsc_result_unref (res); print_info ("Added medialib id %d to playlist", id); } else if (i == 2) { /* First argument is the playlist name */ playlist = argv[i]; } } }
/* * call-seq: * pl.add_entry(arg) -> result * * Adds an entry to the playlist. _arg_ can be either a URL or an id. */ static VALUE c_add_entry (VALUE self, VALUE arg) { int32_t id; PLAYLIST_METHOD_HANDLER_HEADER if (!NIL_P (rb_check_string_type (arg))) res = xmmsc_playlist_add_url (xmms->real, pl->name, StringValuePtr (arg)); else { id = check_int32 (arg); res = xmmsc_playlist_add_id (xmms->real, pl->name, id); } PLAYLIST_METHOD_HANDLER_FOOTER }