There are different flow types within Usine that are easily recognizable by their color.
Green contains audio information as a block of samples at the defined sampling rate frequency.
Internally audio flows are arrays of numbers from -1 to +1 which describe the audio wave. The size of the array is defined by the bloc-size in the setup-audio.
Contains any sort of data information at various sample rates depending on the data itself. For example delay, feedback values, etc. These flows can handle any type of scaled numeric values.
Contains polyphonic MIDI message information (i.e. note, channel, velocity, etc).
Contains a data array. An array is a set of data assembled together
ie. 0;0;0;1;0;0;1;0
.
Arrays are present in array, step, matrix modules, and more.
Contains an integer, which is the order of the selected item in the combobox, starting by 0 (the first element). If nothing is selected it contains -1.
Generally contains 0 if the switch is OFF and 1 if the switch in ON.
Contains trigger information, a 1 value followed immediately by a 0.
Contains text information. These can be expressed as a single text string, or as a comma separated text. This type is used in captions, lists, and so on. Internally it's an array of ascii characters. see ascii-table.
Contains frames or bitmaps information. Internally they are pointers to frames followed by a time information.
Contains color information as a RGBA set. It can also be an array of colors.
Generally, colors are set in hexadecimal format (char [0,1,2,3,4,5,6,7,8,9,A,B,C,F,E,F]
) preceded by a $
.
Note:
For example $FFAACC77
is
Contains an integer (a cardinal), which is considered as a set of bytes and can be manipulate by bitwise-modules.
All flows are not always compatible, and you can't connect them without following the table bellow.
flow1/flow2 | audio | data | MIDI | array | listbox | switch | trigger | text | video | color | bitwise |
---|---|---|---|---|---|---|---|---|---|---|---|
audio | X | X | - | X | - | - | - | - | - | - | - |
data | X | X | - | X | X | X | X | ! | - | - | - |
MIDI | - | - | X | - | - | - | - | - | - | - | - |
array | X | X | - | X | X | X | X | ! | - | - | - |
listbox | - | X | - | X | X | X | - | - | - | - | - |
switch | - | X | - | X | X | X | ! | - | - | - | - |
trigger | - | X | - | X | ! | ! | X | - | - | - | - |
text | - | ! | - | ! | - | - | - | X | - | - | - |
video | - | - | - | - | - | - | - | - | X | - | - |
color | - | - | - | - | - | - | - | - | - | X | ! |
bitwise | - | - | - | - | - | - | - | - | - | ! | X |
Usine is protected against incompatibles connexions but in case of mistakes, it can give gives unexpected result.
For example MIDI flows are not compatible with any other flows.
Usine will indicate that there is a problem by drawing a dashed wire.
Usine also provides protection against unexpected data ranges, therefore the routing of different data types or scaled ranges can be done without concern.
Below you can see an example of the internal protection provided by Usine:
In this example the audio input modulates the delay parameter! The audio flow provides variance between -1 to 1. In this case the delay will vary from 0 to 1 and negative values are ignored.
Usine also allows multiple connections to a single inlet/outlet:
In this case Usine performs a simple addition of the input flow.
The patch above is fully equivalent to utilizing the + math module as shown below:
For MIDI flows, Usine does a concatenation of MIDI messages.
version 6.0.241021
Edit All Pages