A rhythmic computing system.
Load Trig Scheme definitions
This provides wrappers for the nodes.
Making a new trig page
This is done with
Select it with
Initalizing Trig With clock
After creating an instance of trig, it needs to be
initialized with a clock. This is done with
trigclk. Call this before doing anything else.
(trigclk (clock 0 120 4) "trig")
Executing Trig Instructions
After a trig is initialized with a clock, it can then execute instructions. Do this before attempting to get anything from it.
Reading from wires
trigwget will read from a given wire in trig, given the
wire ID. This expects to be a value in the range 1-8.
(trigwget 1 "trig")
How to make rhythms
Wires can be multiplied with the input clock signal to produce a rhythm.
Something like this should do it:
(clock 0 120 4) (bdup) (trigclk zz "trig") (trigex "trig") (trigwget 1 "trig") (mul zz zz) (tenvx zz 0.001 0.002 0.01) (sine 1000 0.4) (mul zz zz)
Executing Things in Parallel
Parallel reads can happen with the
which stands for trigger re-execution. Internally,
this creates a new reader that reads from the same chunk
trigrex needs to be called before
Otherwise, multiple playhead display will not show up.
Reset On recompile
It's often useful to reset the playhead between recompiles.
This keeps this in sync. To do this, place a
monolith:trig-reset in the patch.
This will set the position to be the initial position, which is set to be the top-left cell 1 by default. At the time of writing, there is know way to change this from scheme (yet).