Mercurial > audlegacy
annotate src/audacious/auddrct.c @ 2863:06858ea4b9d0 trunk
BSD relicensing (pass 4).
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Sat, 23 Jun 2007 22:41:35 -0500 |
parents | 2d915b3e3e52 |
children | 2f5e02538dfa |
rev | line source |
---|---|
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
1 /* |
2863
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
2 * audacious: Cross-platform multimedia player. |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
3 * auddrct.c: Audacious Direct Access API. |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
4 * |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
5 * Copyright (c) 2007 Giacomo Lozito |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
6 * |
2863
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
7 * Redistribution and use in source and binary forms, with or without |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
8 * modification, are permitted provided that the following conditions are |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
9 * met: |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
10 * |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
11 * 1. Redistributions of source code must retain the above copyright notice, |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
12 * this list of conditions and the following disclaimer. |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
13 * |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
14 * 2. Redistributions in binary form must reproduce the above copyright |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
15 * notice, this list of conditions and the following disclaimer in the |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
16 * documentation and/or other materials provided with the distribution. |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
17 * |
2863
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
18 * 3. The name of the author may not be used to endorse or promote products |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
19 * derived from this software without specific prior written permission. |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
20 * |
2863
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
23 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
24 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
25 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
26 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
27 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
29 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
06858ea4b9d0
BSD relicensing (pass 4).
William Pitcock <nenolod@atheme.org>
parents:
2803
diff
changeset
|
31 * POSSIBILITY OF SUCH DAMAGE. |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
32 */ |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
33 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
34 /* audacious_drct_* provides a handy interface for player |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
35 plugins, originally intended for migration from xmms_remote_* calls */ |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
36 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
37 |
2743 | 38 #include "main.h" |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
39 #include "input.h" |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
40 #include "playback.h" |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
41 #include "ui_main.h" |
2743 | 42 #include "ui_playlist.h" |
43 #include "ui_equalizer.h" | |
2745 | 44 #include "ui_jumptotrack.h" |
2760 | 45 #include "auddrct.h" |
2775 | 46 #include "playlist.h" |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
47 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
48 |
2742 | 49 /* player */ |
50 | |
51 void | |
52 audacious_drct_quit ( void ) | |
53 { | |
54 mainwin_quit_cb(); | |
55 return; | |
56 } | |
57 | |
58 void | |
59 audacious_drct_eject ( void ) | |
60 { | |
61 if (has_x11_connection) | |
62 mainwin_eject_pushed(); | |
63 return; | |
64 } | |
65 | |
2745 | 66 void |
67 audacious_drct_jtf_show ( void ) | |
68 { | |
69 if (has_x11_connection) | |
70 ui_jump_to_track(); | |
71 return; | |
72 } | |
73 | |
2742 | 74 gboolean |
75 audacious_drct_main_win_is_visible ( void ) | |
76 { | |
77 return cfg.player_visible; | |
78 } | |
79 | |
80 void | |
2744 | 81 audacious_drct_main_win_toggle ( gboolean show ) |
2742 | 82 { |
83 if (has_x11_connection) | |
84 mainwin_show(show); | |
85 return; | |
86 } | |
87 | |
88 gboolean | |
2744 | 89 audacious_drct_eq_win_is_visible ( void ) |
2742 | 90 { |
91 return cfg.equalizer_visible; | |
92 } | |
93 | |
94 void | |
2744 | 95 audacious_drct_eq_win_toggle ( gboolean show ) |
2742 | 96 { |
97 if (has_x11_connection) | |
98 equalizerwin_show(show); | |
99 return; | |
100 } | |
101 | |
102 gboolean | |
2744 | 103 audacious_drct_pl_win_is_visible ( void ) |
2742 | 104 { |
105 return cfg.playlist_visible; | |
106 } | |
107 | |
108 void | |
2744 | 109 audacious_drct_pl_win_toggle ( gboolean show ) |
2742 | 110 { |
111 if (has_x11_connection) { | |
112 if (show) | |
113 playlistwin_show(); | |
114 else | |
115 playlistwin_hide(); | |
116 } | |
117 return; | |
118 } | |
119 | |
2785 | 120 void audacious_drct_set_skin(gchar *skinfile) |
121 { | |
122 if (has_x11_connection) | |
123 bmp_active_skin_load(skinfile); | |
124 } | |
125 | |
126 void audacious_drct_activate(void) | |
127 { | |
128 gtk_window_present(GTK_WINDOW(mainwin)); | |
129 } | |
2742 | 130 |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
131 /* playback */ |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
132 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
133 void |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
134 audacious_drct_play ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
135 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
136 if (playback_get_paused()) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
137 playback_pause(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
138 else if (playlist_get_length(playlist_get_active())) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
139 playback_initiate(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
140 else |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
141 mainwin_eject_pushed(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
142 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
143 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
144 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
145 void |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
146 audacious_drct_pause ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
147 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
148 playback_pause(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
149 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
150 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
151 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
152 void |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
153 audacious_drct_stop ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
154 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
155 ip_data.stop = TRUE; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
156 playback_stop(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
157 ip_data.stop = FALSE; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
158 mainwin_clear_song_info(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
159 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
160 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
161 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
162 gboolean |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
163 audacious_drct_get_playing ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
164 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
165 return playback_get_playing(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
166 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
167 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
168 gboolean |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
169 audacious_drct_get_paused ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
170 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
171 return playback_get_paused(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
172 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
173 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
174 gboolean |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
175 audacious_drct_get_stopped ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
176 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
177 return !playback_get_playing(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
178 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
179 |
2748 | 180 void |
181 audacious_drct_get_info( gint *rate, gint *freq, gint *nch) | |
182 { | |
183 playback_get_sample_params(rate, freq, nch); | |
184 } | |
185 | |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
186 gint |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
187 audacious_drct_get_time ( void ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
188 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
189 gint time; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
190 if (playback_get_playing()) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
191 time = playback_get_time(); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
192 else |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
193 time = 0; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
194 return time; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
195 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
196 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
197 void |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
198 audacious_drct_seek ( guint pos ) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
199 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
200 if (playlist_get_current_length(playlist_get_active()) > 0 && |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
201 pos < (guint)playlist_get_current_length(playlist_get_active())) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
202 playback_seek(pos / 1000); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
203 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
204 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
205 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
206 void |
2760 | 207 audacious_drct_get_volume ( gint *vl, gint *vr ) |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
208 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
209 input_get_volume(vl, vr); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
210 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
211 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
212 |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
213 void |
2760 | 214 audacious_drct_set_volume ( gint vl, gint vr ) |
2739
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
215 { |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
216 if (vl > 100) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
217 vl = 100; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
218 if (vr > 100) |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
219 vr = 100; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
220 input_set_volume(vl, vr); |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
221 return; |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
222 } |
953001c668ae
[svn] - added auddrct.c/h, a migration api for plugins that once used xmms_remote; to be completed
giacomo
parents:
diff
changeset
|
223 |
2760 | 224 void |
225 audacious_drct_get_volume_main( gint *v ) | |
226 { | |
227 gint vl, vr; | |
228 audacious_drct_get_volume(&vl, &vr); | |
229 *v = (vl > vr) ? vl : vr; | |
230 return; | |
231 } | |
232 | |
233 void | |
234 audacious_drct_set_volume_main ( gint v ) | |
235 { | |
236 gint b, vl, vr; | |
237 audacious_drct_get_volume_balance(&b); | |
238 if (b < 0) { | |
239 vl = v; | |
240 vr = (v * (100 - abs(b))) / 100; | |
241 } | |
242 else if (b > 0) { | |
243 vl = (v * (100 - b)) / 100; | |
244 vr = v; | |
245 } | |
246 else | |
247 vl = vr = v; | |
248 audacious_drct_set_volume(vl, vr); | |
249 } | |
250 | |
251 void | |
252 audacious_drct_get_volume_balance ( gint *b ) | |
253 { | |
254 gint vl, vr; | |
255 input_get_volume(&vl, &vr); | |
256 if (vl < 0 || vr < 0) | |
257 *b = 0; | |
258 else if (vl > vr) | |
259 *b = -100 + ((vr * 100) / vl); | |
260 else if (vr > vl) | |
261 *b = 100 - ((vl * 100) / vr); | |
262 else | |
263 *b = 0; | |
264 return; | |
265 } | |
266 | |
267 void | |
268 audacious_drct_set_volume_balance ( gint b ) | |
269 { | |
270 gint v, vl, vr; | |
271 if (b < -100) | |
272 b = -100; | |
273 if (b > 100) | |
274 b = 100; | |
275 audacious_drct_get_volume_main(&v); | |
276 if (b < 0) { | |
277 vl = v; | |
278 vr = (v * (100 - abs(b))) / 100; | |
279 } | |
280 else if (b > 0) { | |
281 vl = (v * (100 - b)) / 100; | |
282 vr = v; | |
283 } | |
284 else | |
285 { | |
286 vl = v; | |
287 vr = v; | |
288 } | |
289 audacious_drct_set_volume(vl, vr); | |
290 return; | |
291 } | |
292 | |
2742 | 293 |
294 /* playlist */ | |
295 | |
296 void | |
297 audacious_drct_pl_next ( void ) | |
298 { | |
299 playlist_next(playlist_get_active()); | |
300 return; | |
301 } | |
302 | |
303 void | |
304 audacious_drct_pl_prev ( void ) | |
305 { | |
306 playlist_prev(playlist_get_active()); | |
307 return; | |
308 } | |
2745 | 309 |
310 gboolean | |
311 audacious_drct_pl_repeat_is_enabled( void ) | |
312 { | |
313 return cfg.repeat; | |
314 } | |
315 | |
316 void | |
317 audacious_drct_pl_repeat_toggle( void ) | |
318 { | |
319 mainwin_repeat_pushed(!cfg.repeat); | |
320 return; | |
321 } | |
322 | |
323 gboolean | |
324 audacious_drct_pl_repeat_is_shuffled( void ) | |
325 { | |
326 return cfg.shuffle; | |
327 } | |
328 | |
329 void | |
330 audacious_drct_pl_shuffle_toggle( void ) | |
331 { | |
332 mainwin_shuffle_pushed(!cfg.shuffle); | |
333 return; | |
334 } | |
2748 | 335 |
336 gchar * | |
337 audacious_drct_pl_get_title( gint pos ) | |
338 { | |
339 return playlist_get_songtitle(playlist_get_active(), pos); | |
340 } | |
341 | |
342 gint | |
343 audacious_drct_pl_get_time( gint pos ) | |
344 { | |
345 return playlist_get_songtime(playlist_get_active(), pos); | |
346 } | |
347 | |
348 gint | |
349 audacious_drct_pl_get_pos( void ) | |
350 { | |
351 return playlist_get_position_nolock(playlist_get_active()); | |
352 } | |
353 | |
354 gchar * | |
355 audacious_drct_pl_get_file( gint pos ) | |
356 { | |
357 return playlist_get_filename(playlist_get_active(), pos); | |
358 } | |
2760 | 359 |
360 void | |
361 audacious_drct_pl_add ( GList * list ) | |
362 { | |
363 GList *node = list; | |
364 while ( node != NULL ) | |
365 { | |
366 playlist_add_url(playlist_get_active(), (gchar*)node->data); | |
367 node = g_list_next(node); | |
368 } | |
369 return; | |
370 } | |
371 | |
372 void | |
373 audacious_drct_pl_clear ( void ) | |
374 { | |
375 playlist_clear(playlist_get_active()); | |
376 mainwin_clear_song_info(); | |
377 mainwin_set_info_text(); | |
378 return; | |
379 } | |
2775 | 380 |
381 | |
382 /* following functions are not tested yet. be careful. --yaz */ | |
383 void | |
384 audacious_drct_pl_delete ( gint pos ) | |
385 { | |
386 GDK_THREADS_ENTER(); | |
387 playlist_delete_index(playlist_get_active(), pos); | |
388 GDK_THREADS_LEAVE(); | |
389 } | |
390 | |
391 void | |
392 audacious_drct_pl_set_pos( gint pos ) | |
393 { | |
394 Playlist *playlist = playlist_get_active(); | |
395 if (pos < (guint)playlist_get_length(playlist)) | |
396 playlist_set_position(playlist, pos); | |
397 } | |
398 | |
399 gint | |
400 audacious_drct_pl_get_length( void ) | |
401 { | |
402 return playlist_get_length(playlist_get_active()); | |
403 } | |
404 | |
405 void | |
406 audacious_drct_pl_ins_url_string( gchar * string, gint pos ) | |
407 { | |
408 playlist_ins_url(playlist_get_active(), string, pos); | |
409 } | |
410 | |
411 void | |
412 audacious_drct_pl_add_url_string( gchar * string ) | |
413 { | |
414 GDK_THREADS_ENTER(); | |
415 playlist_add_url(playlist_get_active(), string); | |
416 GDK_THREADS_LEAVE(); | |
417 } | |
418 | |
419 void | |
420 audacious_drct_pl_enqueue_to_temp( gchar * string ) | |
421 { | |
422 Playlist *new_pl = playlist_new(); | |
423 | |
424 GDK_THREADS_ENTER(); | |
425 playlist_select_playlist(new_pl); | |
426 playlist_add_url(new_pl, string); | |
427 GDK_THREADS_LEAVE(); | |
428 } | |
429 | |
430 | |
431 /* playqueue */ | |
432 gint | |
433 audacious_drct_pq_get_length( void ) | |
434 { | |
435 return playlist_queue_get_length(playlist_get_active()); | |
436 } | |
437 | |
438 void | |
439 audacious_drct_pq_add( gint pos ) | |
440 { | |
441 Playlist *playlist = playlist_get_active(); | |
442 if (pos < (guint)playlist_get_length(playlist)) | |
443 playlist_queue_position(playlist, pos); | |
444 } | |
445 | |
446 void | |
447 audacious_drct_pq_remove( gint pos ) | |
448 { | |
449 Playlist *playlist = playlist_get_active(); | |
450 if (pos < (guint)playlist_get_length(playlist)) | |
451 playlist_queue_remove(playlist_get_active(), pos); | |
452 } | |
453 | |
454 void | |
455 audacious_drct_pq_clear( void ) | |
456 { | |
457 playlist_clear_queue(playlist_get_active()); | |
458 } | |
459 | |
460 gboolean | |
461 audacious_drct_pq_is_queued( gint pos ) | |
462 { | |
463 return playlist_is_position_queued(playlist_get_active(), pos); | |
464 } | |
465 | |
466 gint | |
467 audacious_drct_pq_get_position( gint pos ) | |
468 { | |
469 return playlist_get_queue_position_number(playlist_get_active(), pos); | |
470 } | |
471 | |
472 gint | |
473 audaciuos_drct_pq_get_queue_position( gint pos ) | |
474 { | |
475 return playlist_get_queue_position_number(playlist_get_active(), pos); | |
476 } | |
2785 | 477 |