When I got back I’d changed my mind(sorta). It was getting out of hand, it was ugly, and sprawling, some of these ideas would have to get controlled, or go, or I could abandon the whole thing.
If I got rid of the position tab and the phrase player tab I thought I might be able to get the useful controls for each of the 4 loops onto the “main” page, if not – goodbye(for now) to Orbiter. So I had a go through a UI design in Skinman (see attached). It seemed to work and I got the FX back where (I thought) they belonged. We lost the 12 slots for loops, but as we were now playing back 4 loops at a time it was a compromise I could live with.
Still this meant that the internal code in the FX section would have to be overhauled. I’d originally built the FX system to be vastly re-usable(groups, busses, inserts, sends whatever) but it had become hugely difficult to implement, and nearly impossible (for me) to debug. So I’d cut it down to handle what I’d needed at the time (in Formation) which was one bus, and the sends, now I’d need each loop(4 of them) to have their own bus so the FX system would now have to display and manage 4 different busses and the send FX. So that’s what I did next.
Nicely using busses (my favourite way of architecting multiple playback of sounds to be frank) allowed independent control over volume and pan for each loop, so I put these up in the loops area, and I added the groove and humanise controls into that section too. It all looked more cohesive – a little crowded maybe but sensible(at least to my eye). A quick trip to “play_a_note” to change it into a task func (for all you KSP jockeys) and it started to playback 4 loops, this might work!
I realised it really really did work when I accidentally configured two (similar sounding) loops to playback at the same time and activated a set of Formant settings in only one of them – and I could mute unmute this loop, as well as spice up the first loop as much or little as I liked using that or the volume control for this second loop. Next I turned on a random(ish) set of mute controls on the original loop, and then set only those pads to play in the second loop – again interesting stuff. I’d really seen Orbiter strength as playing back separate stems (like Kicks, snares, tops, fx etc.) not multiple full loops – but as I currently didn’t have many stem versions of loops I’d had to work with 4 full loops – and even these worked well! Yeah this could work…
Here’s a screen shot and some audio featuring me “messing about” with 4 simple loops