Difference between revisions of "DBus-spec"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 69: Line 69:
 
=== The signals ===
 
=== The signals ===
  
What events need to be notified to other applications ?
+
  <signal name="TrackChange">
 +
  </signal>
  
* Playing something else
+
  <signal name="SetPlaystatus">
 +
    <arg type="i"/>
 +
  </signal>
 +
 
 +
  <signal name="SetVolume">
 +
    <arg type="i"/>
 +
  </signal>
 +
 
 +
  <signal name="SetStreamPos">
 +
    <arg type="i"/>
 +
  </signal>

Revision as of 00:48, 29 November 2006

Specification for a Common, Desktop neutral, Media Player D-Bus interface

Please refer to http://bmpx.beep-media-player.org/site/MPRIS_Interfacing_Specification

This is my attempt to create a specification for media players to use, for other applications to be able to interact with ANY Media Player YOU want to use on ANY desktop YOU want to use.

This is in the spirit of http://www.freedesktop.org and uses code and ideas from this project.

The Service

org.freedesktop.MediaPlayer

The Object Paths

  • /

The Methods

  <method name="Identity">
    <arg type="s" direction="out"/>
  </method>
  <method name="GetMetadataForUri">
    <arg type="s" direction="in" />
    <arg type="a{sv}" direction="out" />
  </method>
  <method name="GetCurrentUri">
    <arg type="s" direction="out" />
  </method>
  <method name="GetCurrentTitle">
    <arg type="s" direction="out" />
  </method>
  <method name="GetCurrentTrack">
    <arg type="i" direction="out" />
  </method>
  <method name="PlayNext">
  </method>
  <method name="PlayPrev">
  </method>
  <method name="PlayPause">
  </method>
  <method name="PlayStop">
  </method>
  <method name="PlayCurrent">
  </method>
  <method name="SendStatus">
  </method>
  <method name="VolumeSet">
  <arg type="i"/>
  </method>

  <method name="VolumeGet">
  <arg type="i" direction="out"/>
  </method>

  <method name="Quit">
  </method>

The signals

  <signal name="TrackChange">
  </signal>
  <signal name="SetPlaystatus">
   <arg type="i"/>
  </signal>
  <signal name="SetVolume">
   <arg type="i"/>
  </signal>
  <signal name="SetStreamPos">
   <arg type="i"/>
  </signal>