Mercurial > audlegacy
annotate src/audacious/dbus.c @ 3886:5c8d5ff0e601
fix exit_on_disconnect behaviour.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Thu, 01 Nov 2007 19:27:28 -0500 |
parents | f3341c2d6b9e |
children | edd7da52849f |
rev | line source |
---|---|
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
1 /* |
2696
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
2 * Audacious: A cross-platform multimedia player |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
3 * Copyright (c) 2007 Ben Tucker |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
4 * |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
6 * it under the terms of the GNU General Public License as published by |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2814
diff
changeset
|
7 * the Free Software Foundation; under version 3 of the License. |
2696
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
8 * |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
9 * This program is distributed in the hope that it will be useful, |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
12 * GNU General Public License for more details. |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
13 * |
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
14 * You should have received a copy of the GNU General Public License |
3121
3b6d316f8b09
GPL3 relicensing.
William Pitcock <nenolod@atheme-project.org>
parents:
2814
diff
changeset
|
15 * along with this program. If not, see <http://www.gnu.org/licenses>. |
3123
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
16 * |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
17 * The Audacious team does not consider modular code linking to |
f1c756f39e6c
Invoke "Plugins are not derived work" clause provided by GPL3.
William Pitcock <nenolod@atheme-project.org>
parents:
3121
diff
changeset
|
18 * Audacious or using our public API to be a derived work. |
2696
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
19 */ |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
20 |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
21 #ifdef HAVE_CONFIG_H |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
22 # include "config.h" |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
23 #endif |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
24 |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
25 #include <glib.h> |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
26 #include <dbus/dbus-glib-bindings.h> |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
27 #include "dbus.h" |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
28 #include "dbus-service.h" |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
29 #include "dbus-server-bindings.h" |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
30 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
31 #include <math.h> |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
32 #include "main.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
33 #include "ui_equalizer.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
34 #include "ui_main.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
35 #include "input.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
36 #include "playback.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
37 #include "playlist.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
38 #include "ui_playlist.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
39 #include "ui_preferences.h" |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
40 #include "memorypool.h" |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
41 #include "tuple.h" |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
42 #include "ui_jumptotrack.h" |
2814
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
43 #include "strings.h" |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
44 #include "ui_credits.h" |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
45 #include "skin.h" |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
46 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
47 static DBusGConnection *dbus_conn = NULL; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
48 static guint signals[LAST_SIG] = { 0 }; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
49 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
50 G_DEFINE_TYPE(RemoteObject, audacious_rc, G_TYPE_OBJECT); |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
51 G_DEFINE_TYPE(MprisRoot, mpris_root, G_TYPE_OBJECT); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
52 G_DEFINE_TYPE(MprisPlayer, mpris_player, G_TYPE_OBJECT); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
53 G_DEFINE_TYPE(MprisTrackList, mpris_tracklist, G_TYPE_OBJECT); |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
54 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
55 #define DBUS_TYPE_G_STRING_VALUE_HASHTABLE (dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE)) |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
56 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
57 void audacious_rc_class_init(RemoteObjectClass *klass) {} |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
58 void mpris_root_class_init(MprisRootClass *klass) {} |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
59 |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
60 void mpris_player_class_init(MprisPlayerClass *klass) { |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
61 signals[CAPS_CHANGE_SIG] = |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
62 g_signal_new("caps_change", |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
63 G_OBJECT_CLASS_TYPE(klass), |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
64 G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
65 0, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
66 NULL, NULL, |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
67 g_cclosure_marshal_VOID__INT, |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
68 G_TYPE_NONE, 1, G_TYPE_INT); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
69 signals[TRACK_CHANGE_SIG] = |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
70 g_signal_new("track_change", |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
71 G_OBJECT_CLASS_TYPE(klass), |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
72 G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
73 0, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
74 NULL, NULL, |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
75 g_cclosure_marshal_VOID__BOXED, |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
76 G_TYPE_NONE, 1, DBUS_TYPE_G_STRING_VALUE_HASHTABLE); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
77 signals[STATUS_CHANGE_SIG] = |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
78 g_signal_new("status_change", |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
79 G_OBJECT_CLASS_TYPE(klass), |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
80 G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
81 0, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
82 NULL, NULL, |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
83 g_cclosure_marshal_VOID__INT, |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
84 G_TYPE_NONE, 1, G_TYPE_INT); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
85 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
86 |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
87 void mpris_tracklist_class_init(MprisTrackListClass *klass) {} |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
88 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
89 void audacious_rc_init(RemoteObject *object) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
90 GError *error = NULL; |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
91 DBusGProxy *driver_proxy; |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
92 guint request_ret; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
93 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
94 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
95 dbus_g_object_type_install_info(audacious_rc_get_type(), |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
96 &dbus_glib_audacious_rc_object_info); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
97 |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
98 // Register DBUS path |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
99 dbus_g_connection_register_g_object(dbus_conn, |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
100 AUDACIOUS_DBUS_PATH, G_OBJECT(object)); |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
101 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
102 // Register the service name, the constants here are defined in |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
103 // dbus-glib-bindings.h |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
104 driver_proxy = dbus_g_proxy_new_for_name(dbus_conn, |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
105 DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
106 DBUS_INTERFACE_DBUS); |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
107 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
108 if (!org_freedesktop_DBus_request_name(driver_proxy, |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
109 AUDACIOUS_DBUS_SERVICE, 0, &request_ret, &error)) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
110 g_warning("Unable to register service: %s", error->message); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
111 g_error_free(error); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
112 } |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
113 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
114 if (!org_freedesktop_DBus_request_name(driver_proxy, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
115 AUDACIOUS_DBUS_SERVICE_MPRIS, 0, &request_ret, &error)) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
116 g_warning("Unable to register service: %s", error->message); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
117 g_error_free(error); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
118 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
119 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
120 g_object_unref(driver_proxy); |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
121 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
122 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
123 void mpris_root_init(MprisRoot *object) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
124 dbus_g_object_type_install_info(mpris_root_get_type(), |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
125 &dbus_glib_mpris_root_object_info); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
126 |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
127 // Register DBUS path |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
128 dbus_g_connection_register_g_object(dbus_conn, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
129 AUDACIOUS_DBUS_PATH_MPRIS_ROOT, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
130 G_OBJECT(object)); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
131 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
132 |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
133 void mpris_player_init(MprisPlayer *object) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
134 dbus_g_object_type_install_info(mpris_player_get_type(), |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
135 &dbus_glib_mpris_player_object_info); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
136 |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
137 // Register DBUS path |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
138 dbus_g_connection_register_g_object(dbus_conn, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
139 AUDACIOUS_DBUS_PATH_MPRIS_PLAYER, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
140 G_OBJECT(object)); |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
141 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
142 // Add signals |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
143 DBusGProxy *proxy = object->proxy; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
144 dbus_g_proxy_add_signal(proxy, "StatusChange", |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
145 G_TYPE_INT, G_TYPE_INVALID); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
146 dbus_g_proxy_add_signal(proxy, "CapsChange", |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
147 G_TYPE_INT, G_TYPE_INVALID); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
148 dbus_g_proxy_add_signal(proxy, "TrackChange", |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
149 DBUS_TYPE_G_STRING_VALUE_HASHTABLE, G_TYPE_INVALID); |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
150 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
151 |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
152 void mpris_tracklist_init(MprisTrackList *object) { |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
153 dbus_g_object_type_install_info(mpris_tracklist_get_type(), |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
154 &dbus_glib_mpris_tracklist_object_info); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
155 |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
156 // Register DBUS path |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
157 dbus_g_connection_register_g_object(dbus_conn, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
158 AUDACIOUS_DBUS_PATH_MPRIS_TRACKLIST, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
159 G_OBJECT(object)); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
160 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
161 |
2700
2d1837805ca4
[svn] Improved DBus initialization and fixed a warning.
magma
parents:
2696
diff
changeset
|
162 void init_dbus() { |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
163 GError *error = NULL; |
3886
5c8d5ff0e601
fix exit_on_disconnect behaviour.
William Pitcock <nenolod@atheme.org>
parents:
3873
diff
changeset
|
164 DBusConnection *local_conn; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
165 // Initialize the DBus connection |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
166 dbus_conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
167 if (dbus_conn == NULL) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
168 g_warning("Unable to connect to dbus: %s", error->message); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
169 g_error_free(error); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
170 return; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
171 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
172 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
173 g_type_init(); |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
174 g_object_new(audacious_rc_get_type(), NULL); |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
175 g_object_new(mpris_root_get_type(), NULL); |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
176 mpris = g_object_new(mpris_player_get_type(), NULL); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
177 g_object_new(mpris_tracklist_get_type(), NULL); |
2728
452a159dc619
[svn] - log when dbus has been successfully started up
nenolod
parents:
2717
diff
changeset
|
178 g_message("D-Bus support has been activated"); |
3886
5c8d5ff0e601
fix exit_on_disconnect behaviour.
William Pitcock <nenolod@atheme.org>
parents:
3873
diff
changeset
|
179 |
5c8d5ff0e601
fix exit_on_disconnect behaviour.
William Pitcock <nenolod@atheme.org>
parents:
3873
diff
changeset
|
180 local_conn = dbus_g_connection_get_connection(dbus_conn); |
5c8d5ff0e601
fix exit_on_disconnect behaviour.
William Pitcock <nenolod@atheme.org>
parents:
3873
diff
changeset
|
181 dbus_connection_set_exit_on_disconnect(local_conn, FALSE); |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
182 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
183 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
184 GValue *tuple_value_to_gvalue(Tuple *tuple, const gchar *key) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
185 GValue *val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
186 TupleValueType type; |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
187 type = tuple_get_value_type(tuple, -1, key); |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
188 if (type == TUPLE_STRING) { |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
189 gchar *result = str_to_utf8(tuple_get_string(tuple, -1, key)); |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
190 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
191 val = g_new0(GValue, 1); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
192 g_value_init(val, G_TYPE_STRING); |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
193 g_value_set_string(val, result); |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
194 |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
195 g_free(result); |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
196 return val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
197 } else if (type == TUPLE_INT) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
198 val = g_new0(GValue, 1); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
199 g_value_init(val, G_TYPE_INT); |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
200 g_value_set_int(val, tuple_get_int(tuple, -1, key)); |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
201 return val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
202 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
203 return NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
204 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
205 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
206 GHashTable *mpris_metadata_from_tuple(Tuple *tuple) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
207 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
208 GValue *value; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
209 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
210 if (tuple == NULL) |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
211 return NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
212 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
213 md = g_hash_table_new(g_str_hash, g_str_equal); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
214 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
215 value = tuple_value_to_gvalue(tuple, "length"); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
216 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
217 g_hash_table_insert(md, "length", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
218 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
219 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
220 value = tuple_value_to_gvalue(tuple, "title"); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
221 if (value != NULL) { |
3348
2a081105513c
-Set the track "title" in metadata instead of "name"
Ben Tucker <ben.tucker@gmail.com>
parents:
3346
diff
changeset
|
222 g_hash_table_insert(md, "title", value); |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
223 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
224 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
225 value = tuple_value_to_gvalue(tuple, "artist"); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
226 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
227 g_hash_table_insert(md, "artist", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
228 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
229 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
230 value = tuple_value_to_gvalue(tuple, "album"); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
231 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
232 g_hash_table_insert(md, "album", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
233 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
234 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
235 value = tuple_value_to_gvalue(tuple, "genre"); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
236 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
237 g_hash_table_insert(md, "genre", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
238 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
239 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
240 return md; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
241 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
242 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
243 /* MPRIS API */ |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
244 // MPRIS / |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
245 gboolean mpris_root_identity(MprisRoot *obj, gchar **identity, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
246 GError **error) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
247 *identity = g_strdup_printf("Audacious %s", VERSION); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
248 return TRUE; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
249 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
250 |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
251 // MPRIS /Player |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
252 gboolean mpris_player_next(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
253 playlist_next(playlist_get_active()); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
254 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
255 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
256 gboolean mpris_player_prev(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
257 playlist_prev(playlist_get_active()); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
258 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
259 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
260 gboolean mpris_player_pause(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
261 playback_pause(); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
262 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
263 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
264 gboolean mpris_player_stop(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
265 ip_data.stop = TRUE; |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
266 playback_stop(); |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
267 ip_data.stop = FALSE; |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
268 mainwin_clear_song_info(); |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
269 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
270 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
271 gboolean mpris_player_play(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
272 if (playback_get_paused()) |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
273 playback_pause(); |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
274 else if (playlist_get_length(playlist_get_active())) |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
275 playback_initiate(); |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
276 else |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
277 mainwin_eject_pushed(); |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
278 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
279 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
280 gboolean mpris_player_repeat(MprisPlayer *obj, gboolean rpt, GError **error) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
281 mainwin_repeat_pushed(rpt); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
282 mainwin_set_noplaylistadvance(rpt); |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
283 return TRUE; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
284 } |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
285 gboolean mpris_player_quit(MprisPlayer *obj, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
286 mainwin_quit_cb(); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
287 return TRUE; |
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
288 } |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
289 gboolean mpris_player_get_status(MprisPlayer *obj, gint *status, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
290 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
291 // check paused before playing because playback_get_playing() is true when |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
292 // paused as well as when playing |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
293 if (playback_get_paused()) |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
294 *status = MPRIS_STATUS_PAUSE; |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
295 else if (playback_get_playing()) |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
296 *status = MPRIS_STATUS_PLAY; |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
297 else |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
298 *status = MPRIS_STATUS_STOP; |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
299 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
300 } |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
301 gboolean mpris_player_get_metadata(MprisPlayer *obj, GHashTable **metadata, |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
302 GError **error) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
303 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
304 Tuple *tuple = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
305 GValue *value; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
306 Playlist *active; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
307 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
308 active = playlist_get_active(); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
309 gint pos = playlist_get_position(active); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
310 tuple = playlist_get_tuple(active, pos); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
311 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
312 md = mpris_metadata_from_tuple(tuple); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
313 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
314 if (md == NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
315 // there's no metadata for this track |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
316 return TRUE; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
317 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
318 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
319 // Song URI |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
320 value = g_new0(GValue, 1); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
321 g_value_init(value, G_TYPE_STRING); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
322 g_value_set_string(value, playlist_get_filename(active, pos)); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
323 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
324 g_hash_table_insert(md, "URI", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
325 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
326 *metadata = md; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
327 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
328 return TRUE; |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
329 } |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
330 gboolean mpris_player_get_caps(MprisPlayer *obj, gint *capabilities, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
331 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
332 *capabilities = MPRIS_CAPS_CAN_GO_NEXT | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
333 MPRIS_CAPS_CAN_GO_PREV | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
334 MPRIS_CAPS_CAN_PAUSE | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
335 MPRIS_CAPS_CAN_PLAY | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
336 MPRIS_CAPS_CAN_SEEK | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
337 MPRIS_CAPS_CAN_PROVIDE_METADATA | |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
338 MPRIS_CAPS_PROVIDES_TIMING; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
339 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
340 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
341 gboolean mpris_player_volume_set(MprisPlayer *obj, gint vol, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
342 gint vl, vr, v; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
343 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
344 // get the current volume so we can maintain the balance |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
345 input_get_volume(&vl, &vr); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
346 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
347 // sanity check |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
348 vl = CLAMP(vl, 0, 100); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
349 vr = CLAMP(vr, 0, 100); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
350 v = CLAMP(vol, 0, 100); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
351 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
352 if (vl > vr) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
353 input_set_volume(v, (gint) rint(((gdouble) vr / vl) * v)); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
354 } else if (vl < vr) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
355 input_set_volume((gint) rint(((gdouble) vl / vr) * v), v); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
356 } else { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
357 input_set_volume(v, v); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
358 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
359 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
360 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
361 gboolean mpris_player_volume_get(MprisPlayer *obj, gint *vol, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
362 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
363 gint vl, vr; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
364 input_get_volume(&vl, &vr); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
365 // vl and vr may be different depending on the balance; the true volume is |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
366 // the maximum of vl or vr. |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
367 *vol = MAX(vl, vr); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
368 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
369 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
370 gboolean mpris_player_position_set(MprisPlayer *obj, gint pos, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
371 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
372 gint time = CLAMP(pos / 1000, 0, |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
373 playlist_get_current_length(playlist_get_active()) / 1000 - 1); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
374 playback_seek(time); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
375 return TRUE; |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
376 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
377 gboolean mpris_player_position_get(MprisPlayer *obj, gint *pos, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
378 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
379 if (playback_get_playing()) |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
380 *pos = playback_get_time(); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
381 else |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
382 *pos = 0; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
383 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
384 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
385 // MPRIS /Player signals |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
386 gboolean mpris_emit_caps_change(MprisPlayer *obj) { |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
387 g_signal_emit(obj, signals[CAPS_CHANGE_SIG], 0, 0); |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
388 return TRUE; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
389 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
390 |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
391 gboolean mpris_emit_track_change(MprisPlayer *obj) { |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
392 GHashTable *metadata; |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
393 Tuple *tuple = NULL; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
394 GValue *value; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
395 Playlist *active; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
396 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
397 active = playlist_get_active(); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
398 gint pos = playlist_get_position(active); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
399 tuple = playlist_get_tuple(active, pos); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
400 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
401 metadata = mpris_metadata_from_tuple(tuple); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
402 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
403 if (metadata != NULL) { |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
404 // Song URI |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
405 value = g_new0(GValue, 1); |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
406 g_value_init(value, G_TYPE_STRING); |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
407 g_value_set_string(value, playlist_get_filename(active, pos)); |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
408 |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
409 g_hash_table_insert(metadata, "URI", value); |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
410 } |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
411 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
412 g_signal_emit(obj, signals[TRACK_CHANGE_SIG], 0, metadata); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
413 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
414 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
415 |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
416 gboolean mpris_emit_status_change(MprisPlayer *obj, PlaybackStatus status) { |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
417 g_signal_emit(obj, signals[STATUS_CHANGE_SIG], 0, status); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
418 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
419 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
420 |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
421 // MPRIS /TrackList |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
422 gboolean mpris_tracklist_get_metadata(MprisTrackList *obj, gint pos, |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
423 GHashTable **metadata, GError **error) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
424 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
425 Tuple *tuple = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
426 GValue *value; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
427 Playlist *active; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
428 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
429 active = playlist_get_active(); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
430 tuple = playlist_get_tuple(active, pos); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
431 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
432 md = mpris_metadata_from_tuple(tuple); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
433 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
434 if (md == NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
435 // there's no metadata for this track |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
436 return TRUE; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
437 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
438 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
439 // Song URI |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
440 value = g_new0(GValue, 1); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
441 g_value_init(value, G_TYPE_STRING); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
442 g_value_set_string(value, playlist_get_filename(active, pos)); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
443 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
444 g_hash_table_insert(md, "URI", value); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
445 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
446 *metadata = md; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
447 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
448 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
449 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
450 gboolean mpris_tracklist_get_current_track(MprisTrackList *obj, gint *pos, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
451 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
452 *pos = playlist_get_position(playlist_get_active()); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
453 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
454 } |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
455 gboolean mpris_tracklist_get_length(MprisTrackList *obj, gint *length, |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
456 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
457 *length = playlist_get_length(playlist_get_active()); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
458 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
459 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
460 gboolean mpris_tracklist_add_track(MprisTrackList *obj, gchar *uri, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
461 gboolean play, GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
462 guint num_added; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
463 num_added = playlist_add_url(playlist_get_active(), uri); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
464 if (play && num_added > 0) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
465 gint pos = playlist_get_length(playlist_get_active()) - 1; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
466 playlist_set_position(playlist_get_active(), pos); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
467 playback_initiate(); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
468 } |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
469 // TODO: set an error if num_added == 0 |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
470 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
471 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
472 gboolean mpris_tracklist_del_track(MprisTrackList *obj, gint pos, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
473 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
474 playlist_delete_index(playlist_get_active(), pos); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
475 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
476 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
477 gboolean mpris_tracklist_loop(MprisTrackList *obj, gboolean loop, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
478 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
479 mainwin_repeat_pushed(loop); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
480 if (loop) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
481 mainwin_set_noplaylistadvance(FALSE); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
482 mainwin_set_stopaftersong(FALSE); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
483 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
484 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
485 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
486 gboolean mpris_tracklist_random(MprisTrackList *obj, gboolean random, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
487 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
488 mainwin_shuffle_pushed(random); |
3268
8af43e099cce
Added function prototypes for Disconnect and GetMetadata methods, and a prototype for the Disconnected signal.
Ben Tucker <ben.tucker@gmail.com>
parents:
3165
diff
changeset
|
489 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
490 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
491 |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
492 // Audacious General Information |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
493 gboolean audacious_rc_version(RemoteObject *obj, gchar **version, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
494 *version = g_strdup(VERSION); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
495 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
496 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
497 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
498 gboolean audacious_rc_quit(RemoteObject *obj, GError **error) { |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
499 mainwin_quit_cb(); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
500 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
501 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
502 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
503 gboolean audacious_rc_eject(RemoteObject *obj, GError **error) { |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
504 if (has_x11_connection) |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
505 mainwin_eject_pushed(); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
506 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
507 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
508 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
509 gboolean audacious_rc_main_win_visible(RemoteObject *obj, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
510 gboolean *is_main_win, GError **error) { |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
511 *is_main_win = cfg.player_visible; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
512 g_message("main win %s\n", (cfg.player_visible? "visible" : "hidden")); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
513 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
514 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
515 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
516 gboolean audacious_rc_show_main_win(RemoteObject *obj, gboolean show, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
517 GError **error) { |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
518 g_message("%s main win\n", (show? "showing": "hiding")); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
519 if (has_x11_connection) |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
520 mainwin_show(show); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
521 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
522 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
523 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
524 gboolean audacious_rc_equalizer_visible(RemoteObject *obj, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
525 gboolean *is_eq_win, GError **error) { |
2741 | 526 *is_eq_win = cfg.equalizer_visible; |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
527 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
528 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
529 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
530 gboolean audacious_rc_show_equalizer(RemoteObject *obj, gboolean show, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
531 GError **error) { |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
532 if (has_x11_connection) |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
533 equalizerwin_show(show); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
534 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
535 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
536 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
537 gboolean audacious_rc_playlist_visible(RemoteObject *obj, gboolean *is_pl_win, |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
538 GError **error) { |
2741 | 539 *is_pl_win = cfg.playlist_visible; |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
540 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
541 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
542 |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
543 gboolean audacious_rc_show_playlist(RemoteObject *obj, gboolean show, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
544 GError **error) { |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
545 if (has_x11_connection) { |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
546 if (show) |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
547 playlistwin_show(); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
548 else |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
549 playlistwin_hide(); |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
550 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
551 return TRUE; |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
552 } |
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
553 |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
554 // Playback Information/Manipulation |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
555 gboolean audacious_rc_play(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
556 if (playback_get_paused()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
557 playback_pause(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
558 else if (playlist_get_length(playlist_get_active())) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
559 playback_initiate(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
560 else |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
561 mainwin_eject_pushed(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
562 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
563 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
564 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
565 gboolean audacious_rc_pause(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
566 playback_pause(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
567 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
568 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
569 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
570 gboolean audacious_rc_stop(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
571 ip_data.stop = TRUE; |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
572 playback_stop(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
573 ip_data.stop = FALSE; |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
574 mainwin_clear_song_info(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
575 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
576 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
577 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
578 gboolean audacious_rc_playing(RemoteObject *obj, gboolean *is_playing, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
579 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
580 *is_playing = playback_get_playing(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
581 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
582 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
583 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
584 gboolean audacious_rc_paused(RemoteObject *obj, gboolean *is_paused, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
585 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
586 *is_paused = playback_get_paused(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
587 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
588 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
589 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
590 gboolean audacious_rc_stopped(RemoteObject *obj, gboolean *is_stopped, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
591 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
592 *is_stopped = !playback_get_playing(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
593 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
594 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
595 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
596 gboolean audacious_rc_status(RemoteObject *obj, gchar **status, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
597 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
598 if (playback_get_paused()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
599 *status = g_strdup("paused"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
600 else if (playback_get_playing()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
601 *status = g_strdup("playing"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
602 else |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
603 *status = g_strdup("stopped"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
604 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
605 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
606 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
607 gboolean audacious_rc_info(RemoteObject *obj, gint *rate, gint *freq, |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
608 gint *nch, GError **error) { |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
609 playback_get_sample_params(rate, freq, nch); |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
610 return TRUE; |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
611 } |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
612 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
613 gboolean audacious_rc_time(RemoteObject *obj, gint *time, GError **error) { |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
614 if (playback_get_playing()) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
615 *time = playback_get_time(); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
616 else |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
617 *time = 0; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
618 return TRUE; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
619 } |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
620 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
621 gboolean audacious_rc_seek(RemoteObject *obj, guint pos, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
622 if (playlist_get_current_length(playlist_get_active()) > 0 && |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
623 pos < (guint)playlist_get_current_length(playlist_get_active())) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
624 playback_seek(pos / 1000); |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
625 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
626 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
627 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
628 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
629 gboolean audacious_rc_volume(RemoteObject *obj, gint *vl, gint *vr, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
630 GError **error) { |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
631 input_get_volume(vl, vr); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
632 return TRUE; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
633 } |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
634 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
635 gboolean audacious_rc_set_volume(RemoteObject *obj, gint vl, gint vr, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
636 GError **error) { |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
637 if (vl > 100) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
638 vl = 100; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
639 if (vr > 100) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
640 vr = 100; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
641 input_set_volume(vl, vr); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
642 return TRUE; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
643 } |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
644 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
645 gboolean audacious_rc_balance(RemoteObject *obj, gint *balance, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
646 GError **error) { |
2711
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
647 gint vl, vr; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
648 input_get_volume(&vl, &vr); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
649 if (vl < 0 || vr < 0) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
650 *balance = 0; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
651 else if (vl > vr) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
652 *balance = -100 + ((vr * 100) / vl); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
653 else if (vr > vl) |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
654 *balance = 100 - ((vl * 100) / vr); |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
655 else |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
656 *balance = 0; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
657 return TRUE; |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
658 } |
c35913222440
[svn] Initial commit of dbus client library for plugins. Various changes were made to the plugin structure to support dbus.
magma
parents:
2706
diff
changeset
|
659 |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
660 // Playlist Information/Manipulation |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
661 gboolean audacious_rc_position(RemoteObject *obj, gint *pos, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
662 *pos = playlist_get_position(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
663 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
664 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
665 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
666 gboolean audacious_rc_advance(RemoteObject *obj, GError **error) { |
2696
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
667 playlist_next(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
668 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
669 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
670 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
671 gboolean audacious_rc_reverse(RemoteObject *obj, GError **error) { |
2696
c00850315ce1
[svn] Fixed licensing issues and DBus node/interface names. Also implemented playlist advance and reverse.
magma
parents:
2695
diff
changeset
|
672 playlist_prev(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
673 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
674 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
675 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
676 gboolean audacious_rc_length(RemoteObject *obj, gint *length, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
677 GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
678 *length = playlist_get_length(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
679 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
680 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
681 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
682 gboolean audacious_rc_song_title(RemoteObject *obj, guint pos, |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
683 gchar **title, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
684 *title = playlist_get_songtitle(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
685 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
686 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
687 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
688 gboolean audacious_rc_song_filename(RemoteObject *obj, guint pos, |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
689 gchar **filename, GError **error) { |
2814
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
690 gchar *tmp = NULL; |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
691 tmp = playlist_get_filename(playlist_get_active(), pos); |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
692 |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
693 if(tmp){ |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
694 *filename = str_to_utf8(tmp); |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
695 } |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
696 free(tmp); |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
697 tmp = NULL; |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
698 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
699 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
700 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
701 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
702 gboolean audacious_rc_song_length(RemoteObject *obj, guint pos, gint *length, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
703 GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
704 *length = playlist_get_songtime(playlist_get_active(), pos) / 1000; |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
705 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
706 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
707 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
708 gboolean audacious_rc_song_frames(RemoteObject *obj, guint pos, gint *length, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
709 GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
710 *length = playlist_get_songtime(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
711 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
712 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
713 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
714 gboolean audacious_rc_song_tuple(RemoteObject *obj, guint pos, gchar *field, |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
715 GValue *value, GError **error) { |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
716 Tuple *tuple; |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
717 tuple = playlist_get_tuple(playlist_get_active(), pos); |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
718 if (!tuple) { |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
719 return FALSE; |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
720 } else { |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
721 TupleValueType type = tuple_get_value_type(tuple, -1, field); |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
722 |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
723 switch(type) |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
724 { |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
725 case TUPLE_STRING: |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
726 g_value_init(value, G_TYPE_STRING); |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
727 g_value_set_string(value, tuple_get_string(tuple, -1, field)); |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
728 break; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
729 case TUPLE_INT: |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
730 g_value_init(value, G_TYPE_INT); |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
731 g_value_set_int(value, tuple_get_int(tuple, -1, field)); |
3298
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
732 break; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
733 default: |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
734 return FALSE; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
735 break; |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
736 } |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
737 } |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
738 return TRUE; |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
739 } |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
740 |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
741 gboolean audacious_rc_jump(RemoteObject *obj, guint pos, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
742 if (pos < (guint)playlist_get_length(playlist_get_active())) |
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
743 playlist_set_position(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
744 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
745 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
746 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
747 gboolean audacious_rc_add(RemoteObject *obj, gchar *file, GError **error) { |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
748 playlist_add_url(playlist_get_active(), file); |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
749 return TRUE; |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
750 } |
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
751 gboolean audacious_rc_add_url(RemoteObject *obj, gchar *url, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
752 playlist_add_url(playlist_get_active(), url); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
753 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
754 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
755 |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
756 gboolean audacious_rc_delete(RemoteObject *obj, guint pos, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
757 playlist_delete_index(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
758 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
759 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
760 |
2733
cf080b11c3fa
[svn] Implemented more of the stubs in audctrl; Added more methods to objects.xml with implementations in dbus.c. I'm still trying to get plugins working with libaudclient.
magma
parents:
2728
diff
changeset
|
761 gboolean audacious_rc_clear(RemoteObject *obj, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
762 playlist_clear(playlist_get_active()); |
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
763 mainwin_clear_song_info(); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
764 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
765 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
766 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
767 gboolean audacious_rc_auto_advance(RemoteObject *obj, gboolean *is_advance, |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
768 GError **error) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
769 *is_advance = cfg.no_playlist_advance; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
770 return TRUE; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
771 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
772 |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
773 gboolean audacious_rc_toggle_auto_advance(RemoteObject *obj, GError **error) { |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
774 cfg.no_playlist_advance = !cfg.no_playlist_advance; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
775 return TRUE; |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
776 } |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
777 |
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
778 gboolean audacious_rc_repeat(RemoteObject *obj, gboolean *is_repeating, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
779 GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
780 *is_repeating = cfg.repeat; |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
781 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
782 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
783 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
784 gboolean audacious_rc_toggle_repeat(RemoteObject *obj, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
785 mainwin_repeat_pushed(!cfg.repeat); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
786 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
787 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
788 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
789 gboolean audacious_rc_shuffle(RemoteObject *obj, gboolean *is_shuffling, |
2766
ea20b1e92411
[svn] Added CMD_GET_INFO and CMD_PLAYLIST_GET_TUPLE_DATA replacements; Changed some formatting and used unsigned numbers where appropriate.
magma
parents:
2741
diff
changeset
|
790 GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
791 *is_shuffling = cfg.shuffle; |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
792 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
793 } |
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
794 |
2769
bf2d80abf76e
[svn] Implemented CMD_IS_ADVANCE and CMD_TOGGLE_ADVANCE. Added partial MPRIS support. Root is complete, Player is partially implemented, and TrackList has not been started.
magma
parents:
2766
diff
changeset
|
795 gboolean audacious_rc_toggle_shuffle(RemoteObject *obj, GError **error) { |
2706
958d12f78138
[svn] Completed the implementation of all the stubs in dbus.c, and commented the creation of the mpris dbus bindings to fix compilation issues.
magma
parents:
2702
diff
changeset
|
796 mainwin_shuffle_pushed(!cfg.shuffle); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
797 return TRUE; |
2694
c2b82432c1b6
[svn] Added basic DBus support, disabled by default with a configuration option to enable it. The general and playback information/manipulation methods are currently the only ones implemented. That is version, play, pause, stop, playing, paused, stopped, status, and seek. There are stubs for many unimplemented methods.
magma
parents:
diff
changeset
|
798 } |
2785 | 799 |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
800 /* New on Oct 5 */ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
801 gboolean audacious_rc_show_prefs_box(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
802 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
803 show_prefs_window(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
804 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
805 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
806 gboolean audacious_rc_show_about_box(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
807 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
808 show_about_window(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
809 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
810 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
811 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
812 gboolean audacious_rc_show_jtf_box(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
813 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
814 ui_jump_to_track(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
815 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
816 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
817 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
818 gboolean audacious_rc_play_pause(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
819 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
820 playback_pause(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
821 else |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
822 playback_initiate(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
823 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
824 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
825 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
826 gboolean audacious_rc_activate(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
827 gtk_window_present(GTK_WINDOW(mainwin)); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
828 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
829 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
830 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
831 gboolean audacious_rc_get_skin(RemoteObject *obj, gchar **skin, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
832 *skin = g_strdup(bmp_active_skin->path); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
833 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
834 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
835 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
836 gboolean audacious_rc_set_skin(RemoteObject *obj, gchar *skin, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
837 if (has_x11_connection == TRUE) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
838 bmp_active_skin_load(skin); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
839 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
840 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
841 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
842 gboolean audacious_rc_get_info(RemoteObject *obj, gint *rate, gint *freq, gint *nch, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
843 playback_get_sample_params(rate, freq, nch); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
844 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
845 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
846 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
847 gboolean audacious_rc_toggle_aot(RemoteObject *obj, gboolean ontop, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
848 if (has_x11_connection) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
849 mainwin_set_always_on_top(ontop); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
850 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
851 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
852 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
853 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
854 /* New on Oct9: Queue */ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
855 gboolean audacious_rc_playqueue_add(RemoteObject *obj, gint pos, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
856 if (pos < (guint)playlist_get_length(playlist_get_active())) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
857 playlist_queue_position(playlist_get_active(), pos); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
858 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
859 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
860 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
861 gboolean audacious_rc_playqueue_remove(RemoteObject *obj, gint pos, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
862 if (pos < (guint)playlist_get_length(playlist_get_active())) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
863 playlist_queue_remove(playlist_get_active(), pos); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
864 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
865 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
866 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
867 gboolean audacious_rc_playqueue_clear(RemoteObject *obj, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
868 playlist_clear_queue(playlist_get_active()); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
869 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
870 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
871 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
872 gboolean audacious_rc_get_playqueue_length(RemoteObject *obj, gint *length, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
873 *length = playlist_queue_get_length(playlist_get_active()); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
874 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
875 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
876 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
877 gboolean audacious_rc_queue_get_list_pos(RemoteObject *obj, gint qpos, gint *pos, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
878 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
879 *pos = playlist_get_queue_qposition_number(playlist_get_active(), qpos); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
880 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
881 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
882 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
883 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
884 gboolean audacious_rc_queue_get_queue_pos(RemoteObject *obj, gint pos, gint *qpos, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
885 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
886 *qpos = playlist_get_queue_position_number(playlist_get_active(), pos); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
887 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
888 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
889 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
890 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
891 gboolean audacious_rc_playqueue_is_queued(RemoteObject *obj, gint pos, gboolean *is_queued, GError **error) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
892 *is_queued = playlist_is_position_queued(playlist_get_active(), pos); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
893 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
894 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
895 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
896 gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint pos, GError **error) { |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
897 if (pos >= 0 && url && strlen(url)) { |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
898 playlist_ins_url(playlist_get_active(), url, pos); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
899 } |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
900 return TRUE; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
901 } |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
902 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
903 static void call_playlist_add_url(GList *list, gpointer *data) { |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
904 playlist_add_url(playlist_get_active(), list->data); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
905 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
906 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
907 gboolean audacious_rc_playlist_add(RemoteObject *obj, gpointer list, GError **error) { |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
908 g_list_foreach((GList *)list, (GFunc)call_playlist_add_url, NULL); |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
909 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
910 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
911 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
912 gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, gchar *url, GError **error) { |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
913 GList *playlists = NULL; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
914 Playlist *new_pl = playlist_new(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
915 gchar *pl_name = NULL; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
916 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
917 pl_name = (gchar*)playlist_get_current_name(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
918 if(!pl_name) |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
919 pl_name = g_strdup("New Playlist"); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
920 playlist_set_current_name(new_pl, pl_name); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
921 g_free(pl_name); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
922 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
923 playlists = playlist_get_playlists(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
924 playlist_add_playlist(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
925 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
926 // DISABLE_MANAGER_UPDATE(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
927 playlist_select_playlist(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
928 // ENABLE_MANAGER_UPDATE(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
929 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
930 playlist_add_url(new_pl, url); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
931 |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
932 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
933 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
934 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
935 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
936 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
937 /********************************************************************************/ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
938 |
2785 | 939 DBusGProxy *audacious_get_dbus_proxy(void) |
940 { | |
941 DBusGConnection *connection = NULL; | |
942 GError *error = NULL; | |
943 connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); | |
944 g_clear_error(&error); | |
945 return dbus_g_proxy_new_for_name(connection, AUDACIOUS_DBUS_SERVICE, | |
946 AUDACIOUS_DBUS_PATH, | |
947 AUDACIOUS_DBUS_INTERFACE); | |
948 } |