42 #include "audacious_control.h"
46 #include <audacious/audctrl.h>
47 #include <audacious/dbus.h>
49 #include <dbus/dbus-glib.h>
55 audacious_remote_get_info(ui->pi->dbus_proxy, &rate, &freq, &nch);
57 gchar rate_str[32] = {
'\0' };
58 gchar freq_str[32] = {
'\0' };
59 gchar nch_str[32] = {
'\0' };
61 g_snprintf(rate_str,32,
"%d", rate/1000);
62 g_snprintf(freq_str,32,
"%d", freq/1000);
66 snprintf(nch_str, 32,
"%s", _(
"stereo"));
70 snprintf(nch_str, 32,
"%s", _(
"mono"));
73 gchar *_Kbps = _(
"Kbps");
74 gchar *_Khz = _(
"Khz");
78 g_snprintf(total_infos, 512,
"%s %s %s %s %s", rate_str,_Kbps,freq_str, _Khz,nch_str);
82 total_infos[0] =
'\0';
91 gint playlist_position = audacious_remote_get_playlist_pos(ui->pi->dbus_proxy);
92 gchar *fname = audacious_remote_get_playlist_file(ui->pi->dbus_proxy, playlist_position);
99 gchar *fname2 = g_filename_from_uri(fname, NULL, NULL);
108 return audacious_remote_get_playlist_length(ui->pi->dbus_proxy);
117 gint playlist_position = audacious_remote_get_playlist_pos(ui->pi->dbus_proxy);
118 return audacious_remote_get_playlist_title(ui->pi->dbus_proxy, playlist_position);
124 return audacious_remote_get_output_time(ui->pi->dbus_proxy);
130 static gchar *exec_command =
"audacious";
131 gchar *exec_this = g_strdup_printf(
"%s &", exec_command);
135 gint timer = time(<);
136 while (!audacious_remote_is_running(ui->pi->dbus_proxy) && ((time(<) - timer) < 4))
147 gint number = audacious_remote_get_playlist_length(ui->pi->dbus_proxy);
148 audacious_remote_set_playlist_pos(ui->pi->dbus_proxy, number - 1);
155 audacious_remote_play(ui->pi->dbus_proxy);
161 GList *list_pos = list;
164 gchar *dup_filename = strdup(list_pos->data);
165 list_pos->data = g_filename_to_uri(dup_filename,NULL,NULL);
166 g_free(dup_filename);
167 list_pos = g_list_next(list_pos);
170 audacious_remote_playlist_add(ui->pi->dbus_proxy, list);
176 audacious_remote_set_main_volume(ui->pi->dbus_proxy, volume);
182 return audacious_remote_get_main_volume(ui->pi->dbus_proxy);
198 if (!ui->pi->dbus_connection)
200 ui->pi->dbus_connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
203 if (!ui->pi->dbus_proxy)
205 ui->pi->dbus_proxy = dbus_g_proxy_new_for_name(ui->pi->dbus_connection,
206 AUDACIOUS_DBUS_SERVICE,
208 AUDACIOUS_DBUS_INTERFACE);
211 if (!audacious_remote_is_running(ui->pi->dbus_proxy))
222 if (!audacious_remote_is_paused(ui->pi->dbus_proxy))
233 audacious_remote_play(ui->pi->dbus_proxy);
239 audacious_remote_stop(ui->pi->dbus_proxy);
245 audacious_remote_pause(ui->pi->dbus_proxy);
251 audacious_remote_playlist_next(ui->pi->dbus_proxy);
257 audacious_remote_playlist_prev(ui->pi->dbus_proxy);
263 audacious_remote_jump_to_time(ui->pi->dbus_proxy, position);
269 gint playlist_position = audacious_remote_get_playlist_pos(ui->pi->dbus_proxy);
270 return audacious_remote_get_playlist_time(ui->pi->dbus_proxy, playlist_position);
276 if (audacious_remote_is_playing(ui->pi->dbus_proxy))