Timeline Introduction
The timeline is the central workspace where you arrange audio, MIDI, video, text, and automation regions on tracks. Time flows left to right, with tracks stacked vertically. The track headers on the left show per-track controls (name, mute, solo, record arm, volume, pan).
Playhead
Section titled “Playhead”The playhead is a vertical line showing the current playback position. Click anywhere on the timeline ruler to move the playhead to that position.
During playback, the playhead advances in real time. When stopped, you can reposition it by clicking the ruler or using transport commands.
Navigation
Section titled “Navigation”Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Shortcut | Command | Description |
|---|---|---|
| Space | transport:toggle-play | Toggle play / stop |
| Return | transport:play | Play from current position |
| 0 | transport:stop | Stop playback |
| Enter | transport:to-start | Return playhead to start |
| , (comma) | transport:back | Move back one bar |
| . (period) | transport:forward | Move forward one bar |
| Home | transport:go-home | Go to bar 1 and scroll to show it |
| End | transport:go-end | Go to project end and scroll to show it |
| ↑ | track:select-prev | Select previous track |
| ↓ | track:select-next | Select next track |
Lua Examples
Section titled “Lua Examples”-- Seek to a specific sample positionpl.cmd("transport:seek", { position = 48000 })
-- Go to bar 1pl.cmd("transport:go-home")
-- Go to project endpl.cmd("transport:go-end")
-- Move forward one barpl.cmd("transport:forward")
-- Move back one barpl.cmd("transport:back")Zoom & Scroll
Section titled “Zoom & Scroll”The timeline supports both horizontal zoom (time resolution) and vertical zoom (track height).
| Parameter | Range | Description |
|---|---|---|
zoom_x | 0.1–100.0 | Horizontal zoom — higher values show more detail |
zoom_y | 0.1–10.0 | Vertical zoom — higher values show taller tracks |
scroll_x | ≥ 0 | Horizontal scroll offset |
scroll_y | ≥ 0 | Vertical scroll offset |
Use Shift+M to toggle the Mixer panel, or pinch/scroll gestures on trackpad for zoom control.
Snapping
Section titled “Snapping”Plinken supports snap modes to help you align regions precisely. When snapping is enabled, regions snap to the nearest grid position when moved or resized.
| Snap Mode | Description |
|---|---|
| Off | Free positioning (no snapping) |
| Grid | Snap to beat/bar grid based on time signature |
| Region | Snap to edges of other regions |
Resolution
Section titled “Resolution”Plinken uses 960 PPQ (Pulses Per Quarter note) for internal timing — the same resolution used by Logic Pro. This gives you extremely precise MIDI timing and region placement, with each beat divided into 960 discrete positions.
Tick Reference
Section titled “Tick Reference”| Musical Value | Ticks |
|---|---|
| Whole note (4/4 bar) | 3,840 |
| Half note | 1,920 |
| Quarter note (beat) | 960 |
| Eighth note | 480 |
| Sixteenth note | 240 |
| Thirty-second note | 120 |
| Triplet quarter | 640 |
| Triplet eighth | 320 |
Default Cycle Length
Section titled “Default Cycle Length”At 4/4 time signature, the default cycle region spans 4 bars = 15,360 ticks.
Time Signature & Tempo
Section titled “Time Signature & Tempo”The transport bar shows the current tempo and time signature. Defaults are 120 BPM in 4/4 time.
| Property | Type | Default | Range | Description |
|---|---|---|---|---|
tempo | f64 | 120.0 | 20–999 BPM | Project tempo |
time_sig_num | u8 | 4 | — | Beats per bar |
time_sig_den | u8 | 4 | — | Beat value |
-- Read current tempolocal tempo = plinken.get("transport", "tempo")
-- Change tempoplinken.set("transport", "tempo", 140.0)Track Header Width
Section titled “Track Header Width”The track header panel width is adjustable between 100–400 pixels:
-- Set track header widthplinken.set("timeline", "track_header_width", 200)See Also
Section titled “See Also”- Transport Controls — Playback, recording, metronome, cycle mode
- Regions — Working with regions on the timeline
- Automation — Recording and editing automation curves