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
signature.asc
Description: Digital signature
_______________________________________________ smartphones-standards mailing list smartphones-standards@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/smartphones-standards