Sunday, November 27, 2022

Prometheus Upgrades Complete

For the first time in a few weeks I have a spare moment! I've just finished the long-awaited upgrades to Prometheus, to version 2.97. These were arduous. To recap: I have 117 plugins and many use 'utility' variables, an array of floats which can be used for any sort of thing. Until this version they were a fixed array of 256, but I never needed all 256 variables, very wasteful, although the reverbs used 100 or so (so much to store and keep track of with those, filters... cycling oscillators).

This new upgrade set a value for each plugin so it can reserve only the size of array needed. That was hard enough. It's complex when you have duplicate arrays; consider a plugin used by an instrument, you can quite legally have the same instrument playing twice at the same time in a song, so each instance needs its own array, the 'boxes by the roadside' in my other analogy.

The tedious bit was locating every array index and making it a 'define', so floatutility[0] becomes floatutility[F_COUNTER] for example. This makes it easier to change how many variables different versions of the effect use... but with 100+ variables (and 117 plugins) there are a LOT of copy and replace operations, all of which need to be correct. So this has taken me days of tedious and meticulous work.

Now, it seems to work. The program is a lot more memory efficient now, perhaps better than ever since the first version. This is a good time to do this, as it's near the end of a year and so, a major backup. This change comes on top of the new 10-octave upgrade.

This year I've updated Prometheus a LOT. Partly due to the new synth, which is now part of my audio set-up, and due to a new focus on music as a primary art-form. My sheet music work was also a factor. Some of the changes were MIDI based, for both synth and scoring purposes. Some for sampling, looping and revitalising my sample bank.

Now it's done, it'll be in testing for a few days. I can't afford to pause though, I must develop instruments for the Crewe Library Christmas performance, and I have a lot of musical ideas to record. I'm considering an official cover recording of Mr Tambourine Man.

This upgrade makes me nervous because it affects the file format. If something is wrong (or missing, forgotten), it has the possibility to corrupt older sequences, which includes all of my old music; 20 years of work. I must tread gingerly.