Since both libsidplay1 and libsidplay2 have been long unmaintained it would be great if the SID plugin would support libsidplayfp (http://sourceforge.net/projects/sidplay-residfp/). You could actually remove the support for the old libraries.
It shouldn't be specially difficult. Other than minor things like the removing of the 8 bits output to only support 16 bits the API didn't change so much.
#1 Updated by Cristian Morales Vega over 8 years ago
The attached patch at least makes it compile with libsidplayfp, but the plugin doesn't work.
The first problem is that the plugin is linked incorrectly, using gcc (and trying to patch that fact with a -lstdc++ at the end). g++ should be used so options like "-Ur" are passed to ld.
#5 Updated by Michael Schwendt about 8 years ago
The reason I ask is that the primary major SID file collection HVSC - http://www.hvsc.c64.org - has moved on several years ago and dropped SID files old libsidplay1 supported.
So indeed, supporting libsidplay1 doesn't make much sense anymore, and it doesn't understand the PSID v2NG and RSID file formats either. With libsidplay2 it's a bit different, but libsidplayfp has been an active project and recently has released 1.0.0 and 1.0.1, which no longer include the legally troublesome Basic and Kernal ROM images.
#6 Updated by Hans de Goede about 8 years ago
Since I was interested in getting audacious to support .sid files through libsidplayfp too, I've been spending this weekend on making this happen. Taking Cristian Morales Vega's patch as a starting point and going from there,
I had to do quite some work to get it to compile with libsidplayfp-1.0.x, and then some more work to make it actually work and feature complete.
The attached patch is against current audacious-plugins git master, and builds and works with libsidplayfp-1.0.x including proper songlength detection, etc.
#7 Updated by John Lindgren about 8 years ago
- Status changed from New to Closed
- Target version set to 3.4
- % Done changed from 0 to 100
Thanks for the work, everyone. I've applied this patch and cleaned up the SID plugin a lot. It requires libsidplayfd now since the number of #if's to be compatible with three different library variants is too much trouble to deal with.