2313
|
1 /* Audacious - Cross-platform multimedia player
|
|
2 * Copyright (C) 2005-2007 Audacious development team
|
|
3 *
|
|
4 * Based on XMMS:
|
|
5 * Copyright (C) 1998-2003 Peter Alm, Mikael Alm, Olle Hallnas,
|
|
6 * Thomas Nilsson and 4Front Technologies
|
|
7 * Copyright (C) 1999-2003 Haavard Kvaalen
|
|
8 *
|
|
9 * This program is free software; you can redistribute it and/or modify
|
|
10 * it under the terms of the GNU General Public License as published by
|
|
11 * the Free Software Foundation; under version 2 of the License.
|
|
12 *
|
|
13 * This program is distributed in the hope that it will be useful,
|
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16 * GNU General Public License for more details.
|
|
17 *
|
|
18 * You should have received a copy of the GNU General Public License
|
|
19 * along with this program; if not, write to the Free Software
|
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
21 */
|
|
22 #ifndef XMMS_XMMSCTRL_H
|
|
23 #define XMMS_XMMSCTRL_H
|
|
24
|
|
25 #include <glib.h>
|
|
26
|
|
27 #ifdef __cplusplus
|
|
28 extern "C" {
|
|
29 #endif
|
|
30
|
|
31 enum
|
|
32 {
|
|
33 AUDACIOUS_TYPE_UNIX,
|
|
34 AUDACIOUS_TYPE_TCP,
|
|
35 };
|
|
36
|
|
37 /* Do NOT use this! This is only for control socket initialization now. */
|
|
38 gint xmms_connect_to_session(gint session);
|
|
39
|
|
40 void xmms_remote_playlist(gint session, gchar ** list, gint num,
|
|
41 gboolean enqueue);
|
|
42 gint xmms_remote_get_version(gint session);
|
|
43 void xmms_remote_playlist_add(gint session, GList * list);
|
|
44 void xmms_remote_playlist_delete(gint session, gint pos);
|
|
45 void xmms_remote_play(gint session);
|
|
46 void xmms_remote_pause(gint session);
|
|
47 void xmms_remote_stop(gint session);
|
|
48 gboolean xmms_remote_is_playing(gint session);
|
|
49 gboolean xmms_remote_is_paused(gint session);
|
|
50 gint xmms_remote_get_playlist_pos(gint session);
|
|
51 void xmms_remote_set_playlist_pos(gint session, gint pos);
|
|
52 gint xmms_remote_get_playlist_length(gint session);
|
|
53 void xmms_remote_playlist_clear(gint session);
|
|
54 gint xmms_remote_get_output_time(gint session);
|
|
55 void xmms_remote_jump_to_time(gint session, gint pos);
|
|
56 void xmms_remote_get_volume(gint session, gint * vl, gint * vr);
|
|
57 gint xmms_remote_get_main_volume(gint session);
|
|
58 gint xmms_remote_get_balance(gint session);
|
|
59 void xmms_remote_set_volume(gint session, gint vl, gint vr);
|
|
60 void xmms_remote_set_main_volume(gint session, gint v);
|
|
61 void xmms_remote_set_balance(gint session, gint b);
|
|
62 gchar *xmms_remote_get_skin(gint session);
|
|
63 void xmms_remote_set_skin(gint session, gchar * skinfile);
|
|
64 gchar *xmms_remote_get_playlist_file(gint session, gint pos);
|
|
65 gchar *xmms_remote_get_playlist_title(gint session, gint pos);
|
|
66 gint xmms_remote_get_playlist_time(gint session, gint pos);
|
|
67 void xmms_remote_get_info(gint session, gint * rate, gint * freq,
|
|
68 gint * nch);
|
|
69 void xmms_remote_main_win_toggle(gint session, gboolean show);
|
|
70 void xmms_remote_pl_win_toggle(gint session, gboolean show);
|
|
71 void xmms_remote_eq_win_toggle(gint session, gboolean show);
|
|
72 gboolean xmms_remote_is_main_win(gint session);
|
|
73 gboolean xmms_remote_is_pl_win(gint session);
|
|
74 gboolean xmms_remote_is_eq_win(gint session);
|
|
75 void xmms_remote_show_prefs_box(gint session);
|
|
76 void xmms_remote_toggle_aot(gint session, gboolean ontop);
|
|
77 void xmms_remote_eject(gint session);
|
|
78 void xmms_remote_playlist_prev(gint session);
|
|
79 void xmms_remote_playlist_next(gint session);
|
|
80 void xmms_remote_playlist_add_url_string(gint session, gchar * string);
|
|
81 void xmms_remote_playlist_enqueue_to_temp(gint session, gchar * string);
|
|
82 gboolean xmms_remote_is_running(gint session);
|
|
83 void xmms_remote_toggle_repeat(gint session);
|
|
84 void xmms_remote_toggle_shuffle(gint session);
|
|
85 gboolean xmms_remote_is_repeat(gint session);
|
|
86 gboolean xmms_remote_is_shuffle(gint session);
|
|
87 void xmms_remote_get_eq(gint session, gfloat * preamp,
|
|
88 gfloat ** bands);
|
|
89 gfloat xmms_remote_get_eq_preamp(gint session);
|
|
90 gfloat xmms_remote_get_eq_band(gint session, gint band);
|
|
91 void xmms_remote_set_eq(gint session, gfloat preamp, gfloat * bands);
|
|
92 void xmms_remote_set_eq_preamp(gint session, gfloat preamp);
|
|
93 void xmms_remote_set_eq_band(gint session, gint band, gfloat value);
|
|
94
|
|
95 /* Added in XMMS 1.2.1 */
|
|
96 void xmms_remote_quit(gint session);
|
|
97
|
|
98 /* Added in XMMS 1.2.6 */
|
|
99 void xmms_remote_play_pause(gint session);
|
|
100 void xmms_remote_playlist_ins_url_string(gint session, gchar * string,
|
|
101 gint pos);
|
|
102
|
|
103 /* Added in XMMS 1.2.11 */
|
|
104 void xmms_remote_playqueue_add(gint session, gint pos);
|
|
105 void xmms_remote_playqueue_remove(gint session, gint pos);
|
|
106 gint xmms_remote_get_playqueue_length(gint session);
|
|
107 void xmms_remote_toggle_advance(gint session);
|
|
108 gboolean xmms_remote_is_advance(gint session);
|
|
109
|
|
110 /* Added in BMP 0.9.7 */
|
|
111 void xmms_remote_activate(gint session);
|
|
112
|
|
113 /* Added in Audacious 1.1 */
|
|
114 void xmms_remote_show_jtf_box(gint session);
|
|
115 void xmms_remote_playqueue_clear(gint session);
|
|
116 gboolean xmms_remote_playqueue_is_queued(gint session, gint pos);
|
|
117 gint xmms_remote_get_playqueue_position(gint session, gint pos);
|
|
118 gint xmms_remote_get_playqueue_queue_position(gint session, gint pos);
|
|
119
|
|
120 /* Added in Audacious 1.2 */
|
|
121 void audacious_set_session_uri(gchar *uri);
|
|
122 gchar *audacious_get_session_uri(gint session);
|
|
123 void audacious_set_session_type(gint type);
|
|
124
|
|
125 #ifdef __cplusplus
|
|
126 };
|
|
127 #endif
|
|
128
|
|
129 /* Deprecated APIs */
|
|
130 void xmms_remote_play_files(gint session, GList * list);
|
|
131
|
|
132 /**
|
|
133 * xmms_remote_add_files:
|
|
134 * @session: Legacy XMMS-style session identifier.
|
|
135 * @list: A GList of files to add.
|
|
136 *
|
|
137 * Tells audacious to add files to the playlist.
|
|
138 **/
|
|
139 #define xmms_remote_add_files(session,list) \
|
|
140 xmms_remote_playlist_add(session,list)
|
|
141
|
|
142
|
|
143 #endif
|