Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: SNESAPU SPC decoder (Read 6874 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

SNESAPU SPC decoder

I just whipped up a wrapper for SNESAPU.dll for SPC decoding.  It's only a source build at the moment as it's feature-incomplete (no tag writing, only reads text {not binary, id3 or x1d666} id666 tags), untested as far as 24/32-bit output goes and seeking in slow 'accurate' mode sometimes creates static.

If anyone's brave, here it is.  I'm a bit tired of working on it, and fb2k's internals are a little daunting to me without a simple reference input plugin to poke around with.

SNESAPU SPC decoder

Reply #1
I compiled it up and it does a decent job of playing SPC files.  Unfortunately, SNESAPU uses a bunch of static variables and gets extremely confused if you make it play back more than one audio stream at a time, so trying to ReplayGain scan one SPC file while playing back another results in a bunch of noise.  This is probably why nobody's made a plugin with SNESAPU before.

 

SNESAPU SPC decoder

Reply #2
Hm the only way around that would be copying snesapu.dll to a new file name depending on how many instances there are (%TEMP%\sneapu123.dll) and load it dynamically, but that would be the ugliest hack of my career.

I suppose this plugin is only good for people who really desire something other than 32000 Hz rendering with gaussian interpolation.  It is quite a bit faster than players based on libopenspc though.