develia.org
»» i686 slackware tarballs..
»» software projects..
»» and much more..
 NAVIGATION 
 OPTIONS 

 INFO 
*** develia.org ***
by Giacomo Lozito
© 2004-2010

valid xhtml 1.0valid css!
powered by apachepowered by php
valid rss 2.0get firefox!

NO software patents in UE
 PROJECTS 
*** BMP PLUGIN PORTS ***

BMP (Beep Media Player) is a nice multimedia player, forked from XMMS code. While XMMS uses the old GTK+1 toolkit, BMP is based on the GTK+2 one (which uses unicode, has a nicer look and is overall better). Moreover, while XMMS code is a bit old and messy, many fixes and improvements have been made in the code for BMP.

The backside of the medal is that XMMS plugins (which are a lot!) are not supported by BMP. They need to be ported from GTK+1 to GTK+2; this is not so difficult, but there are some operations that need to be accomplished to ensure the proper functioning of the plugin in BMP:

  • plugin code must link to GTK+2 libraries (gtk-2.0, glib-2.0, atk, pango) instead of GTK+1 ones;
  • some GTK+1 functions (like on-top window creation) needs some adjustments fot GTK+2;
  • some GTK+1 widgets no longer exist in GTK+2 and code using those widgets needs to be rewritten; in example, gtk_text from GTK+1 needs to be replaced with a proper use of gtk_text_view and gtk_text_buffer in GTK+2;
  • all displayable string (like track titles and plugin descriptions) must be in UTF-8 encoding; conversions can be done using functions like g_locale_to_utf8;
  • other stuff (use of libbmp VFS for file operations, ConfigDB for configuration retrieval/storage, ...).

There are more details about plugin porting on BMP Wiki.

In this page of develia.org there are information, patches and sources of XMMS plugins that I've ported to BMP. Please, do not bother the original plugin authors with BMP-related questions. These ports are still experimental, so use them at your own risk! :)


 XMMS-SID » BMP-SID

Type: INPUT plugin
Official homepage: http://www.tnsp.org/xmms-sid.php
Description: XMMS-SID is a plugin for playing music that is commonly referred as "SID-tunes" aka music from Commodore 64 computer and it's close relatives. For the actual playing, XMMS-SID can utilize several emulator engines (libSIDPlay v1, libSIDPlay v2 with reSID-builder).
My notes: while doing this experimental port, I went a bit further; I've merged the BMP-SID code along with the original code, and made some additions in Makefile.am and configure.in; now it is possible to compile the BMP-SID plugin (named libbmpsid.so instead of libxmmssid.so) as well as the XMMS-SID plugin, the choice can be made by simply giving (or not) --enable-bmpsid at configure time.

Source code for the BMP-aware version of XMMS-SID
(remember to use --enable-bmpsid at configure time):
xmms-sid-0.8.0beta15-with-bmpsid-0.02.tar.bz2

For curious people, diffs containing all changes made to port the plugin:
(after patching, configure & co. need to be regenerated with autotools)
xmms-sid-0.8.0beta15-with-bmpsid-0.02-autotools.diff
xmms-sid-0.8.0beta15-with-bmpsid-0.02-sources.diff

A couple of screenshots of the plugin working with BMP:
about box   options dialog


 XMMS-OpenSPC » BMP-OpenSPC

Type: INPUT plugin
Link: http://www.xmms.org/plugins.php?details=225
Description: a SPC player for XMMS using OpenSPC
My notes: experimental port

Source code of BMP-OpenSPC:
bmp-OpenSPC-0.0.3-0.02.tar.bz2

For curious people, a diff containing all changes made to port the plugin:
(after patching, configure & co. need to be regenerated with autotools)
xmms-openspc-0.0.3-bmp-openspc-0.02.diff

A screenshot of the plugin working with BMP:
options dialog


 XMMS LADSPA » BMP LADSPA

Type: EFFECT plugin
Link: http://www.ecs.soton.ac.uk/~njl98r/code/ladspa/
Description: XMMS LADSPA is an effect plugin for XMMS that provides (some of) the power of the Linux Audio Developer's Simple Plugin API to your everyday MP3 and all-around media player
My notes: another experimental port, now I can use the AM pitchshifter and freeverb effects on BMP, yay! I've made some changes in the makefile, you can compile the plugin for xmms or for bmp by using make xmms or make bmp; XMMS LADSPA of course doesn't provide LADSPA plugins, it only provides a way to use them in XMMS/BMP; you can get the LADSPA plugins from ladspa.org or plugin.org.uk, or you can also pick the handy Slackware tarball (called ladspa-kit) from develia.org, in tarballs->multimedia section.

Source code of BMP LADSPA:
xmms_ladspa-1.1-with-bmp-support-0.01.tar.bz2

For curious people, a diff containing all changes made to port the plugin:
xmms_ladspa-1.1-with-bmp-support-0.01.diff

A screenshot of the plugin working with BMP:
plugin selector   plugin configuration