void xmms_remote_play_files(int session, GList * list) { g_return_if_fail(list != NULL); xmms_remote_playlist_clear(session); xmms_remote_add_files(session, list); xmms_remote_play(session); }
void sound_stop_music () { gint i; if (xmms_remote_is_running (0)) { if (xmms_remote_is_playing (0)) xmms_remote_stop (0); xmms_remote_playlist_clear (0); xmms_remote_playlist (0, old_playlist, old_length, TRUE); if (xmms_remote_is_repeat (0) != old_repeat) xmms_remote_toggle_repeat (0); } for (i = 0; i < old_length; i++) g_free (old_playlist[i]); g_free (old_playlist); }
void xmms_remote_playlist(int session, char ** list, int num, gboolean enqueue) { int fd, i; char *data, *ptr; int data_length; guint32 len; g_return_if_fail(list != NULL); g_return_if_fail(num > 0); if (!enqueue) xmms_remote_playlist_clear(session); if ((fd = xmms_connect_to_session(session)) == -1) return; for (i = 0, data_length = 0; i < num; i++) data_length += (((strlen(list[i]) + 1) + 3) / 4) * 4 + 4; if (data_length) { data_length += 4; data = g_malloc(data_length); for (i = 0, ptr = data; i < num; i++) { len = strlen(list[i]) + 1; *((guint32 *) ptr) = len; ptr += 4; memcpy(ptr, list[i], len); ptr += ((len + 3) / 4) * 4; } *((guint32 *) ptr) = 0; remote_send_packet(fd, CMD_PLAYLIST_ADD, data, data_length); remote_read_ack(fd); close(fd); g_free(data); } if (!enqueue) xmms_remote_play(session); }
static void start_music0 (gchar *filename) { gchar *playlist[1]; gint i; playlist[0] = filename; old_length = xmms_remote_get_playlist_length (0); old_playlist = (gchar **) g_malloc (old_length * sizeof (gchar *)); for (i = 0; i < old_length; i++) old_playlist[i] = xmms_remote_get_playlist_file (0, i); #ifdef XMMS_PLAYLIST_BUG xmms_remote_playlist_clear (0); xmms_remote_playlist (0, playlist, 1, TRUE); xmms_remote_play (0); #else xmms_remote_playlist (0, playlist, 1, FALSE); #endif old_repeat = xmms_remote_is_repeat (0); if (!old_repeat) xmms_remote_toggle_repeat (0); }
void add_to_playlist_and_play(gint row) { xmms_remote_playlist_clear(cue_gp.xmms_session); add_to_playlist(row); xmms_remote_set_playlist_pos(cue_gp.xmms_session, 0); xmms_remote_play(cue_gp.xmms_session); }