Rationalise the MPRIS dbus interface files down to three. Clean up the test client too.
This commit is contained in:
+3
-6
@@ -100,8 +100,8 @@ dbus-interface.h dbus-interface.c: org.gnome.ShairportSync.xml
|
||||
endif
|
||||
|
||||
if USE_MPRIS
|
||||
shairport_sync_SOURCES += mpris-service.c mpris-interface.c mpris-player-interface.c
|
||||
BUILT_SOURCES += mpris-interface.h mpris-interface.c mpris-player-interface.h mpris-player-interface.c
|
||||
shairport_sync_SOURCES += mpris-service.c mpris-interface.c
|
||||
BUILT_SOURCES += mpris-interface.h mpris-interface.c
|
||||
# We don't want to install this header
|
||||
noinst_HEADERS += $(BUILT_SOURCES)
|
||||
# Correctly clean the generated headers, but keep the xml description
|
||||
@@ -109,9 +109,6 @@ CLEANFILES += $(BUILT_SOURCES)
|
||||
|
||||
mpris-interface.h mpris-interface.c: org.mpris.MediaPlayer2.xml
|
||||
gdbus-codegen --interface-prefix org.mpris --generate-c-code mpris-interface org.mpris.MediaPlayer2.xml
|
||||
|
||||
mpris-player-interface.h mpris-player-interface.c: org.mpris.MediaPlayer2.Player.xml
|
||||
gdbus-codegen --interface-prefix org.mpris --generate-c-code mpris-player-interface org.mpris.MediaPlayer2.Player.xml
|
||||
endif
|
||||
|
||||
noinst_PROGRAMS =
|
||||
@@ -125,7 +122,7 @@ endif
|
||||
if USE_MPRIS_CLIENT
|
||||
#Make it, but don't install it anywhere
|
||||
noinst_PROGRAMS += shairport-sync-mpris-test-client
|
||||
shairport_sync_mpris_test_client_SOURCES = mpris-interface.c mpris-interface.h mpris-player-interface.c mpris-player-interface.h shairport-sync-mpris-test-client.c
|
||||
shairport_sync_mpris_test_client_SOURCES = mpris-interface.c mpris-interface.h shairport-sync-mpris-test-client.c
|
||||
endif
|
||||
|
||||
install-exec-hook:
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#define MPRIS_SERVICE_H
|
||||
|
||||
#include "mpris-interface.h"
|
||||
#include "mpris-player-interface.h"
|
||||
|
||||
MediaPlayer2 *mprisPlayerSkeleton;
|
||||
MediaPlayer2Player *mprisPlayerPlayerSkeleton;
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
|
||||
<node>
|
||||
<interface name='org.mpris.MediaPlayer2.Player'>
|
||||
<method name='Next'/>
|
||||
<method name='Previous'/>
|
||||
<method name='Pause'/>
|
||||
<method name='PlayPause'/>
|
||||
<method name='Stop'/>
|
||||
<method name='Play'/>
|
||||
<method name='Seek'>
|
||||
<arg direction='in' name='Offset' type='x'/>
|
||||
</method>
|
||||
<method name='SetPosition'>
|
||||
<arg direction='in' name='TrackId' type='o'/>
|
||||
<arg direction='in' name='Position' type='x'/>
|
||||
</method>
|
||||
<method name='OpenUri'>
|
||||
<arg direction='in' name='Uri' type='s'/>
|
||||
</method>
|
||||
<signal name='Seeked'>
|
||||
<arg name='Position' type='x'/>
|
||||
</signal>
|
||||
<property name='PlaybackStatus' type='s' access='read'/>
|
||||
<property name='LoopStatus' type='s' access='readwrite'/>
|
||||
<property name='Rate' type='d' access='readwrite'/>
|
||||
<property name='Shuffle' type='b' access='readwrite'/>
|
||||
<property name='Metadata' type='a{sv}' access='read'>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
|
||||
</property>
|
||||
<property name='Volume' type='d' access='read'/>
|
||||
<property name='Position' type='x' access='read'/>
|
||||
<property name='MinimumRate' type='d' access='read'/>
|
||||
<property name='MaximumRate' type='d' access='read'/>
|
||||
<property name='CanGoNext' type='b' access='read'/>
|
||||
<property name='CanGoPrevious' type='b' access='read'/>
|
||||
<property name='CanPlay' type='b' access='read'/>
|
||||
<property name='CanPause' type='b' access='read'/>
|
||||
<property name='CanSeek' type='b' access='read'/>
|
||||
<property name='CanControl' type='b' access='read'/>
|
||||
</interface>
|
||||
</node>
|
||||
+49
-20
@@ -1,25 +1,54 @@
|
||||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
|
||||
|
||||
<node>
|
||||
<interface name="org.mpris.MediaPlayer2">
|
||||
<method name="Raise"/>
|
||||
|
||||
<method name="Quit"/>
|
||||
|
||||
<property name="CanQuit" type="b" access="read"/>
|
||||
|
||||
<property name="CanRaise" type="b" access="read"/>
|
||||
|
||||
<property name="HasTrackList" type="b" access="read"/>
|
||||
|
||||
<property name="Identity" type="s" access="read"/>
|
||||
|
||||
<property name="DesktopEntry" type="s" access="read"/>
|
||||
|
||||
<property name="SupportedUriSchemes" type="as" access="read"/>
|
||||
|
||||
<property name="SupportedMimeTypes" type="as" access="read"/>
|
||||
</interface>
|
||||
<interface name="org.mpris.MediaPlayer2">
|
||||
<method name="Raise"/>
|
||||
<method name="Quit"/>
|
||||
<property name="CanQuit" type="b" access="read"/>
|
||||
<property name="CanRaise" type="b" access="read"/>
|
||||
<property name="HasTrackList" type="b" access="read"/>
|
||||
<property name="Identity" type="s" access="read"/>
|
||||
<property name="DesktopEntry" type="s" access="read"/>
|
||||
<property name="SupportedUriSchemes" type="as" access="read"/>
|
||||
<property name="SupportedMimeTypes" type="as" access="read"/>
|
||||
</interface>
|
||||
<interface name='org.mpris.MediaPlayer2.Player'>
|
||||
<method name='Next'/>
|
||||
<method name='Previous'/>
|
||||
<method name='Pause'/>
|
||||
<method name='PlayPause'/>
|
||||
<method name='Stop'/>
|
||||
<method name='Play'/>
|
||||
<method name='Seek'>
|
||||
<arg direction='in' name='Offset' type='x'/>
|
||||
</method>
|
||||
<method name='SetPosition'>
|
||||
<arg direction='in' name='TrackId' type='o'/>
|
||||
<arg direction='in' name='Position' type='x'/>
|
||||
</method>
|
||||
<method name='OpenUri'>
|
||||
<arg direction='in' name='Uri' type='s'/>
|
||||
</method>
|
||||
<signal name='Seeked'>
|
||||
<arg name='Position' type='x'/>
|
||||
</signal>
|
||||
<property name='PlaybackStatus' type='s' access='read'/>
|
||||
<property name='LoopStatus' type='s' access='readwrite'/>
|
||||
<property name='Rate' type='d' access='readwrite'/>
|
||||
<property name='Shuffle' type='b' access='readwrite'/>
|
||||
<property name='Metadata' type='a{sv}' access='read'>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
|
||||
</property>
|
||||
<property name='Volume' type='d' access='read'/>
|
||||
<property name='Position' type='x' access='read'/>
|
||||
<property name='MinimumRate' type='d' access='read'/>
|
||||
<property name='MaximumRate' type='d' access='read'/>
|
||||
<property name='CanGoNext' type='b' access='read'/>
|
||||
<property name='CanGoPrevious' type='b' access='read'/>
|
||||
<property name='CanPlay' type='b' access='read'/>
|
||||
<property name='CanPause' type='b' access='read'/>
|
||||
<property name='CanSeek' type='b' access='read'/>
|
||||
<property name='CanControl' type='b' access='read'/>
|
||||
</interface>
|
||||
</node>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "mpris-interface.h"
|
||||
#include "mpris-player-interface.h"
|
||||
#include <popt.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -91,19 +90,29 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
pthread_create(&dbus_thread, NULL, &dbus_thread_func, NULL);
|
||||
|
||||
MediaPlayer2Player *proxy;
|
||||
|
||||
GError *error = NULL;
|
||||
|
||||
proxy = media_player2_player_proxy_new_for_bus_sync(gbus_type_selected, G_DBUS_PROXY_FLAGS_NONE,
|
||||
GError *error1 = NULL;
|
||||
MediaPlayer2 *proxy1 = media_player2_proxy_new_for_bus_sync(gbus_type_selected, G_DBUS_PROXY_FLAGS_NONE,
|
||||
"org.mpris.MediaPlayer2.ShairportSync",
|
||||
"/org/mpris/MediaPlayer2", NULL, &error);
|
||||
g_signal_connect(proxy, "g-properties-changed", G_CALLBACK(on_properties_changed), NULL);
|
||||
"/org/mpris/MediaPlayer2", NULL, &error1);
|
||||
if (error1)
|
||||
printf("Error proxying MediaPlayer2");
|
||||
g_signal_connect(proxy1, "g-properties-changed", G_CALLBACK(on_properties_changed), NULL);
|
||||
|
||||
|
||||
GError *error2 = NULL;
|
||||
MediaPlayer2Player *proxy2 = media_player2_player_proxy_new_for_bus_sync(gbus_type_selected, G_DBUS_PROXY_FLAGS_NONE,
|
||||
"org.mpris.MediaPlayer2.ShairportSync",
|
||||
"/org/mpris/MediaPlayer2", NULL, &error2);
|
||||
if (error2)
|
||||
printf("Error proxying MediaPlayer2Player");
|
||||
g_signal_connect(proxy2, "g-properties-changed", G_CALLBACK(on_properties_changed), NULL);
|
||||
|
||||
// g_main_loop_quit(loop);
|
||||
pthread_join(dbus_thread, NULL);
|
||||
printf("exiting program.\n");
|
||||
|
||||
g_object_unref(proxy);
|
||||
g_object_unref(proxy1);
|
||||
g_object_unref(proxy2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user