Core components
Core components can be used with all root types in the graph editor.
core:container
Component that can contain other components.
core:custom
Base for core (not audio, video, etc.) components. No ports or controls by default. See coding guide.
core:property
Stores a property, and sends it from its output port whenever a new value is received. Also sends its value when the root container starts (eg. window opens).
- out : ControlOut
- value : Property : set / get value.
core:start-trigger
Output a signal (empty value) when the root container starts.
- out : ControlOut
core:tracker
Tracker sequencing component, supporting 8 channels and multiple patterns. The trigger
port would normally be connected to a core:timing:timer
or audio:clock
component.
Use Edit patterns
from the component popup menu to open the pattern table editor.
Use Save (CTRL-S)
to update the component.
- out-N : ControlOut : output for N channel
- patterns : Property : pattern data
- pattern : Property (integer 0..) : current pattern
- position : Property (integer 0.., transient) : current row position in pattern
- trigger : Action : send current row from outs and increment position
- reset : Action : reset position to 0
core:variable
Stores a value and sends it whenever triggered. Unlike core:property
it does not automatically
send on each update.
- out : ControlOut
- value : Property : set / get value.
- trigger : Action : trigger output.
core:array:iterator
Loops through an array of arguments, jumping to the next each time it is triggered. Can be set to
jump a (random) number of elements ahead, determined by min-skip
and max-skip
. Can loop
continuously forwards, or ping-pong back and forth through the array.
If the array is empty, an empty string will be sent instead.
- out : ControlOut
- values : Property (array) : set / get values array.
- index : Property (read-only) : current position.
- trigger : Action : trigger output.
- min-skip : Property (number 1..) : minimum count to move on trigger.
- max-skip : Property (number 1..) : maximum count to move on trigger.
- ping-pong : Property (boolean) : loop back and forth.
- reset-on-change : Property (boolean) : reset index to 0 when
values
changes. - trigger : Action : trigger output and increment position.
- reset : Action : reset index to 0.
core:array:random
Stores an array (list) of arguments, and selects and sends one randomly when triggered.
If the array is empty, an empty string will be sent instead.
- out : ControlOut
- values : Property (array) : set / get values array.
- trigger : Action : trigger random output.
core:math:add
Add value to input.
- in : ControlIn (number)
- out : ControlOut
- value : Property (number)
core:math:multiply
Multiply input by value.
- in : ControlIn (number)
- out : ControlOut
- value : Property (number)
core:math:random
Sends a random number between minimum and minimum + range when triggered
If range is zero, the value of minimum will be sent when triggered.
- out : ControlOut
- minimum : Property (number)
- range : Property (number 0..)
- trigger : Action : trigger output.
core:math:scale
Takes a number between x1 and x2 and scales it between y1 and y2. The input value will be clamped between x1 and x2 before scaling. x1 may be higher than x2, and y1 may be higher than y2 - this allows inverse scaling.
- in : ControlIn (number)
- out : ControlOut
- x1 : Property (number)
- x2 : Property (number)
- y1 : Property (number)
- y2 : Property (number)
core:math:threshold
Takes a number on its input port and sends it from its out-high port if greater than or equal to the threshold value, or from the out-low port if below the threshold value.
- in : ControlIn (number)
- out-low : ControlOut
- out-high : ControlOut
- threshold : Property (number)
core:routing:every
Allow every count
message through.
- in : ControlIn
- out : ControlOut
- count : Property (integer 1..)
- position : Property (integer 0.., read-only) : current position in count
- reset : Action : reset position to 0 - next input will be allowed through
core:routing:gate
A gate for control signals. Stops signals getting through when inactive.
The pattern property offers rudimentary sequencing support. It accepts an array of numbers between 0 and 1. The pattern loops through with each input signal (when active). A value of 0 means the signal is discarded. A value of 1 means the signal gets through. Values in-between mean that the signal will sometimes get through - 0.5 means the signal will get through on average half of the time, 0.25 means quarter of the time, etc. An empty pattern is ignored and the value of active is used as is.
- in : ControlIn
- out : ControlOut : values allowed through the gate.
- discard : ControlOut : values not allowed through the gate.
- active : Property (boolean)
- pattern : Property (array of number 0..1) : see description.
- retrigger : Action : restart pattern sequence.
core:routing:inhibitor
Stop more than one signal being sent through the component in a period of time.
- in : ControlIn
- out : ControlOut
- time : Property (number 0..60) : minimum time between signals (in seconds).
core:routing:join
Join two input signals. A signal to either input port will arm the component. A signal to the other input port will then pass through, and un-arm the component.
Repeated signals to the arming port will be ignored.
- in-1 : ControlIn
- in-2 : ControlIn
- out : ControlOut
- reset : Action : un-arm component.
core:routing:order
Send input to all ports connected to out-1
before out-2
.
- in : ControlIn
- out-1 : ControlOut
- out-2 : ControlOut
core:routing:send
Send the input signal to a control address. Primarily used for sending to controls in different roots.
- in : ControlIn
- address : Property (control address)
core:timing:animator
Animate to a value.
- out : ControlOut (number)
- to : Property (number, transient) : value to animate to.
- value : _Property (number) : set / get current value; setting value will stop animation.
- time : Property (number 0..60) : animation time in seconds.
core:timing:delay
Delay an input signal for a period of time.
A delay of 0 will delay the signal until the next control period (video frame, audio buffer, etc.) is processed.
- in : ControlIn
- out : ControlOut
- time : Property (number 0.60) : delay time in seconds.
core:timing:timer
A simple timer. Sends a signal (empty value) every period.
- out : ControlOut
- period : Property (number 0..60) : timer period in seconds.