BASSZXTUNE is an add-on for BASS audio library (https://www.un4seen.com/bass.html). It adds support for several chiptune file formats. This add-on is based on ZXTune library. So all credit goes to ZXTune project and its developer at https://zxtune.bitbucket.io/ and also to all the authors of the third-party libraries.
The add-on can play chiptune files in various formats:
- ZX Spectrum (ay, ym, scl, ...)
- Commodore 64 (sid)
- Amiga (mod, ahx, hvl)
- Atari (sap, rmt, ...)
- NES (nsf, nsfe, spc)
- GameBoy (gsf)
- PlayStation (psf, minipsf, ...)
- ... and a lot more. See the project's homepage or the source code.
This add-on has several limitations by design. BASS add-on system only has support for "stream" add-ons and not for "module" or "tracker" add-ons. It means that module/tracker files will be treated as streams. But a module cannot be loaded partially, so the whole "stream" needs to be loaded into memory before starting a playback.
This imposes the following limitations:
- Even if an extension is marked as supported, there's no guarantee that the file contents can be understood by the add-on.
- Buffered streams (STREAMFILE_BUFFER, STREAMFILE_BUFFERPUSH, etc) are not supported.
- Streaming in blocks (BASS_STREAM_BLOCK) is not supported.
- Internet streams (BASS_StreamCreateURL) are not supported.
- Only mono and stereo output, no access to separate module channels.
- The add-on supports only single-file formats. To play multi-file formats (e.g. *.minipsf + *.psflib) you may archive all files into any supported archive (zip, 7z, tar, gz, rar) optionally changing the extension of the archive to a supported extension (e.g. *.psf).
The list of supported platforms:
- MS Windows 10 i686 & x86_64
- Linux i686 & x86_64
- OSX x86_64
- Android arm_v7a & i686
Android support is only for native code, i.e. loading the library from Java code is not guaranteed to work.
To build the add-on from the sources by yourself follow these instructions.
Find more info and support on the un4seen forum page.