User:Nexu
 
User page Discussion Edit History

[edit] BMPx-Addons status and plans

So i have picked up the task to review and work on the BMPx Add-ons project. These will be mainly Python related task in the beginning as my C knowledge is insufficient at the moment.

First task within this project is to maintain and to develope the bmpx-xchat-plugins. At the time of writing. I just finished implementing the general functionality for it as i had in mind (1.0pre1) based on the codebase that Milosz wrote; altho i have pretty much rewrote everything else except for the DBus shizzle.

Second task is to work on the bmp-client-pygtk. I already did some work on it, such as some runtime dependency checking and some DBus shizzle.

Along side the Second task. I'll look into the bmp-web code. And try to understand it so i can add more functionality and usability to it. This task in particular has my interests as i used to do webdesign and webdeveloping. But i never wrote a small webserver or read it's source code myself; especially not in C. Since i'll be pretty much starting from scratch with this language. Perhaps i should recode it in C++? Input please on this please.

I will also look into what more tasks can be started. Maybe something with panel-applets for Gnome, XFce and KDE?

As for the bmp-irssi-plugins in BMPx Add-ons. I wont be touching that. I am not good at Perl and neither do i like Perl. I could hack some stuff into it. But it will most likely gonna be ugly. So i will leave this to it's original author to update it.


[edit] D-Bus proposals

While working on the Add-ons. I stumbled upon some things i wish they were different or just some extra features.

org.beepmediaplayer.bmp.Version : tuple
Returns a tuple of various data to make it possible for the DBus clients to determine or BMP version is new enough for their needs. Some returning data i had in mind was:

release </tr>
majortype int
minortype int
revtype str
datetype date
   eg: [0, 20, '-pre3', '2006/06/23']
subversion </tr>
revisiontype int
datetype date
   eg: [4555, 'Fri Jun 23 11:42:15 UTC 2006']
build </tr>
datetype date
kerneltype str
archtype int
   eg: ['Fri Jun 23 11:42:15 UTC 2006', 'Linux 2.6.16-k7', 'i686']
feature </tr>
x11smtype bool
alsatype bool
winampuitype bool
haltype bool
dbustype bool
gamintype bool
famtype bool
amazontype bool
notifytype bool
....
   eg: [1, 1, 1, 0, 1, 1, 0, 1, 0]
(note: the longer this array is, obviously the newer the version is)

int IN org.beepmediaplayer.bmp.RemoveTrack : bool
Remove a track from the playlist by index number.

str IN org.beepmediaplayer.bmp.RemoveTrackURI : bool
Remove a track from the playlist by URI.

[ Library methods and signals here ]

I think before release of 0.30 - when the Library functionality and features might be stabilized - we should setup a clear, consistent, meaningfull name schematic for how methods and signals are called on the DBus service for BMPx. This might make it easier for other applications developers to add support for BMPx in their applications without having to read thru the entire specification documentation. Such as:

  • will all playback related functions start with "Playback()" or
  • CapWord naming? "GetCurrentTrackUri()" or lowCapWord naming? "getCurrentTrackUri()" or lowunderscores? "get_current_track_uri()"
  • Should methods such as "RepeatSet(bool)" and "RepeatGet() : bool" not be merged into "ToggleRepeat(bool) : bool" ?
  • Should functions have prefix or suffix on "Get" and "Set" ?
Log in / create account
This page has been accessed 666 times.