1 #define MPRIS_BUS_NAME_PREFIX "org.mpris.MediaPlayer2" 2 #define MPRIS_OBJECT_NAME "/org/mpris/MediaPlayer2" 3 4 #define MPRIS_ROOT_INTERFACE "org.mpris.MediaPlayer2" 5 #define MPRIS_PLAYER_INTERFACE "org.mpris.MediaPlayer2.Player" 6 #define MPRIS_TRACKLIST_INTERFACE "org.mpris.MediaPlayer2.TrackList" 7 #define MPRIS_PLAYLISTS_INTERFACE "org.mpris.MediaPlayer2.Playlists" 8 9 const char *mpris_introspection_xml = 10 "<node>" 11 " <interface name='org.mpris.MediaPlayer2'>" 12 " <method name='Raise'/>" 13 " <method name='Quit'/>" 14 " <property name='CanQuit' type='b' access='read'/>" 15 " <property name='CanRaise' type='b' access='read'/>" 16 " <property name='HasTrackList' type='b' access='read'/>" 17 " <property name='Identity' type='s' access='read'/>" 18 " <property name='DesktopEntry' type='s' access='read'/>" 19 " <property name='SupportedUriSchemes' type='as' access='read'/>" 20 " <property name='SupportedMimeTypes' type='as' access='read'/>" 21 " </interface>" 22 " <interface name='org.mpris.MediaPlayer2.Player'>" 23 " <method name='Next'/>" 24 " <method name='Previous'/>" 25 " <method name='Pause'/>" 26 " <method name='PlayPause'/>" 27 " <method name='Stop'/>" 28 " <method name='Play'/>" 29 " <method name='Seek'>" 30 " <arg direction='in' name='Offset' type='x'/>" 31 " </method>" 32 " <method name='SetPosition'>" 33 " <arg direction='in' name='TrackId' type='o'/>" 34 " <arg direction='in' name='Position' type='x'/>" 35 " </method>" 36 " <method name='OpenUri'>" 37 " <arg direction='in' name='Uri' type='s'/>" 38 " </method>" 39 " <signal name='Seeked'>" 40 " <arg name='Position' type='x'/>" 41 " </signal>" 42 " <property name='PlaybackStatus' type='s' access='read'/>" 43 " <property name='LoopStatus' type='s' access='readwrite'/>" 44 " <property name='Rate' type='d' access='readwrite'/>" 45 " <property name='Shuffle' type='b' access='readwrite'/>" 46 " <property name='Metadata' type='a{sv}' access='read'/>" 47 " <property name='Volume' type='d' access='readwrite'/>" 48 " <property name='Position' type='x' access='read'/>" 49 " <property name='MinimumRate' type='d' access='read'/>" 50 " <property name='MaximumRate' type='d' access='read'/>" 51 " <property name='CanGoNext' type='b' access='read'/>" 52 " <property name='CanGoPrevious' type='b' access='read'/>" 53 " <property name='CanPlay' type='b' access='read'/>" 54 " <property name='CanPause' type='b' access='read'/>" 55 " <property name='CanSeek' type='b' access='read'/>" 56 " <property name='CanControl' type='b' access='read'/>" 57 " </interface>" 58 " <interface name='org.mpris.MediaPlayer2.TrackList'>" 59 " <method name='GetTracksMetadata'>" 60 " <arg direction='in' name='TrackIds' type='ao'/>" 61 " <arg direction='out' name='Metadata' type='aa{sv}'/>" 62 " </method>" 63 " <method name='AddTrack'>" 64 " <arg direction='in' name='Uri' type='s'/>" 65 " <arg direction='in' name='AfterTrack' type='o'/>" 66 " <arg direction='in' name='SetAsCurrent' type='b'/>" 67 " </method>" 68 " <method name='RemoveTrack'>" 69 " <arg direction='in' name='TrackId' type='o'/>" 70 " </method>" 71 " <method name='GoTo'>" 72 " <arg direction='in' name='TrackId' type='o'/>" 73 " </method>" 74 " <signal name='TrackListReplaced'>" 75 " <arg name='Tracks' type='ao'/>" 76 " <arg name='CurrentTrack' type='o'/>" 77 " </signal>" 78 " <signal name='TrackAdded'>" 79 " <arg name='Metadata' type='a{sv}'/>" 80 " <arg name='AfterTrack' type='o'/>" 81 " </signal>" 82 " <signal name='TrackRemoved'>" 83 " <arg name='TrackId' type='o'/>" 84 " </signal>" 85 " <signal name='TrackMetadataChanged'>" 86 " <arg name='TrackId' type='o'/>" 87 " <arg name='Metadata' type='a{sv}'/>" 88 " </signal>" 89 " <property name='Tracks' type='ao' access='read'/>" 90 " <property name='CanEditTracks' type='b' access='read'/>" 91 " </interface>" 92 " <interface name='org.mpris.MediaPlayer2.Playlists'>" 93 " <method name='ActivatePlaylist'>" 94 " <arg direction='in' name='PlaylistId' type='o'/>" 95 " </method>" 96 " <method name='GetPlaylists'>" 97 " <arg direction='in' name='Index' type='u'/>" 98 " <arg direction='in' name='MaxCount' type='u'/>" 99 " <arg direction='in' name='Order' type='s'/>" 100 " <arg direction='in' name='ReverseOrder' type='b'/>" 101 " <arg direction='out' type='a(oss)'/>" 102 " </method>" 103 " <property name='PlaylistCount' type='u' access='read'/>" 104 " <property name='Orderings' type='as' access='read'/>" 105 " <property name='ActivePlaylist' type='(b(oss))' access='read'/>" 106 " </interface>" 107 "</node>"; 108