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

ParameterTypeDefaultWhat it does
n_inputsNumber3Number of value inputs to record
trigger_modeString"Input"Input: record while trigger > 0.5. Playing: record while timeline is playing. Always: record every frame. One of: Input, Playing, Always.
triggerNumber0Record while this value is > 0.5 (connect to button output)
output_modeString"Collection"Collection: output as data table. Keyframe: write to target parameter. One of: Collection, Keyframe.
clearBooleanfalseClear all recorded samples
max_samplesNumber0Maximum samples to keep (0 = unlimited). Oldest samples dropped when exceeded.
points_inPoints—Connect a Points collection to record per-point trails over time
trail_lengthNumber60How many frames of history to keep per point. Older positions are dropped.
point_id_attrString"id"Attribute used to track point identity across frames. Empty = use index.
death_framesNumber0Frames to keep a trail after its point disappears (0 = remove immediately)
valueNumber0Value to record as keyframes
target_nodeString""Node to record keyframes onto
target_paramString""Parameter name on the target node
modeString"Replace"Replace: overwrite range. Overdub: add to existing. Punch: only fill gaps. One of: Replace, Overdub, Punch.
sourceString"Realtime"Realtime: capture live values while recording. Offline: sample the target param's driven value over a frame range on the bake trigger. One of: Realtime, Offline.
start_frameNumber0First frame to sample when baking offline
end_frameNumber100Last frame to sample when baking offline
bakeBooleanfalseBake the target parameter's driven value to keyframes over the frame range
samplingString"Adaptive"How often to sample. Adaptive skips frames where value hasn't changed. One of: Every Frame, Adaptive, Fixed Interval.
sample_intervalNumber5Record a sample every N frames
thresholdNumber0.005Minimum value change to trigger recording a new sample
reduceBooleantrueReduce keyframe count using curve simplification after recording
reduce_toleranceNumber0.010Simplification tolerance — higher values remove more keyframes
handle_typeString"Auto Clamped"Interpolation handle type for created keyframes. One of: Auto, Auto Clamped, Linear.

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

  1. Add a Recorder and wire a live value, such as a Pointer Input's position or a MIDI controller, into one of its inputs.

  2. Set Trigger Mode to Input and wire a button into Trigger, or set it to Always to record continuously.

  3. 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.

  4. For a moving trail, connect a Points collection to Points In and raise Trail Length to keep more history per point.

  5. Use Clear to start a fresh recording.

See also

Stroke · Bake Keyframes · Read Keyframes · Collections