If your stuff is closedsource, then you can license my closedsource player engine from BeRoTracker, the costs for it are: Visible credits somewhere in your game.
It has native support for MOD XM S3M IT MT2 IMF BRT 669 STM MTM WOW OKT DMF modules, MID MIDI RMF midi files, WAV soundfiles and SF2 DLS1 soundbanks. It has also a VST/VSTi host build-in, MIDI in&out features, multicore support, automatic plugin delay compensation (APDC), high-quality resampler routines (including realtime high-tap-count SINC with kaiser window beside many other window types). wave mapper, DirectSound, ASIO (without external wrapper DLL), /dev/dsp, ALSA, SDL audio, dummy-audio-buufer-redirect (for your own sound output code) and some features more, too much for to list these all here.
The source code is compatible with Delphi 5, Delphi 7, Delphi XE3, Delphi XE4 and FreePascal >= 2.4.x . And the BeRoTracker player engine itself is fully crossplattform, 32-bit 64-bit, little endian big endian, Windows Linux *nix MacOSX, this all and more is supported.
But the player engine needs a CPU with native floating point processing unit, because the audio DSP routines are fully floating-point-based and SIMD-instruction-set-optimized. So when you're targetting also for ARM-based targets, then you do need to target for ARMv6 together with the VFP instruction set extension at least, and the today newer ARMv7 variants in smartphones/tablets/... (from >=2010) have always floating point support (VFP*, NEON, etc,.) now.
And each engine, that can play .IT files, should could play also .S3M files, since .IT is evoluted from .S3M (and .S3M itself from the .MOD base concept), like .XM from .MOD, and my .BRT format from .IT and .XM
Bookmarks