DBus

From VideoLAN Wiki
Revision as of 01:56, 29 November 2006 by Funman (talk | contribs)
Jump to navigation Jump to search

See DBus-spec

TODO for DBus integration

List all signals, methods with their arguments and return value

Decide service bahaviour

Could vlc be a on-demand startable service, would it be useful ?

We just have to create a /usr/share/dbus-1/org.videolan.vlc.service:


[D-BUS Service]

Name=org.videolan.vlc

Exec=/usr/bin/vlc -I dummy --control dbus ---

Missing features

playlist => we can export to a temporary file using xspf or m3u, and let the remote application do whatever it wants to do with that file. can either take the file path as an argument, or return the path of the newly created file.

it'd be cool to create network streams too, using mrl ?

List of signals and methods already implemented

Signals

'Signal' (signature) : description

'ItemChange' (s) : Emitted when a new input element is played, the string contains the filename, or the input name if it has some metadata

Methods

'Method' (input signature) = (output signature) : description

'GetPlayStatus' () = (s) : return "play" "pause" "stopped" or "unknown"

'GetPlayingItem' () = (s) : return the filename of the current item being played, or it's name if it has some metadata. Same data provided by "ItemChange"

'ToglePause' () = (b) : toggle the play/pause status, and start playing if it was stopped, return true if playing, false if paused

'AddMRL' (sb) = () : add string to the playlist, and play it if bool is true

'Nothing' () = () : do nothing, just here for tests, and code example

'Quit' () = () : exits vlc

'Stop' () = () : stop playlist

'Prev' () = () : plays previous playlist item

'Next' () = () : plays next playlist item

'PositionGet' () = (q) : get an uint16 in the range [0;1000] representing the position of current input, or 0 if no input

'PositionSet' (q) = () : gives an uint16 in the range [0;1000] to set the position of current input

'VolumeGet' () = (q) : get an uint16 in the range [0;100] representing the current volume

'VolumeSet' (q) = () : gives an uint16 in the range [0;100] to set the current volume

'PlaylistExport_XSPF' (s) = (q) : takes a filename as argument, write the playlist to it in XSPF format, returns uint16 this way: 0 means success, 1 means error writing file, 2 means playlist empty