DBus
Contents
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