Пример #1
0
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);
}
Пример #2
0
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);
}
Пример #3
0
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);
}
Пример #4
0
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);
}