Sync
The Sync tab configures timecode format, frame rate, start offset, and timing compensation for MIDI synchronization. These settings affect how Plinken communicates with external hardware and software via MIDI Time Code (MTC) and MIDI Clock (MC).
Open Settings with ⌘, (macOS) or Ctrl+, (Windows/Linux), then select Sync in the sidebar.
Frame Rate
Section titled “Frame Rate”The frame rate determines the timecode format used for MIDI Time Code (MTC) output and display. Choose the rate that matches your video or broadcast standard.
| Option | FPS | Drop Frame | Use Case |
|---|---|---|---|
| 24 fps (Film) | 24.0 | No | Cinema, film post-production |
| 25 fps (PAL) | 25.0 | No | European broadcast (PAL/SECAM) |
| 29.97 fps NDF | 29.97 | No | NTSC non-drop — continuous count |
| 29.97 fps DF | 29.97 | Yes | NTSC drop-frame — matches wall clock |
| 30 fps | 30.0 | No | Default. Music production, some broadcast |
The default is 30 fps. For video work, match the frame rate of your video project. For music-only projects, 30 fps is standard.
Timecode Start
Section titled “Timecode Start”Set the SMPTE timecode value at the start of the timeline (position zero). This shifts all timecode display and MTC output.
| Field | Range | Default | Description |
|---|---|---|---|
| Hours (HH) | 0–23 | 1 | Hours component |
| Minutes (MM) | 0–59 | 0 | Minutes component |
| Seconds (SS) | 0–59 | 0 | Seconds component |
| Frames (FF) | 0–(fps−1) | 0 | Frames component (max depends on frame rate) |
The default start time is 01:00:00:00 — standard for broadcast and post-production work.
Editing Timecode Fields
Section titled “Editing Timecode Fields”Each field supports three interaction methods:
- Scroll wheel — hover over a field and scroll up/down to increment/decrement
- Click & drag — click and drag vertically to adjust (drag up to increase)
- Double-click — enter direct text editing mode (type digits, press Enter to confirm or Escape to cancel)
Timing Compensation
Section titled “Timing Compensation”Compensate for MIDI hardware latency. These sliders add or subtract milliseconds to sync message timing, ensuring tight synchronization with external gear.
| Setting | Range | Default | Storage Key | Description |
|---|---|---|---|---|
| Input | −10 to +10 ms | 0.0 ms | sync.input_compensation_ms | Compensate for latency in incoming MIDI |
| Output MTC | −50 to +50 ms | 0.0 ms | sync.output_mtc_compensation_ms | Shift outgoing MTC earlier/later |
| Output MC | −50 to +50 ms | 0.0 ms | sync.output_mc_compensation_ms | Shift outgoing MIDI Clock earlier/later |
When to Use Compensation
Section titled “When to Use Compensation”- Input compensation — if notes from a MIDI keyboard consistently arrive early or late, adjust this to compensate
- Output MTC compensation — if video or external recorders drift from Plinken’s timeline, shift MTC output to align
- Output MC compensation — if external synths or drum machines feel ahead or behind the beat, adjust MIDI Clock timing
Values display in green when non-zero, with a + or − prefix. A value of 0.0 ms means no compensation.
Lua API
Section titled “Lua API”-- Set input timing compensation (ms)pl.cmd("settings:set", { key = "sync.input_compensation_ms", value = "2.5" })
-- Set output MTC compensation (ms)pl.cmd("settings:set", { key = "sync.output_mtc_compensation_ms", value = "-5.0" })
-- Set output MIDI Clock compensation (ms)pl.cmd("settings:set", { key = "sync.output_mc_compensation_ms", value = "3.0" })Frame rate and timecode offset are applied through engine commands:
-- Set frame rate (applied through engine)pl.cmd("engine:setFrameRate", { fps = 25.0, dropFrame = false })
-- Set timecode offset (total frames from HH:MM:SS:FF)pl.cmd("engine:setTimecodeOffset", { offsetFrames = 108000 })Related Commands
Section titled “Related Commands”| Command | Description |
|---|---|
settings:set | Set a user setting by key |
engine:setFrameRate | Set the timecode frame rate |
engine:setTimecodeOffset | Set the timecode start offset |
engine:setOutputCompensationMtc | Apply MTC output compensation in ms |
engine:setOutputCompensationMc | Apply MC output compensation in ms |
See Also
Section titled “See Also”- Settings Overview — All settings tabs
- MIDI Settings — MIDI device routing (MC/MTC/MMC per device)
- MIDI Overview — MIDI features and workflow