VDMX Behaviors
From VidvoxWiki
Behaviors are something very much like math expressions or formulas applied to incoming values. For example, if your slider is controlled by a MIDI-knob that reads 32, you could apply a Multiply behavior effect with the value of 2.00, and then the slider should read 64.
Behavior Effects could be stacked (top-down, just as usual), and you could do wicked things with them: multiply, divide, invert and average out values etc. The best way to learn what a particular Behavior Effect does is to synchronize a the mouse position or MIDI-knob to some slider (such as a layer opacity), apply a Behavior Chain to that slider and just mess around with values while observing what's happening with the slider. Below is a list of Behavior Effects and a short description of what each does‚ and an example of what happens when you attach a particular effect to a MIDI-controlled slider. Remember that you could always mix and match Behavior Effects to get very complex results.
Contents |
Behavior Chains and Sliders
A behavior chain is a a series of smaller behavior units strung together to create a more complex set of operations. Once created, a behavior chain can be applied to sliders using the slider inspector or right + clicking on the slider. When the value of the slider is changed, either by mouse or by a data source, it will be immediately processed by each behavior in the chain before the slider is actually updated.
Behavior Effects
Each behavior chain is made up of smaller behavior units that perform a specific operation on the incoming value and pass it on to the next effect in the chain.
AverageWith
Averages Input Value with Average Weight. Think of it as a filter that narrows down possible values of your slider. Input Value determines the position of affected area (set it to 0.50 to narrow your slider positions around its middle) while Average Weight determines how much the slider values are affected (0.00 for no effect, 1.00 for maximum effect when your slider would freeze). AverageWith effect comes really handy when you have some incoming values from another slider which you want to constrain a bit‚ works much smoother than Multiply with values under 1 (which works as a divisor in such case).
Crop
Values between first & last interesting points scaled up to use slider's full range.
Fall
Similar to the smoothing behavior, but only affects the slider when it's values are decreasing.
Invert
Simply inverts the incoming value‚ the minumum becomes maximum and vice versa. For example, if your slider controls rotation, the rotation direction would change to opposite.
LookupCurve
LookupCurve is an editable curve that maps your values according to its shape. Initially it's a straight diagonal top-left to bottom-right line that does nothing, but you could Cmd+click on it to create new point, click to drag them around and Cmd+click and drag elsewhere to increment or decrement all the values. Try making a V-looking curve and notice that your slider moves subtly around its left side and jumps really fast across its rightmost values. Change V shape to ^ and note the opposite effect. LookupCurve might help to make certain areas of your slider span more (or, on the contrary, less) responsive to incoming MIDI control data.
MinMax
Simple behavior for performing standard min / max math operations.
Modulus
Offsets incoming values across a certain range of a slider's span. Try to move it to about 0.30 and see that the leftmost extreme of your slider has just moved to about 1/3 of its length. Notice that when the value of the slider increments, it will jump through the righmost part to reappear from the left and reach it's extreme position at about 1/3. Better check it out yourself‚ basically, it's just an offset.
Multiply
This effect is also pretty straightforward‚ use it to multiply incoming data by a certain value. Hint: use values below 1 to turn Multiply effect into a divisor.
Offset
Basic behavior for adding or subtracting a fixed amount from the incoming slider value.
Offset Wrap
Like the Offset behavior, but "wraps around" when the slider value goes beyond the 0 to 1 range.
Randomize
Will randomly shift incoming values according to its Random Factor: use lower values to introduce some jitter or use maximum value to wreck total havoc.
Ranged Multiply
Like the Multiply behavior only instead of using the 0->1 representation (aka "normalized") of the slider value, the ranged value (the actual value used by the parameter the slider controls) is used multiplied. This can have very different results from the regular Multiply behavior, particularly if the range for the slider goes from positive to negative.
Scale
Scale isn't that apparent but is very convenient for scaling your MIDI knobs and faders to sliders with changed min and max envelopes. Synchronize a MIDI knob or a fader to a slider and then click and drag the slider's left (min) envelope to about 1/4 of the slider's length and its right (max) envelope to about 3/4 of the slider's length. Wiggle your MIDI control around and notice that the extreme positions of your knob or fader make no effect on the slider. Now Scale comes to the rescue‚ it has no controls but automatically maps the entire range of your knob or fader to a confined slider with nondefault min/max envelopes.
Smooth
Applies a basic smoothing algorithm to the slider values. Causes more gradual changes between numbers and filters out erroneous data. The smoothing factor can be adjusted to control how extreme the smoothing should be.
Smooth Wrap
Similar to smooth, but it will always take the shortest route between its current value and its newest value- which means if it's at 10%, and you click at 90%, it will "wrap around", and go 10% -> 0% -> 100% -> 90%. Made specifically to be used with the 'hue' slider in the color swatch plugin and other angle controls.
Snap
Incoming values are rounded off to the nearest interesting point of the slider.
Threshold
Outputs 1 if the slider value is above the threshold setting, or 0 if below.
Trianglize
Splits a slider into two parts. In its default state, a perfect ^ shape, half of your knob or fader motions moves the slider across one direction but once you traverse the half, your slider moves back. Set the height of the peak to control max values and skew the triangle to split the forward/backward motion in an uneven way. Trianglize is particularly convenient for controlling certain effects such as rotation.

