Skip to content

Timeline

The timeline is the core workspace in Plinken — arrange audio, video, MIDI, text, and automation regions across tracks to build your project. Time flows left to right with tracks stacked vertically.

Tracks are horizontal lanes that hold regions. Each track has a stable ID (0–127) and a type that determines what content it can hold.

TypeDescription
AudioHolds audio regions referencing WAV/AIFF assets
MIDIHolds MIDI note regions routed to instruments
VideoHolds video regions for compositing
AutomationHolds CC automation curves linked to a parent node
TextHolds text regions for lyrics, captions, and cue notes
BusGroup bus for mixing multiple track outputs
PropertyTypeDefaultDescription
idu8Unique track ID (0–127)
namestring"Track N"Display name
track_typeenumAudioTrack content type
muteboolfalseSilence the track output
soloboolfalseIsolate this track for monitoring
armboolfalseArm for recording
input_activeboolfalseEnable live input monitoring
freezeboolfalseRender to audio for lower CPU usage
lockboolfalsePrevent accidental region edits
is_monoboolfalseMono channel mode (default: stereo)
volumef641.0Output level (0.0–2.0)
panf640.0Stereo position (−1.0 left to +1.0 right)
heightu32Track height in pixels
coloru32Track color
input_routingu80Audio input routing index
output_routingstring"stereo-out"Output destination ("stereo-out", "bus-1"..)
instrumentPluginRef?NoneInstrument plugin for MIDI tracks
effectsPluginRef[][]Effect plugin chain
latency_samplesu320Plugin-reported latency for delay compensation
CommandDescriptionShortcut
track:addCreate a new track
track:deleteDelete a track and its regions
track:renameRename a track
track:reorderMove a track to a new position
track:selectSelect a track
track:select-nextSelect the track below
track:select-prevSelect the track above
track:toggle-muteToggle mute
track:toggle-soloToggle solo
track:toggle-recordToggle record arm
track:toggle-inputToggle input monitoring
track:toggle-freezeToggle freeze
track:toggle-lockToggle lock
track:toggle-monoToggle mono/stereo
track:set-volumeSet track volume
track:set-panSet track pan
track:set-instrumentSet instrument plugin
track:add-effectAdd effect to chain
track:remove-effectRemove effect from chain
track:reorder-effectReorder effect in chain
track:set-input-routingSet audio input routing
track:set-output-routingSet output routing
track:add-sendAdd a group send
track:remove-sendRemove a group send
track:set-send-levelSet group send level
track:set-aux-sendSet FX aux send level
-- Add a new audio track
pl.cmd("track:add", { name = "Vocals", type = "audio" })
-- Mute track 2
pl.cmd("track:toggle-mute", { track_id = 2 })
-- Set volume to 80%
pl.cmd("track:set-volume", { track_id = 1, volume = 0.8 })
-- Pan hard left
pl.cmd("track:set-pan", { track_id = 1, pan = -1.0 })
-- Add an effect plugin
pl.cmd("track:add-effect", {
track_id = 1,
plugin_id = "com.fabfilter.Pro-Q-3",
format = "AU"
})
-- Arm track for recording
pl.cmd("track:toggle-record", { track_id = 1 })

The timeline module manages view state for scroll, zoom, and snapping.

ParameterTypeDescription
scroll_xf64Horizontal scroll position
scroll_yf64Vertical scroll position
zoom_xf64Horizontal zoom (0.1–100.0)
zoom_yf64Vertical zoom (0.1–10.0)
snap_modeenumSnapping behavior
track_header_widthu32Track header panel width (100–400 px)
  • Introduction — Playback, navigation, zoom, snap, and resolution
  • Regions — Moving, splitting, copying, and editing regions
  • Automation — Recording and editing automation curves