I’m quite sure most of you might have thought that I had either a) silently abandoned my goal or that b) I was just too busy to post here. I can tell you the answer is b) :-D
We went to Spain for a few days (hence the plane meditation title of a previous post) to visit family and have a taste of that hell-in-Earth celebration that are Fallas, and I could keep productively working on the demo for the first few days. After that, things just stopped going so smoothly –or I was too distracted– and I lose a lot of time with trying to compose a song which could work for a demo, with my synth. Unsuccessfully.
After a fruitful conversation with mrdoob, I understood that I couldn’t have the cake and eat it too, so I decided to aim for a cupcake instead. Therefore I’ll skip the visual part and focus on creating a song for the executable music compo.
Which on one hand is a pity since I really wanted to fill that gorgeous huge screen with my stuff, but since there are always a TON of demos I guess it’s better to not to add another half-finished demo to the competition.
With that in mind I began to make my code fit in 32kb. I tried first to do things from scratch and learn in a few hours how to make that waveOut Windows API work. At which I failed miserably. And I didn’t want to install the DirectX framework (and going through the genuine windows validation thing meanwhile) just for this, if only because I fear it would ruin my Windows installation.
Hours later I remembered that His 4k/64k Majesty iq had helped me to fit my previous intro into his 64k framework, and the code is out there. And amazingly, it compiled without a complaint from Visual Studio 2008! (unlike the 64k framework sources that are in his own website).
So I spent yesterday changing the code to use pure vectors instead of std::vector, devising alternative data structures to avoid using std::map and things like that, since the 64k framework doesn’t use the standard c++ memory allocation, and everything with templates just won’t compile. And since my previous code assumed that I would load the Song.xml directly, I also wrote a new importer from Song.xrns to Song.h, using python, so that the song data is extracted and converted into a long array of floats, prior to compiling.
Now I have an executable that when compressed only uses 8-9kb, including a semi-elaborated song, so there’s plenty of space for more elaboration if need be. Unfortunately the sound isn’t exactly what comes out from Renoise –the code being more or less the same–. It’s got something to do with the implementation of math functions that the framework uses, since we had a similar issue when we ported the intro to Windows: things would sound weird and distorted in Windows only. I’m tracking things down by using simple sounds and testing them separately, changing one parameter at a time. It’s a bit slow but it’s the only way of tackling this.
Wish me luck! :D

dp
LUCK!!
sole
THANKS!!! :D