Mercurial > audlegacy
annotate src/audacious/dbus.c @ 3884:106bbe8b29be
Czech translation update
(imported from Bugzilla #43 by William Pitcock <nenolod@atheme.org>)
author | Petr Pisar <petr.pisar@atlas.cz> |
---|---|
date | Thu, 01 Nov 2007 16:21:57 -0500 |
parents | f3341c2d6b9e |
children | 5c8d5ff0e601 |
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; |
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
|
164 // 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 } |
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 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
172 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
|
173 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
|
174 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
|
175 mpris = g_object_new(mpris_player_get_type(), NULL); |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
176 g_object_new(mpris_tracklist_get_type(), NULL); |
2728
452a159dc619
[svn] - log when dbus has been successfully started up
nenolod
parents:
2717
diff
changeset
|
177 g_message("D-Bus support has been activated"); |
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
|
178 } |
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
|
179 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
180 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
|
181 GValue *val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
182 TupleValueType type; |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
183 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
|
184 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
|
185 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
|
186 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
187 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
|
188 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
|
189 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
|
190 |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
191 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
|
192 return val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
193 } 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
|
194 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
|
195 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
|
196 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
|
197 return val; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
198 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
199 return NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
200 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
201 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
202 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
|
203 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
204 GValue *value; |
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 if (tuple == NULL) |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
207 return NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
208 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
209 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
|
210 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
211 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
|
212 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
213 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
|
214 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
215 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
216 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
|
217 if (value != NULL) { |
3348
2a081105513c
-Set the track "title" in metadata instead of "name"
Ben Tucker <ben.tucker@gmail.com>
parents:
3346
diff
changeset
|
218 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
|
219 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
220 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
221 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
|
222 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
223 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
|
224 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
225 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
226 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
|
227 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
228 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
|
229 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
230 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
231 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
|
232 if (value != NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
233 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
|
234 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
235 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
236 return md; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
237 } |
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 /* MPRIS API */ |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
240 // 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
|
241 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
|
242 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
|
243 *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
|
244 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
|
245 } |
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 |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
247 // 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
|
248 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
|
249 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
|
250 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
|
251 } |
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_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
|
253 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
|
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_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
|
257 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
|
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_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
|
261 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
|
262 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
|
263 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
|
264 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
|
265 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
|
266 } |
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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 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
|
275 } |
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
|
276 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
|
277 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
|
278 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
|
279 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
|
280 } |
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
|
281 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
|
282 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
|
283 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
|
284 } |
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
|
285 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
|
286 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
287 // 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
|
288 // 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
|
289 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
|
290 *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
|
291 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
|
292 *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
|
293 else |
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_STOP; |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
295 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
|
296 } |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
297 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
|
298 GError **error) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
299 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
300 Tuple *tuple = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
301 GValue *value; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
302 Playlist *active; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
303 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
304 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
|
305 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
|
306 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
|
307 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
308 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
|
309 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
310 if (md == NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
311 // 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
|
312 return TRUE; |
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 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
315 // Song URI |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
316 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
|
317 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
|
318 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
|
319 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
320 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
|
321 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
322 *metadata = md; |
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 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
|
325 } |
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
|
326 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
|
327 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
328 *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
|
329 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
|
330 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
|
331 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
|
332 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
|
333 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
|
334 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
|
335 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
|
336 } |
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
|
337 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
|
338 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
|
339 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
340 // 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
|
341 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
|
342 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
343 // sanity check |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
344 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
|
345 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
|
346 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
|
347 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
348 if (vl > vr) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
349 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
|
350 } 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
|
351 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
|
352 } else { |
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, v); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
354 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
355 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
|
356 } |
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
|
357 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
|
358 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
359 gint vl, vr; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
360 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
|
361 // 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
|
362 // 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
|
363 *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
|
364 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
|
365 } |
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
|
366 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
|
367 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
368 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
|
369 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
|
370 playback_seek(time); |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
371 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
|
372 } |
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
|
373 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
|
374 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
375 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
|
376 *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
|
377 else |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
378 *pos = 0; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
379 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
380 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
381 // MPRIS /Player signals |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
382 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
|
383 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
|
384 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
|
385 } |
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
|
386 |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
387 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
|
388 GHashTable *metadata; |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
389 Tuple *tuple = NULL; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
390 GValue *value; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
391 Playlist *active; |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
392 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
393 active = playlist_get_active(); |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
394 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
|
395 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
|
396 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
397 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
|
398 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
399 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
|
400 // Song URI |
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
401 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
|
402 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
|
403 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
|
404 |
3827
fd86a88426f4
dbus: ensure that only proper UTF8 is sent over the wire.
William Pitcock <nenolod@atheme.org>
parents:
3490
diff
changeset
|
405 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
|
406 } |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
407 |
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
408 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
|
409 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
410 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
411 |
3346
71d8d93f1bad
Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
Ben Tucker <ben.tucker@gmail.com>
parents:
3344
diff
changeset
|
412 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
|
413 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
|
414 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
415 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
416 |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
417 // MPRIS /TrackList |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
418 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
|
419 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
|
420 GHashTable *md = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
421 Tuple *tuple = NULL; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
422 GValue *value; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
423 Playlist *active; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
424 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
425 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
|
426 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
|
427 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
428 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
|
429 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
430 if (md == NULL) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
431 // 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
|
432 return TRUE; |
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 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
435 // Song URI |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
436 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
|
437 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
|
438 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
|
439 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
440 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
|
441 |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
442 *metadata = md; |
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 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
445 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
446 gboolean mpris_tracklist_get_current_track(MprisTrackList *obj, gint *pos, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
447 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
448 *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
|
449 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
450 } |
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
|
451 gboolean mpris_tracklist_get_length(MprisTrackList *obj, gint *length, |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
452 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
453 *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
|
454 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
455 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
456 gboolean mpris_tracklist_add_track(MprisTrackList *obj, gchar *uri, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
457 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
|
458 guint num_added; |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
459 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
|
460 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
|
461 gint pos = playlist_get_length(playlist_get_active()) - 1; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
462 playlist_set_position(playlist_get_active(), pos); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
463 playback_initiate(); |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
464 } |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
465 // TODO: set an error if num_added == 0 |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
466 return TRUE; |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
467 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
468 gboolean mpris_tracklist_del_track(MprisTrackList *obj, gint pos, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
469 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
470 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
|
471 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
472 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
473 gboolean mpris_tracklist_loop(MprisTrackList *obj, gboolean loop, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
474 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
475 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
|
476 if (loop) { |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
477 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
|
478 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
|
479 } |
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
480 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
481 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
482 gboolean mpris_tracklist_random(MprisTrackList *obj, gboolean random, |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
483 GError **error) { |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
484 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
|
485 return TRUE; |
2771
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
486 } |
4585019eb82e
[svn] -Renamed MPRIS /TrackList Shuffle method to Random
magma
parents:
2769
diff
changeset
|
487 |
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
|
488 // Audacious General Information |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
489 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
|
490 *version = g_strdup(VERSION); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
491 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
|
492 } |
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
|
493 |
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
|
494 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
|
495 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
|
496 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
|
497 } |
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 |
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 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
|
500 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
|
501 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
|
502 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
|
503 } |
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 |
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 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
|
506 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
|
507 *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
|
508 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
|
509 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
|
510 } |
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 |
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 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
|
513 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
|
514 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
|
515 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
|
516 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
|
517 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
|
518 } |
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 |
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 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
|
521 gboolean *is_eq_win, GError **error) { |
2741 | 522 *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
|
523 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
|
524 } |
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
|
525 |
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
|
526 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
|
527 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
|
528 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
|
529 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
|
530 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
|
531 } |
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 |
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
|
533 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
|
534 GError **error) { |
2741 | 535 *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
|
536 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
|
537 } |
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
|
538 |
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
|
539 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
|
540 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
|
541 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
|
542 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
|
543 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
|
544 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
|
545 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
|
546 } |
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 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
|
548 } |
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 |
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
|
550 // 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
|
551 gboolean audacious_rc_play(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
552 if (playback_get_paused()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
553 playback_pause(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
554 else if (playlist_get_length(playlist_get_active())) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
555 playback_initiate(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
556 else |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
557 mainwin_eject_pushed(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
558 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
|
559 } |
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
|
560 |
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
|
561 gboolean audacious_rc_pause(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
562 playback_pause(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
563 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
|
564 } |
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
|
565 |
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
|
566 gboolean audacious_rc_stop(RemoteObject *obj, GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
567 ip_data.stop = TRUE; |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
568 playback_stop(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
569 ip_data.stop = FALSE; |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
570 mainwin_clear_song_info(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
571 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
|
572 } |
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
|
573 |
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
|
574 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
|
575 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
576 *is_playing = playback_get_playing(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
577 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
|
578 } |
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
|
579 |
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
|
580 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
|
581 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
582 *is_paused = playback_get_paused(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
583 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
|
584 } |
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
|
585 |
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
|
586 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
|
587 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
588 *is_stopped = !playback_get_playing(); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
589 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
|
590 } |
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
|
591 |
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
|
592 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
|
593 GError **error) { |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
594 if (playback_get_paused()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
595 *status = g_strdup("paused"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
596 else if (playback_get_playing()) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
597 *status = g_strdup("playing"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
598 else |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
599 *status = g_strdup("stopped"); |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
600 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
|
601 } |
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
|
602 |
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
|
603 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
|
604 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
|
605 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
|
606 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
|
607 } |
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 |
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
|
609 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
|
610 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
|
611 *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
|
612 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
|
613 *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
|
614 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
|
615 } |
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 |
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
|
617 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
|
618 if (playlist_get_current_length(playlist_get_active()) > 0 && |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
619 pos < (guint)playlist_get_current_length(playlist_get_active())) |
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
620 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
|
621 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
622 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
|
623 } |
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
|
624 |
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
|
625 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
|
626 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
|
627 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
|
628 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
|
629 } |
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
|
630 |
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
|
631 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
|
632 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
|
633 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
|
634 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
|
635 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
|
636 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
|
637 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
|
638 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
|
639 } |
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 |
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
|
641 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
|
642 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
|
643 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
|
644 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
|
645 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
|
646 *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
|
647 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
|
648 *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
|
649 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
|
650 *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
|
651 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
|
652 *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
|
653 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
|
654 } |
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 |
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
|
656 // 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
|
657 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
|
658 *pos = playlist_get_position(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
659 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
|
660 } |
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
|
661 |
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
|
662 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
|
663 playlist_next(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
664 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
|
665 } |
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
|
666 |
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
|
667 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
|
668 playlist_prev(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
669 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
|
670 } |
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
|
671 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
672 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
|
673 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
|
674 *length = playlist_get_length(playlist_get_active()); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
675 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
|
676 } |
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
|
677 |
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
|
678 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
|
679 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
|
680 *title = playlist_get_songtitle(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
681 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
|
682 } |
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
|
683 |
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
|
684 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
|
685 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
|
686 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
|
687 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
|
688 |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
689 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
|
690 *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
|
691 } |
77a012c3b521
[svn] - give default values to audacious_remote_* functions. if dbus call fails, default value will be returned.
yaz
parents:
2785
diff
changeset
|
692 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
|
693 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
|
694 |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
695 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
|
696 } |
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
|
697 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
698 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
|
699 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
|
700 *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
|
701 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
|
702 } |
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
|
703 |
3344
c03055ef8822
-Implemented /Player GetStatus, GetMetadata, GetCaps, PositionGet, PositionSet, VolumeGet, and VolumeSet
Ben Tucker <ben.tucker@gmail.com>
parents:
3336
diff
changeset
|
704 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
|
705 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
|
706 *length = playlist_get_songtime(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
707 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
|
708 } |
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
|
709 |
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
|
710 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
|
711 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
|
712 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
|
713 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
|
714 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
|
715 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
|
716 } else { |
3490
602ec8c40d0d
Fixed to comply with the Tuple API changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
3348
diff
changeset
|
717 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
|
718 |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
719 switch(type) |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
720 { |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
721 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
|
722 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
|
723 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
|
724 break; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
725 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
|
726 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
|
727 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
|
728 break; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
729 default: |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
730 return FALSE; |
f985357757e0
audacious-core: convert to tuple-ng, remove titlestring API.
William Pitcock <nenolod@atheme-project.org>
parents:
3268
diff
changeset
|
731 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
|
732 } |
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
|
733 } |
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
|
734 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
|
735 } |
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 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
|
738 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
|
739 playlist_set_position(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
740 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
|
741 } |
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
|
742 |
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
|
743 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
|
744 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
|
745 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
|
746 } |
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_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
|
748 playlist_add_url(playlist_get_active(), url); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
749 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
|
750 } |
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
|
751 |
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
|
752 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
|
753 playlist_delete_index(playlist_get_active(), pos); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
754 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
|
755 } |
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
|
756 |
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
|
757 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
|
758 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
|
759 mainwin_clear_song_info(); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
760 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
|
761 } |
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
|
762 |
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
|
763 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
|
764 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
|
765 *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
|
766 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
|
767 } |
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 |
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 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
|
770 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
|
771 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
|
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 |
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 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
|
775 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
|
776 *is_repeating = cfg.repeat; |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
777 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
|
778 } |
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
|
779 |
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
|
780 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
|
781 mainwin_repeat_pushed(!cfg.repeat); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
782 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
|
783 } |
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
|
784 |
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
|
785 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
|
786 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
|
787 *is_shuffling = cfg.shuffle; |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
788 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
|
789 } |
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
|
790 |
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
|
791 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
|
792 mainwin_shuffle_pushed(!cfg.shuffle); |
2695
4c4c8b294287
[svn] Fixed formatting. Tabs + tw=2 ==> spaces + tw=4.
magma
parents:
2694
diff
changeset
|
793 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
|
794 } |
2785 | 795 |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
796 /* New on Oct 5 */ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
797 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
|
798 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
799 show_prefs_window(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
800 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
801 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
802 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
|
803 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
804 show_about_window(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
805 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
806 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
807 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
808 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
|
809 if (has_x11_connection) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
810 ui_jump_to_track(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
811 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
812 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
813 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
814 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
|
815 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
816 playback_pause(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
817 else |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
818 playback_initiate(); |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
819 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
820 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
821 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
822 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
|
823 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
|
824 return TRUE; |
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 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
827 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
|
828 *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
|
829 return TRUE; |
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 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
832 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
|
833 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
|
834 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
|
835 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
836 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
837 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
838 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
|
839 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
|
840 return TRUE; |
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 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
843 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
|
844 if (has_x11_connection) { |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
845 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
|
846 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
847 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
848 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
849 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
850 /* New on Oct9: Queue */ |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
851 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
|
852 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
|
853 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
|
854 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
855 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
856 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
857 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
|
858 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
|
859 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
|
860 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
861 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
862 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
863 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
|
864 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
|
865 return TRUE; |
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 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
868 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
|
869 *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
|
870 return TRUE; |
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 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
873 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
|
874 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
875 *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
|
876 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
877 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
878 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
879 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
880 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
|
881 if (playback_get_playing()) |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
882 *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
|
883 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
884 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
885 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
886 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
887 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
|
888 *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
|
889 return TRUE; |
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 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
892 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
|
893 if (pos >= 0 && url && strlen(url)) { |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
894 playlist_ins_url(playlist_get_active(), url, pos); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
895 } |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
896 return TRUE; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
897 } |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
898 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
899 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
|
900 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
|
901 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
902 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
903 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
|
904 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
|
905 return TRUE; |
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 |
3873
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
908 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
|
909 GList *playlists = NULL; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
910 Playlist *new_pl = playlist_new(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
911 gchar *pl_name = NULL; |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
912 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
913 pl_name = (gchar*)playlist_get_current_name(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
914 if(!pl_name) |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
915 pl_name = g_strdup("New Playlist"); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
916 playlist_set_current_name(new_pl, pl_name); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
917 g_free(pl_name); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
918 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
919 playlists = playlist_get_playlists(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
920 playlist_add_playlist(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
921 |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
922 // DISABLE_MANAGER_UPDATE(); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
923 playlist_select_playlist(new_pl); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
924 // ENABLE_MANAGER_UPDATE(); |
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 playlist_add_url(new_pl, url); |
f3341c2d6b9e
audacious remote functions:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3867
diff
changeset
|
927 |
3867
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
928 return TRUE; |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
929 } |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
930 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
931 |
e48f2f4c116d
- many remained audacious remote functions have been implemented.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
3827
diff
changeset
|
932 |
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 |
2785 | 935 DBusGProxy *audacious_get_dbus_proxy(void) |
936 { | |
937 DBusGConnection *connection = NULL; | |
938 GError *error = NULL; | |
939 connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); | |
940 g_clear_error(&error); | |
941 return dbus_g_proxy_new_for_name(connection, AUDACIOUS_DBUS_SERVICE, | |
942 AUDACIOUS_DBUS_PATH, | |
943 AUDACIOUS_DBUS_INTERFACE); | |
944 } |