Transport Controls
The transport bar at the top of the window controls playback, recording, tempo, timing, and synchronization. All transport actions are available via keyboard shortcuts and the Lua API.
Playback
Section titled “Playback”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 |
| , | transport:back | Move back one bar |
| . | transport:forward | Move forward one bar |
| Home | transport:go-home | Go to bar 1 and scroll timeline |
| End | transport:go-end | Go to project end and scroll timeline |
Lua Examples
Section titled “Lua Examples”-- Toggle play/stoppl.cmd("transport:toggle-play")
-- Play from current positionpl.cmd("transport:play")
-- Stop playbackpl.cmd("transport:stop")
-- Return to startpl.cmd("transport:to-start")
-- Seek to sample positionpl.cmd("transport:seek", { position = 48000 })
-- Navigate by barpl.cmd("transport:forward") -- next barpl.cmd("transport:back") -- previous bar
-- Jump to start/endpl.cmd("transport:go-home")pl.cmd("transport:go-end")Transport Properties
Section titled “Transport Properties”| Property | Type | Default | Description |
|---|---|---|---|
is_playing | bool | false | Current playback state |
tempo | f64 | 120.0 | Tempo in BPM (20–999) |
time_sig_num | u8 | 4 | Time signature numerator (beats per bar) |
time_sig_den | u8 | 4 | Time signature denominator (beat value) |
cycle_enabled | bool | false | Cycle (loop) mode on/off |
cycle_start | i64 | 0 | Cycle start position in ticks |
cycle_end | i64 | 15360 | Cycle end position in ticks (default: 4 bars at 4/4) |
metronome_enabled | bool | false | Metronome click during playback |
metronome_recording_enabled | bool | true | Metronome click during recording |
metronome_volume | f32 | 0.7 | Metronome volume (0.0–1.0) |
count_in_enabled | bool | false | Count-in before recording |
count_in_bars | u8 | 1 | Count-in length in bars (1, 2, or 4) |
noise_enabled | bool | false | White noise test signal |
record_armed | bool | false | Recording armed |
automation_armed | bool | false | Automation recording armed |
mtc_enabled | bool | false | MIDI Time Code output enabled |
mc_enabled | bool | false | MIDI Clock output enabled |
Reading Properties
Section titled “Reading Properties”-- Check playback statelocal playing = plinken.get("transport", "is_playing")local tempo = plinken.get("transport", "tempo")local cycle = plinken.get("transport", "cycle_enabled")Recording
Section titled “Recording”Press R to arm recording. When armed, pressing play will record input to the armed tracks.
| Shortcut | Command | Description |
|---|---|---|
| R | transport:toggle-record | Toggle record armed state |
| — | transport:toggle-record-auto | Toggle automation record armed |
Plinken supports three recording types:
- Audio recording — Records audio input to WAV files
- MIDI recording — Records MIDI note and CC input
- Automation recording — Captures parameter changes as CC events
-- Arm recordingpl.cmd("transport:toggle-record")
-- Arm automation recordingpl.cmd("transport:toggle-record-auto")The default tempo is 120 BPM. Click the tempo display in the transport bar to change it. Valid range is 20–999 BPM. Tempo changes affect the grid, metronome, MIDI playback, and MIDI Clock output.
-- Set tempo to 140 BPMplinken.set("transport", "tempo", 140.0)Time Signature
Section titled “Time Signature”Default is 4/4. The numerator sets beats per bar, the denominator sets the beat value.
-- Set to 3/4 timeplinken.set("transport", "time_sig_num", 3)plinken.set("transport", "time_sig_den", 4)Metronome
Section titled “Metronome”Toggle the metronome with K. The metronome provides an audible click on each beat.
| Shortcut | Command | Description |
|---|---|---|
| K | transport:toggle-metronome | Toggle metronome on/off |
Metronome Settings
Section titled “Metronome Settings”| Setting | Default | Description |
|---|---|---|
| Playback click | Off | Metronome during normal playback |
| Recording click | On | Metronome during recording |
| Volume | 70% | Click volume (0–100%) |
| Count-in | Off | Play count-in bars before recording starts |
| Count-in bars | 1 | Number of count-in bars (1, 2, or 4) |
Lua Examples
Section titled “Lua Examples”-- Toggle metronomepl.cmd("transport:toggle-metronome")
-- Set metronome with specific settingspl.cmd("transport:set-metronome", { enabled = true, volume = 0.5})
-- Enable count-inpl.cmd("transport:toggle-countin")
-- Set count-in to 2 barspl.cmd("transport:set-countin", { bars = 2 })
-- Enable count-in explicitlypl.cmd("transport:set-countin-enabled", { enabled = true })Cycle Mode
Section titled “Cycle Mode”Toggle cycle (loop) mode with Shift+C. When enabled, playback loops between the cycle start and end points.
| Shortcut | Command | Description |
|---|---|---|
| ⇧C | transport:toggle-cycle | Toggle cycle mode |
| — | transport:set-cycle-start | Set cycle start position (ticks) |
| — | transport:set-cycle-end | Set cycle end position (ticks) |
The default cycle region is 4 bars (15,360 ticks at 4/4 time).
-- Toggle cycle modepl.cmd("transport:toggle-cycle")
-- Set cycle region to bars 5–8pl.cmd("transport:set-cycle-start", { tick = 15360 }) -- Bar 5pl.cmd("transport:set-cycle-end", { tick = 30720 }) -- End of bar 8
-- Read cycle statelocal enabled = plinken.get("transport", "cycle_enabled")local start = plinken.get("transport", "cycle_start")local end_pos = plinken.get("transport", "cycle_end")Test Signals
Section titled “Test Signals”The transport provides built-in test signals for monitoring and calibration.
| Command | Description |
|---|---|
transport:toggle-noise | Toggle white noise at −20 dB |
transport:set-noise | Enable/disable noise with optional volume |
transport:set-tone | Enable/disable test tone with optional volume/frequency |
-- Toggle white noise test signalpl.cmd("transport:toggle-noise")
-- Set specific noise levelpl.cmd("transport:set-noise", { enabled = true, volume = 0.1 })
-- Play a test tonepl.cmd("transport:set-tone", { enabled = true, volume = 0.3, frequency = 1000 -- 1 kHz})MIDI Sync
Section titled “MIDI Sync”Plinken can send MIDI synchronization signals to external hardware and software.
| Shortcut | Command | Description |
|---|---|---|
| — | transport:toggle-mtc | Toggle MIDI Time Code output |
| — | transport:toggle-mc | Toggle MIDI Clock output |
MIDI Time Code (MTC)
Section titled “MIDI Time Code (MTC)”Sends SMPTE timecode for positional sync. External devices can lock to Plinken’s timeline position.
MIDI Clock (MC)
Section titled “MIDI Clock (MC)”Sends tempo-based clock pulses (24 ppqn) for beat sync. External sequencers and arpeggiators can follow Plinken’s tempo.
-- Enable MTC outputpl.cmd("transport:toggle-mtc")
-- Enable MIDI Clock outputpl.cmd("transport:toggle-mc")
-- Check sync statelocal mtc = plinken.get("transport", "mtc_enabled")local mc = plinken.get("transport", "mc_enabled")Complete Command Reference
Section titled “Complete Command Reference”| Command | Shortcut | Description |
|---|---|---|
transport:play | Return | Start playback |
transport:stop | 0 | Stop playback |
transport:toggle-play | Space | Toggle play/stop |
transport:to-start | Enter | Return to start |
transport:seek | — | Seek to sample position |
transport:back | , | Move back one bar |
transport:forward | . | Move forward one bar |
transport:go-home | Home | Go to bar 1 |
transport:go-end | End | Go to project end |
transport:toggle-record | R | Toggle record armed |
transport:toggle-record-auto | — | Toggle automation record |
transport:toggle-cycle | ⇧C | Toggle cycle mode |
transport:set-cycle-start | — | Set cycle start (ticks) |
transport:set-cycle-end | — | Set cycle end (ticks) |
transport:toggle-metronome | K | Toggle metronome |
transport:set-metronome | — | Set metronome state/volume |
transport:toggle-countin | — | Toggle count-in |
transport:set-countin | — | Set count-in bars (1/2/4) |
transport:set-countin-enabled | — | Enable/disable count-in |
transport:toggle-noise | — | Toggle white noise |
transport:set-noise | — | Set noise state/volume |
transport:set-tone | — | Set test tone state/volume/freq |
transport:toggle-mtc | — | Toggle MTC output |
transport:toggle-mc | — | Toggle MIDI Clock output |
See Also
Section titled “See Also”- Timeline — Arranging tracks and regions
- Audio — Audio recording and engine settings
- MIDI — MIDI recording and playback
- Settings > Metronome — Detailed metronome configuration
- Settings > Sync — MIDI sync device configuration