OK, so I caved yesterday and did do some code. There’s something about blogging that just prods me to do more work. Maybe I should blog at the beginning of a session, rather than the end…
Anyway, I figured I’d make a start on the compilation patch, having planned a bit what I wanted it to do, so I dug out the old squeaks’n’clicks patch and cleaned up the player module (now that I know about Presentation mode and how to set a patch to display as Presentation through bpatcher, which is so much tidier than how I had it before). Mostly it was just tidying – the functionality hasn’t really changed, I just know how to make it all tidier and a bit more logical now, although there are now inputs to set the high and low selection points and the volume for left and right channels. After putting 5 of these into a new patcher, I discovered the joy that is #0_ to set unique buffer names so they don’t all play the same file. Woot! That was progress.
I snaffled an audio output module from the same old patch, dumped in 2 copies of the Vizzie Playr with my mod to access the audio in them and added some text and a floatnum box to set the duration of the piece. Today I’ve added 2 sets of radio buttons to allow me to either select one of the seven modules to start or to end the piece, or to say I want Max to choose modules at random. I think this is basically ready now for me to face the hard work of determining how to drive all this through the structure module. So I’m about to get out pen and paper and work out my golden sections as percentages…
Today (massive procrastination on the orchestral piece is leading to awesome progress with this one. Isn’t it always the way?) I’ve also stepped up and recorded the white noise sounds for audio segment 4. Not entirely sure what I’m going to do to this one in Max. I want to keep it simple, and I don’t want to spend a lot of time on it. May just poke through the Explorer and see if I find anything that looks useful. Anyway, this is what I’m starting with:
Update, a couple of hours later:
I got the beginnings of the structure module working! It took a while (some new discoveries: how to access one specific item of an array, how to run a timer, how to convert milliseconds into ticks) but I’ve now got it to a point where this subpatch will receive the duration of the piece in milliseconds, calculate the position of the next trigger point in the structure in ms, convert that to ticks, compare that to a timer and when the timer passes that point, flash a light and trigger a bang to calculate the next trigger point and so on and so on. Sorted out a stack overflow problem by rearranging the order it was processing stuff in. Haven’t got it to stop at the end of the sequence yet though… that’s phase 2.