I built the scoring tool, wAxScore, as a plug-in for wAx. This is likely how I'll approach new development tools for the foreseeable future, since wAx already has a comprehensive set of data management stuff in place, with a simple API.
The music is entered with a step entry system that uses
Code: Select all
2 3 5 6 7
Q W E R T Y U I
The data format is one byte per note, with the high nybble being the duration and the low nybble being a chromatic degree (1-13) or rest (0). There's also an effect command format that allows for changes to octave, volume, tempo, and whatever else you care to implement in your player.
Once the music data is in memory, it can be transferred out via SD2IEC, or incorporated directly into programs. It can be edited with wAx, of course.
On macOS, my workflow is to (1) Compose the music as written notation, old-school-like, (2) Play it into the VIC via wAxScore, and (3) Save it as a file and then use xxd to turn it into hex data, which I paste into my source code.
Multi-track scores can be supported by the player. I haven't developed a multi-track player yet, but I'll probably make one for my next game.
I can't demo this with screen shots, so here's a video.
https://www.youtube.com/watch?v=m5iK7hTS5wY