2022-02-05
A new module, some changes on an old one and some and remarks
Published as pre-release. 2022.2.4.0]
The Noop module was changed to output a special value when it’s input is not connected. This is the NOT_CONNECTED special value, some modules do special things when seeing that as their input value (normally meaning that that input is unconnected). I’ve documented all current inputs dealing with that special value, it is in the new modue help.
This makes it possible to pass the NOT_CONNECTED value trough swithes to make non-connectivity programmable. The noop module is the only one able to source this value, but it will be passed on trough other modules when they do not alter the signal (like switches).
It is wise BTW to not use this as a general signal, as the actual value as seen by unaware inputs is very large and this may hurt eardrums :¬)
Then .. made a new module .. it is not finished yet, but am using it in patches already .. so .. better to mention it, as it will show up in new builds. It is a clock generator, and made it because the updated DataGraph module could use it. I’m still struggling with measures and beats and whatnots (music is hard!). It will change I guess, but the basic idea is simple.
The DataGraph likes a saw on it’s in input to control the cursor position and it likes a sync input to actually pick the time values and the ClockGen2 module provides both these signals signals.
The saw output runs at the set BPM value. added a sine, tri and square one as well, but the saw is special as it can be phase modulated. This can make the DataGraph do jittery stuff or it can provide for a canons in polyphonic mode. Maybe the Sine, Tri and Square will get this as an option too, not sure yet. The saw is meant to control the DataGraph’s in input.
And the sync out runs faster than the the Sine, Saw, Tri and Square outs by a settable factor (sync rate). This signal is meant to control the DataGraph’s sync input, it set’s the possible resolution, like when set to four there will only be four possible notes to be output from the DataGraph - but it can be set up to 256. This selects the time granularity of the DatGraph. The sync output supports swing, and this works better than in the original ClockGen module I think. This is a square wave output where the onset time can swing.
As a bonus there is a div output, this is a division of the sync signal, can be used to make accents, or whatever.
The ClockGen2 module internally runs ar audio rate, even when all ins and outs signal it has are, and act to be, control rate. But the module needs it and I dont want to turn everything connected to it to go audio rate. When you need audio rate resolution on an input or output - it is rate smart, so just connect something audio to one of it’s ins and it will make all ins and outs work at audio rate too.
Now there are a couple of issues still. Like when you set the sync rate high the BPM needs to be very low - and I can not figure out a way yet to have that set to reasonabe values. Needs some puzzling, and details of the ClokGen2 module may change. Actuall the current BPM is more like measures per minute, when the total time of the DataGraph width is seen as a measure. Higher settings would not only be nicer to see, biut lower settings have less resulution too - there may be some extra controls to set a signature or something.
Then there are the following extra issues … the original ClockGen module needs a re-implemetation of the swing parameter, and the DataGraph module will not randomize from the tri output of the ClockGen2 module, all kinds of other signals do work however. Oh, and the help for the ClockGen2 module, I see now. This needs some work, it is on the todo list :¬)
Ok, that;s all for today, heck it is not evne feb four anymore but five!