Hi,

I had some spare time left and wanted to create an app using gstreamer.
THe result is a music daemon with a DBus API.
It already supports playlist and some other features. Here is the
current DBus API:

pla...@playya-laptop:~$ mdbus org.freesmartphone.omusicd
/
/org
/org/freesmartphone
/org/freesmartphone/MusicPlayer
/org/freesmartphone/MusicPlayer/Playlists
/org/freesmartphone/MusicPlayer/Playlists/Queen
/org/freesmartphone/MusicPlayer/Playlists/foobar
/org/freesmartphone/MusicPlayer/Playlists/test
pla...@playya-laptop:~$ mdbus org.freesmartphone.omusicd
/org/freesmartphone/MusicPlayer -r
    [METHOD]    org.freedesktop.DBus.Introspectable.Introspect() -> ( s:data )
    [METHOD]    org.freedesktop.DBus.Properties.Get( s:interface, s:propname ) 
-> ( v:value )
    [METHOD]    org.freedesktop.DBus.Properties.GetAll( s:interface ) -> ( 
a{sv}:props )
    [METHOD]    org.freedesktop.DBus.Properties.Set( s:interface, s:propname, 
v:value ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.DeletePlaylist( o:list ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.GetCurrentPlaylist() -> ( 
o:result )
    [METHOD]    org.freesmartphone.MusicPlayer.GetInfoForFile( s:file ) -> ( 
a{sv}:result )
    [METHOD]    org.freesmartphone.MusicPlayer.GetPlaying() -> ( s:result )
    [METHOD]    org.freesmartphone.MusicPlayer.GetPlayingInfo() -> ( 
a{sv}:result )
    [METHOD]    org.freesmartphone.MusicPlayer.GetPlaylists() -> ( ao:result )
    [METHOD]    org.freesmartphone.MusicPlayer.GetVolume() -> ( i:result )
    [METHOD]    org.freesmartphone.MusicPlayer.Jump( i:pos ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.NewPlaylist( s:name ) -> ( 
o:result )
    [METHOD]    org.freesmartphone.MusicPlayer.Next() -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Pause() -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Play() -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Previous() -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Search( s:query ) -> ( as:result 
)
    [METHOD]    org.freesmartphone.MusicPlayer.SeekBackward( i:step ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.SeekForward( i:step ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.SetCurrentPlaylist( o:list ) -> 
()
    [METHOD]    org.freesmartphone.MusicPlayer.SetPlaying( s:file ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.SetVolume( i:vol ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Stop() -> ()
    [SIGNAL]    org.freesmartphone.MusicPlayer.PlayingChanged( s:file )
    [SIGNAL]    org.freesmartphone.MusicPlayer.PlaylistAdded( o:path )
    [SIGNAL]    org.freesmartphone.MusicPlayer.PlaylistRemoved( o:path )
    [SIGNAL]    org.freesmartphone.MusicPlayer.Progress( i:progress )
    [SIGNAL]    org.freesmartphone.MusicPlayer.State( i:state )
pla...@playya-laptop:~$ mdbus org.freesmartphone.omusicd
    /org/freesmartphone/MusicPlayer/Playlists/Queen -r
    [METHOD]    org.freedesktop.DBus.Introspectable.Introspect() -> ( s:data )
    [METHOD]    org.freedesktop.DBus.Properties.Get( s:interface, s:propname ) 
-> ( v:value )
    [METHOD]    org.freedesktop.DBus.Properties.GetAll( s:interface ) -> ( 
a{sv}:props )
    [METHOD]    org.freedesktop.DBus.Properties.Set( s:interface, s:propname, 
v:value ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.ChangeName( s:new_name 
) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.GetAtPosition( 
i:position ) -> ( s:result )
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.GetFiles() -> ( 
as:result )
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.GetMode() -> ( i:result 
)
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.GetName() -> ( s:result 
)
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.Insert( i:position, 
s:file ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.InsertDir( i:position, 
s:dir, b:recursive ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.LoadFromFile( 
s:filename ) -> ()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.Remove( i:position ) -> 
()
    [METHOD]    org.freesmartphone.MusicPlayer.Playlist.SetMode( i:m ) -> ()
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.Deleted()
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.FileAdded( i:position, 
s:filename )
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.FileRemoved( i:position 
)
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.ModeChanged( i:mode )
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.Name( s:name )
    [SIGNAL]    org.freesmartphone.MusicPlayer.Playlist.Playing( s:file )

what doesn't work:
    * because i got away from using playbin (need more CPU/RAM) to 
configuarable pipes, seeking and volume doesn't work
    * org.freesmartphone.MusicPlayer.GetInfoForFile only read ID3 tags, not 
filespecific INFOs
    * Some segfaults ...

what is planed:
    * using libfsobasics
    * playing livestreams
    * writing an E widget
    * writing an E module
    * (writing gadman illume)
    * Playlist with RSS feeds (if someone suggests a news API)
    * ...

Comments welcome!

Regards, Frederik

-- 
IRC: playya @ Freenode, Gimpnet
xmpp: pla...@draugr.de

Attachment: signature.asc
Description: Digital signature

_______________________________________________
smartphones-standards mailing list
smartphones-standards@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/smartphones-standards

Reply via email to