Net nog iemand een uitleg gestuurd, dus plaats m hier ook maar:
euclid in a box
The play-position of the sum of the 3 sequencers is calculated like this:
Aaxisposition+Yaxisposition*64+Zaxisposition*64*64
But before this, all sequencers (red, blue, green and yellow) have their own amount of steps for all 3 axis (start and end position knobs->rectangled. Start and end go from -32 to +32 which is 65 steps now I think of it taken the 0 position with it.. haha), their own step speed, step-multiplier (eg when 3, playposition goes further by 3 with each step). After this a wrapped can be switched on which will wrap the position back to 0 when it reaches it's limit, which can also be set from 1-64 (one will force it to stay on 1 step) and then you can offset this new created playposition. The end-result is then clipped by the box-size which starts on step 1 and go up to 64 steps. Thus setting the box-size smaller then the wrap,start or end positions, it will stop the playposition of the clippped axis for a while until 'it's back in the box', forcing the ball to move along the edge of the box.
THEN the gates are then calculated from this sum playposition. Thus they don't need to be pre-recorded or put into some array, which would in the end take loads of memory and cpu..
so the sequencers start counting and combined they have a certain way to go through all 64*64*64 positions of the 3D box.
So setting the gate-on to once every 16 steps (play-position is wrapped after each 16 steps and on 0 it generates a gate-on message for the cv2midi module). This would normally create a straight forward evenly divided rhythm when played on a 1D sequencer. But as all 3 axis can play independently from each other, the playposition is shifted by 1 (or a multiplication of this using the multiplier knob), 64 or even 64*64 (just thinking that it could also depend on boxsize, have to check whether I've changed that at a certain moment haha). Having a 1/2 speed for one axis and setting other axis to go to next step each 4 and 16 beats, it will change the rhythm every time after 4 beats and then shuffles everything around extra after 16 beats.
This before was all for generating the gate-on messages. The note and velocity values have their own offset,wrap, step-multiplication values the calculate the sum play-position from the sequencer basic play-positions. (the ones which go from minimal -32 to maximal +32 for each color)
Except from that an extra wrapper is used to wrap the play-position to a midi note number where the lowest number is set by the offset and the highest note-number is the range added to the offset. So the created notes will also be forced to some note(s)/octave(s) set by you. Same counts for the velocity (which is of course as notes also a number from 0-127)
All taken together this sums up to the sequencer you can see:
up:
4 sequencers coded red, green, yellow and blue.
each color has knobs for gate, pitch and velocity (G,P,V), a gate-on per amount of steps setting, basic play-speeds and basic play-direction (forward, reverse, forward-reverse,reverse-forward,random etc) for axis,midichannel (for external synths)
under: 3 boxes for gate, pitch and velocity (G,P,V), all containing a red, green, yellow and blue ball, showing you their current play position. (box-size is always resized to full size in the graphics, even when the seperate box-sizes of the colors are not the same size. So you should see the box-size more as an amount-of-steps divided over a certain space->the box.)
To the left from this, there is a red box showing you the knob-automation-record-options:
record-position (can be set by yourself or record live while you turn the knobs. Only one knob-movement per step!)
play/record speed
stop/play automation
record automation (stops sending midi from the recorded automation for midi-talkback interference.)
live/stepmode recording
The automation recording was done with midi-learning the knobs of the sequencer and giving each of them another nrpn number. The recorder can respond to nrpn-number 1-266 (amount of automatable knobs on the sequencer). You can go into midi-learn by right-clicking a knob. So you can also unlearn an already predefined knob of the sequencer and midi-learn a knob of one of the synths/effects and record that too.
Now we got 2 remaining parts, which should be quite self-explanatory, the pitch-adjust for quick-adjusting the pitch of all send midi. And the keyboard mute/unmute keys, which forces the generated midi to be in the defined scaling.
Hope this makes things clearer XD