While the outstanding audio engine from a1k0n has proven to be a perfect starting point, and invaluable in getting the project kickstarted while testing and building the core user interface elements, I started to realise some limitations. These limitations are not an indication of anything wrong with the jsxm engine, but rather a misuse of the code, which is perfectly suited to playback of .xm files, but not perfect for an authoring tool which needs different capabilities and controls.
I have been working on a refactoring of that engine, not a complete replacement, a lot of the effect processing code, logic and inherent Fasttracker 2 format and playback knowledge is just as valid in the new system. To explain the changes, and the reasoning, a short, very limited explanation of how jsxm works.
The new engine lookes like this…
Onwards and upwards.