Recorder
Record frames or audio samples into a buffer for playback.
What it does
Recorder captures one or more live values into a buffer as the scene plays. A value from a Pointer Input, MIDI, OSC, or any other live source accumulates as samples while recording is active. In Collection mode the result is a data table readable downstream; wire in a Points collection and it records a moving trail per point instead. In Keyframe mode the capture is written straight onto another node's parameter as animation keyframes.
Recording starts and stops on your terms: hold a trigger above the Input threshold, record only while the timeline is playing, or record every frame. A separate Clear trigger wipes the buffer, and a cap on sample count bounds long recordings.
When to use it
Capturing a pointer drag, a MIDI performance, or any live input stream as data to play back or graph.
A trail of positions behind moving points: a Points collection into Points In keeps a sliding window of history per point.
Turning a live performance into animation keyframes on another node's parameter, captured as it happens or baked afterwards from a frame range.
| Parameter | Type | Default |
|---|---|---|
n_inputs | Number | 3 |
trigger_mode | String | "Input" |
trigger | Number | 0 |
output_mode | String | "Collection" |
clear | Boolean | false |
max_samples | Number | 0 |
points_in | CollectionOf(Points) | — |
trail_length | Number | 60 |
point_id_attr | String | "id" |
death_frames | Number | 0 |
value | Number | 0 |
target_node | String | "" |
target_param | String | "" |
mode | String | "Replace" |
source | String | "Realtime" |
start_frame | Number | 0 |
end_frame | Number | 100 |
bake | Boolean | false |
sampling | String | "Adaptive" |
sample_interval | Number | 5 |
threshold | Number | 0.005 |
reduce | Boolean | true |
reduce_tolerance | Number | 0.010 |
handle_type | String | "Auto Clamped" |
Gotchas
In trail mode, Point Id Attr decides how a point's history follows it frame to frame. Left empty, points are tracked by index, which breaks if the incoming order changes. Wire an id or other stable attribute for trails that survive points appearing, disappearing, or reordering.
Keyframe mode has two independent sampling paths. Realtime records the live value on every qualifying frame while the trigger is held. Offline ignores the trigger: pressing Bake samples the target parameter's fully resolved value across Start Frame–End Frame in one pass, which is the more reliable route to a clean, evenly-sampled curve.
Only an explicit Clear trigger empties the Collection buffer. Recorded samples persist across separate press/release recording sessions, each tagged with its own session id.
Worked example
Add a Recorder and wire a live value, such as a Pointer Input's position or a MIDI controller, into one of its inputs.
Set Trigger Mode to Input and wire a button into Trigger, or set it to Always to record continuously.
Leave Output Mode on Collection to build a data table of samples, or switch to Keyframe and choose a Target Node and Target Param to write the capture straight onto another node's parameter.
For a moving trail, connect a Points collection to Points In and raise Trail Length to keep more history per point.
Use Clear to start a fresh recording.