44 #include <glib/gi18n.h>
50 #include <audacious/audctrl.h>
51 #include <audacious/dbus.h>
53 DBusGProxy *dbus_proxy = NULL;
54 static DBusGConnection *dbus_connection = NULL;
70 gchar rate_str[32] = {
'\0' };
71 gchar freq_str[32] = {
'\0' };
72 gchar nch_str[32] = {
'\0' };
75 audacious_remote_get_info(dbus_proxy, &rate, &freq, &nch);
77 g_snprintf(rate_str,32,
"%d", rate/1000);
78 g_snprintf(freq_str,32,
"%d", freq/1000);
82 snprintf(nch_str, 32,
"%s", _(
"stereo"));
86 snprintf(nch_str, 32,
"%s", _(
"mono"));
89 gchar *_Kbps = _(
"Kbps");
90 gchar *_Khz = _(
"Khz");
94 g_snprintf(total_infos,512,
96 rate_str,_Kbps,freq_str, _Khz,nch_str);
100 total_infos[0] =
'\0';
113 gint playlist_position;
115 playlist_position = audacious_remote_get_playlist_pos(dbus_proxy);
117 fname = audacious_remote_get_playlist_file(dbus_proxy, playlist_position);
120 gchar *fname2 = g_filename_from_uri(fname,NULL,NULL);
130 return audacious_remote_get_playlist_length(dbus_proxy);
142 gint playlist_position;
144 playlist_position = audacious_remote_get_playlist_pos(dbus_proxy);
145 title = audacious_remote_get_playlist_title(dbus_proxy,playlist_position);
153 return audacious_remote_get_output_time(dbus_proxy);
162 static gchar *exec_command;
163 exec_command =
"audacious";
164 gchar *exec_this = g_strdup_printf(
"%s &", exec_command);
168 while (!audacious_remote_is_running(dbus_proxy)
169 && ((time(<) - timer) < 4))
181 number = audacious_remote_get_playlist_length(dbus_proxy);
182 audacious_remote_set_playlist_pos(dbus_proxy,(number-1));
189 audacious_remote_play(dbus_proxy);
196 GList *list_pos = list;
202 gchar *dup_filename = strdup(list_pos->data);
206 list_pos->data = g_filename_to_uri(dup_filename,NULL,NULL);
208 g_free(dup_filename);
211 list_pos = g_list_next(list_pos);
214 audacious_remote_playlist_add(dbus_proxy, list);
220 audacious_remote_set_main_volume(dbus_proxy, volume);
226 return audacious_remote_get_main_volume(dbus_proxy);
243 if (!dbus_connection)
245 dbus_connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
249 dbus_proxy = dbus_g_proxy_new_for_name(dbus_connection,
250 AUDACIOUS_DBUS_SERVICE,
252 AUDACIOUS_DBUS_INTERFACE);
254 if (!audacious_remote_is_running(dbus_proxy))
263 if (!audacious_remote_is_paused(dbus_proxy))
272 audacious_remote_play(dbus_proxy);
278 audacious_remote_stop(dbus_proxy);
284 audacious_remote_pause(dbus_proxy);
290 audacious_remote_playlist_next(dbus_proxy);
296 audacious_remote_playlist_prev(dbus_proxy);
302 audacious_remote_jump_to_time(dbus_proxy, position);
308 gint playlist_position;
309 playlist_position = audacious_remote_get_playlist_pos(dbus_proxy);
310 return audacious_remote_get_playlist_time(dbus_proxy,playlist_position);
316 if(audacious_remote_is_playing(dbus_proxy))
325 audacious_remote_quit(dbus_proxy);