From: Claudio <cma...@gm...> - 2012-04-09 17:25:57
|
Hi, A few months ago Misty De Meo asked me about a library version of xmp. Given the number of front-ends currently using the player (xmp itself, the Android application, Audacious plugins, TuneNet player plugin, etc) having the player engine implemented as a library with a well-defined and simple API looked like a good idea. The library is now implemented and an experimental release 3.9.0 is available at http://helllabs.org/xmp/experimental for functionality, portability and packaging tests. Any missing features, API modifications and bugfixes should be included in the stable 4.0 release, which should also contain the API documentation. The xmp 3.9.0 application tries to mimic the interface of the older xmp all-in-one application except for a few extra interactive commands (i, I, S, etc) to list instruments and samples. Xmp documentation and a few rough edges must be fixed before the 4.0 release. Porting the Audacious and Winamp plugins should be easy, and I think many hacks will be removed from the code. The library currently builds with gcc as a Linux and BSD shared library with version-mapped symbols, OSX dylib and Windows DLL (with mingw32, so Mirko, if you manage to build it with VC++ please send a patch!). The library was designed to have a simple API, is fully thread-safe and has Python bindings (not published yet but it's in the git repository). It also has much better IT support than 3.5.0 (envelopes, filters and some effects fixed). Ideally the library should be released under the LGPL, but there are certain third-party components (chip emulators, IT sample decompressor) which are still tied to GPL. I'll try to contact the authors and check if we can relicense code under the LGPL, or if another project such as libmodplug already carries the sample decompressor under a more permissive license. So please test it, feedback is welcome. Tests can be run with "make check". There shouldn't be any absurdly wrong replay regressions because the bulk of the new code is already being tested in the Android application. If everything works for you, we'll see release 4.0 soon. Claudio |