application icongmusicbrowser

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
dbus_api [2008/10/17 23:14] – added small perl script to get info on current song squentindbus_api [2011/03/14 07:56] satoshi
Line 1: Line 1:
 +=====DBus API=====
 +Quick documentation of the DBus APi.
 +If you need more info, you are invited to look at the file gmusicbrowser_dbus.pm or you can of course contact me (Quentin)
 +
 +More functions wil be added in the future (suggestions welcome).
 +
 +These functions can be used in other programs, or through the dbus-send command-line program.
 +
 +examples using dbus-send :
 +  * To toggle play/pause state :
 +<code>dbus-send --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.RunCommand string:PlayPause</code>
 +  * To gets info for the current song :
 +<code>dbus-send --print-reply --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.CurrentSong</code>
 +  * To get current song position :
 +<code>dbus-send --print-reply --dest=org.gmusicbrowser /org/gmusicbrowser org.gmusicbrowser.GetPosition</code>
 +
 +The output of dbus-send is not very easy to parse, so you might want to use this small perl script instead :
 +<file>
 +#!/usr/bin/perl
 +use warnings;
 +use strict;
 +use Net::DBus;
 +
 +my $bus = Net::DBus->session;
 +my $service = $bus->get_service('org.gmusicbrowser');
 +my $object = $service->get_object('/org/gmusicbrowser', 'org.gmusicbrowser');
 +
 +my $info= $object->CurrentSong;
 +print "$_ : $info->{$_}\n" for sort keys %$info;
 +print "position : ".$object->GetPosition."\n";
 +</file>
 +It will print the info and position of the current song, it can also easily be modified to suit your needs.
 +
 +====Functions====
 +
 +==RunCommand==
 +Takes a string as argument, this string is the name of a command with optional arguments.
 +
 +See the output of  "''gmusicbrowser -listcmd''"  for a list of comands and their arguments.
 +
 +No return value
 +
 +==CurrentSong==
 +no arguments
 +
 +returns a hash/dictionary containing info on the current song. Currently the hash contains these fields : title, album, artist, length, track, disc.
 +
 +More fields may be added in future versions.
 +
 +==GetPosition==
 +no arguments
 +
 +returns the position in the current song in seconds
 +
 +==Playing==
 +no arguments
 +
 +returns a boolean, true if playing, false if stopped/paused.
 +
 +==Set==
 +Takes 3 strings as arguments:
 +  * path/filename of song OR numeric ID of the song
 +  * field to change
 +  * new value
 +
 +returns true if succeeded, false if failed (in particular if the song couldn't be found in the library)
 +
 +Be careful with this function, the new value is not checked for validity as much as it should be.
 +
 +==Get==
 +Takes 2 strings as argument:
 +  * path/filename of song OR numeric ID of the song
 +  * field
 +
 +returns the value of the field
 +
 +==GetLibrary==
 +no arguments
 +
 +returns the list of songs ID in the library
 +
 +==GetAlbumCover==
 +takes a string as argument
 +
 +returns the filename of the cover if the string match an album name that has a cover
 +
 +//Note that the filename of the cover may be a mp3 file with an embedded cover.//
 +
 +//May change in future versions with the support of multiple albums with the same name.//
 +
 +
 +====Signals====
 +==SongChanged==
 +Emitted when the current song changes with the song ID of the new song as argument.
 +
 +
  
dbus_api.txt · Last modified: 2022/05/23 01:30 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0