Mercurial > audlegacy
diff libaudacious/beepctrl.c @ 984:bcd1ebd0a7c1 trunk
[svn] - jumptofile and queue support fun
author | nhjm449 |
---|---|
date | Fri, 28 Apr 2006 22:46:00 -0700 |
parents | 0a73d1faeb4e |
children | c70b68bcf527 |
line wrap: on
line diff
--- a/libaudacious/beepctrl.c Fri Apr 28 22:44:06 2006 -0700 +++ b/libaudacious/beepctrl.c Fri Apr 28 22:46:00 2006 -0700 @@ -693,6 +693,12 @@ } void +xmms_remote_show_jtf_box(gint session) +{ + remote_cmd(session, CMD_SHOW_JTF_BOX); +} + +void xmms_remote_toggle_aot(gint session, gboolean ontop) { remote_send_boolean(session, CMD_TOGGLE_AOT, ontop); @@ -805,12 +811,81 @@ remote_send_guint32(session, CMD_PLAYQUEUE_REMOVE, pos); } +void +xmms_remote_playqueue_clear(gint session) +{ + remote_cmd(session, CMD_PLAYQUEUE_CLEAR); +} + gint xmms_remote_get_playqueue_length(gint session) { return remote_get_gint(session, CMD_GET_PLAYQUEUE_LENGTH); } +gboolean +xmms_remote_playqueue_is_queued(gint session, gint pos) +{ + ServerPktHeader pkt_hdr; + gpointer data; + gint fd, ret = 0; + guint32 p = pos; + + if ((fd = xmms_connect_to_session(session)) == -1) + return ret; + remote_send_packet(fd, CMD_PLAYQUEUE_IS_QUEUED, &p, sizeof(guint32)); + data = remote_read_packet(fd, &pkt_hdr); + if (data) { + ret = *((gint *) data); + g_free(data); + } + remote_read_ack(fd); + close(fd); + return ret; +} + +gint +xmms_remote_get_playqueue_position(gint session, gint pos) +{ + ServerPktHeader pkt_hdr; + gpointer data; + gint fd, ret = 0; + guint32 p = pos; + + if ((fd = xmms_connect_to_session(session)) == -1) + return ret; + remote_send_packet(fd, CMD_PLAYQUEUE_GET_POS, &p, sizeof(guint32)); + data = remote_read_packet(fd, &pkt_hdr); + if (data) { + ret = *((gint *) data); + g_free(data); + } + remote_read_ack(fd); + close(fd); + return ret; +} + +gint +xmms_remote_get_playqueue_queue_position(gint session, gint pos) +{ + ServerPktHeader pkt_hdr; + gpointer data; + gint fd, ret = 0; + guint32 p = pos; + + if ((fd = xmms_connect_to_session(session)) == -1) + return ret; + remote_send_packet(fd, CMD_PLAYQUEUE_GET_QPOS, &p, sizeof(guint32)); + data = remote_read_packet(fd, &pkt_hdr); + if (data) { + ret = *((gint *) data); + g_free(data); + } + remote_read_ack(fd); + close(fd); + return ret; +} + void xmms_remote_get_eq(gint session, gfloat * preamp, gfloat ** bands) {