Using this Module we can make the Shape string Y level Nodes editable, whilst leaving the X positions locked. This allows for a much simpler, if slightly less flexible method of creating our shapes.
The module generates a regular shape by assigning auto-duplicating input Floating Point plugs to the Y positions of nodes equally spaced in the X plane.
Since a shape must have at least two nodes, the first two float pins will always be present on the module box, corresponding to the first and the last node.
The Y positions of the nodes must be specified in the correct shape units: from -5 to +5 volts and are they internally clipped by the module.
Every time any of the input values are modified, a new shape string will be transmitted to the output BLOB pin.
Important Note: the resulting shape must not be stored anywhere; it is the result of calculating and assembling the BLOB in real time with the same number of nodes as there are active Y Input plugs on the module.
Every input value is supposed to have its own Patch Memory float in case of manual or automated GUI controls, or to be connected to a DSP control voltage source such as LFO, Envelope, MIDI control, or manual slider control.
The Regular Shape Generator module:
The Module itself has only a few plugs.
On the input side we have Y #0, Y #1 and Y #n(Spare) the spare indicating that after Y #1 the Floating Point inputs are self replicating.
Note: The Shape Out plug creates in real time, and sends a new BLOB shape description when, and only when at least one of the Y #n Plug values is changed. This is not a continuous control signal.
Basic Shape Editor usage.
A basic setup is shown below using some Sliders, Volts to Float2 converters, the Shape Generator, a Patch Memory to convert from DSP to GUI, and the resulting shape displayed in the Shape Editor.
Note: Although the Sliders could in theory be connected directly to the Floating Point input plugs this is not a reliable method, as you can get missed data and “jerky” responses to control movements.
Fixing the “Start” and “End ” node values.
This structure is all well and good, but we will quite likely want to make the first and last nodes fixed at 0 Volts. All we need to do for this is make a slight change to our controls side of the shape generator. By adding a Fixed Values (float), set to 0, and connected to the first plug Y #0 and to the plug immediately after the last slider control we have now added fixed values to the start and end of the shape.
A Shape Oscillator controlled by a Regular Shape Generator.
This is an expansion of the structure shown above, with the addition of more control sliders, the Shape oscillator, and a sub-control to select the interpolation mode. The sub control is needed as we have two methods of selecting the ITP mode: by an Integer on the Shape editor, and a drop down list on the oscillator.
This is an expansion of the structure shown above, with the addition of more control sliders, the Shape oscillator, and a sub-control to select the interpolation mode. The sub control is needed as we have two methods of selecting the ITP mode: by an Integer on the Shape editor, and a drop down list on the oscillator.
As the Shape editor is only required to display the shape the Editable option in the module properties can be disabled, and the Y values of the 0 and 8 nodes are locked by using Fixed values of 0.
This is an expansion of the structure shown above, with the addition of more control sliders, the Shape oscillator, and a sub-control to select the interpolation mode. The sub control is needed as we have two methods of selecting the ITP mode: by an Integer on the Shape editor, and a drop down list on the oscillator.
This is an expansion of the structure shown above, with the addition of more control sliders, the Shape oscillator, and a sub-control to select the interpolation mode. The sub control is needed as we have two methods of selecting the ITP mode: by an Integer on the Shape editor, and a drop down list on the oscillator.
As the Shape editor is only required to display the shape the Editable option in the module properties can be disabled, and the Y values of the 0 and 8 nodes are locked by using Fixed values of 0.
A new shape BLOB will be sent to the oscillator whenever a slider position is updated.
Leave a Reply