i am trying to wrap my head around what to do to get the most out of the limited amount of knobs, buttons and the encoder in the default hardware.
Practical example…
I have a few effects i would like to run on the Pod.
While the effect tanks are working, i need at least 10 parameter controls to adjust them.
But the pod only has two pots and two buttons…doh
So my question is , des anyone have a good tutorial how to set up data objects in gen~ that can store multiple parameter levels and only when the pot is used would pick up, change and store them when one switches to the next set.
I do have the encoder driving an accum object that could switch the indexes of the data object, but how to not make a loop of when to read and when to write into the buffer eludes me.
Here a picture of the encoder setup and a tired attempt for the data buffer…
"...only when the pot is used would pick up..."
Is the problem that when you are switching modes around, the current potentiometer position (even when it’s not being touched) will overwrite the previous potentiometer position for each modes, correct?
One approach is using [change] and [switch] to make sure that the potentiometer value is sent out to be stored (or directly connected to your effect parameters) only when the potentiometer value is changed. [change] will output a non-zero value when you twist around (otherwise, it’s 0), so you can combine those two operators along with [!= 0].
I hope this is what you were asking! Let me know if I completely misinterpreted your question.
And I typically like using the buttons to switch between modes. LED 1 could indicate the current effect (so if you do something like red, green, blue, and white, you can have 4 effects). And you can use the second LED and buttons to switch between primary (red) and secondary (blue) or even tertiary (blue) parameters. I did something like this in my Daisy Pod video.
I figured it out doing a MSP simulation and then ported it to Gen~
My mistake was not to realize the selector (encoder) switches the peek not at the exact same time
So now i am using 6 dedicated peeks, all with static values and only rotate the poke.
Adding a history to the comparator made it slow enough to be read before it could write again