Mixer
The Mixer provides a console-style view of all tracks and channels with faders, pan controls, effects chains, and routing. Open it with ⇧M or from View > Mixer.
Mixer Module Properties
Section titled “Mixer Module Properties”| Property | Type | Default | Description |
|---|---|---|---|
visible | bool | false | Whether the Mixer panel is shown |
-- Toggle mixer visibilitypl.cmd("mixer:toggle-visible")
-- Check if mixer is visiblelocal visible = plinken.get("mixer", "visible")Channel Types
Section titled “Channel Types”The mixer has several channel types, each serving a different role in the signal chain:
Track Channels
Section titled “Track Channels”Every timeline track appears as a channel strip in the mixer. Track channel state is stored directly on the Track struct.
| Property | Type | Default | Range | Description |
|---|---|---|---|---|
volume | f64 | 1.0 | 0.0–2.0 | Output level (1.0 = unity gain) |
pan | f64 | 0.0 | −1.0–+1.0 | Stereo position |
mute | bool | false | — | Silence the track output |
solo | bool | false | — | Isolate for monitoring |
is_mono | bool | false | — | Mono channel mode |
instrument | PluginRef? | None | — | Instrument plugin (MIDI tracks) |
effects | PluginRef[] | [] | — | Effect plugin chain |
FX Return Channels (8)
Section titled “FX Return Channels (8)”Eight FX return channels for parallel effects processing. Tracks send audio to FX channels via aux sends, and FX returns are mixed into the master output.
Output Channels (4)
Section titled “Output Channels (4)”Four stereo output channels for multi-output routing. Tracks can be routed to different outputs via output_routing.
Master Channel
Section titled “Master Channel”The master channel controls the final stereo output level. All track and FX return channels are summed into the master before reaching the audio output.
Non-Track Channel Properties
Section titled “Non-Track Channel Properties”FX return, output, and master channels share the same state structure:
| Property | Type | Default | Description |
|---|---|---|---|
volume | f64 | 1.0 | Channel output level (0.0–2.0) |
pan | f64 | 0.0 | Stereo position (−1.0 to +1.0) |
mute | bool | false | Mute the channel |
solo | bool | false | Solo the channel |
effects | PluginRef[] | [] | Effect plugin chain |
Mixer Commands
Section titled “Mixer Commands”Panel Control
Section titled “Panel Control”| Command | Shortcut | Description |
|---|---|---|
mixer:toggle-visible | ⇧M | Show or hide the Mixer panel |
Channel Commands
Section titled “Channel Commands”| Command | Description |
|---|---|
mixer:set-channel-volume | Set volume for FX/output/master channel |
mixer:set-channel-pan | Set pan for FX/output/master channel |
mixer:toggle-channel-mute | Toggle mute for FX/output/master channel |
mixer:toggle-channel-solo | Toggle solo for FX/output/master channel |
Effect Commands
Section titled “Effect Commands”| Command | Description |
|---|---|
mixer:add-effect | Add effect plugin to FX/output/master channel |
mixer:remove-effect | Remove effect from FX/output/master channel |
mixer:reorder-effect | Reorder effect in channel’s plugin chain |
Track Commands (for track channels)
Section titled “Track Commands (for track channels)”| Command | Shortcut | Description |
|---|---|---|
track:set-volume | — | Set track volume |
track:set-pan | — | Set track pan |
track:toggle-mute | — | Toggle track mute |
track:toggle-solo | — | Toggle track solo |
track:toggle-mono | — | Toggle mono/stereo |
track:toggle-record | — | Toggle record arm |
track:select-prev | ↑ | Select previous track |
track:select-next | ↓ | Select next track |
track:add-effect | — | Add effect to track |
track:remove-effect | — | Remove effect from track |
track:reorder-effect | — | Reorder effect in chain |
Lua Examples
Section titled “Lua Examples”Adjusting Track Levels
Section titled “Adjusting Track Levels”-- Set track 1 volume to 80%pl.cmd("track:set-volume", { track_id = 1, volume = 0.8 })
-- Pan track 2 hard leftpl.cmd("track:set-pan", { track_id = 2, pan = -1.0 })
-- Mute track 3pl.cmd("track:toggle-mute", { track_id = 3 })
-- Solo track 4pl.cmd("track:toggle-solo", { track_id = 4 })Mixer Channel Controls
Section titled “Mixer Channel Controls”-- Set FX return 1 volumepl.cmd("mixer:set-channel-volume", { channel_type = "fx", index = 0, volume = 0.7})
-- Set master channel panpl.cmd("mixer:set-channel-pan", { channel_type = "master", index = 0, pan = 0.0})
-- Mute output channel 2pl.cmd("mixer:toggle-channel-mute", { channel_type = "output", index = 1})
-- Solo FX return 3pl.cmd("mixer:toggle-channel-solo", { channel_type = "fx", index = 2})Managing Effects
Section titled “Managing Effects”-- Add an effect to track 1pl.cmd("track:add-effect", { track_id = 1, plugin_id = "com.fabfilter.Pro-Q-3", format = "AU"})
-- Add an effect to FX return channel 1pl.cmd("mixer:add-effect", { channel_type = "fx", index = 0, plugin_id = "com.valhalla.ValhallaRoom", format = "AU"})
-- Add an effect to the master channelpl.cmd("mixer:add-effect", { channel_type = "master", index = 0, plugin_id = "com.fabfilter.Pro-L-2", format = "AU"})
-- Remove an effect by indexpl.cmd("mixer:remove-effect", { channel_type = "fx", index = 0, effect_index = 0})
-- Reorder an effect in the chainpl.cmd("mixer:reorder-effect", { channel_type = "master", index = 0, from = 0, to = 2})Sends & Routing
Section titled “Sends & Routing”Group Sends
Section titled “Group Sends”Tracks can send audio to bus tracks at adjustable levels. Each send has a level and a pre/post fader toggle.
| Command | Description |
|---|---|
track:add-send | Add a group send to a track |
track:remove-send | Remove a group send |
track:set-send-level | Set send level |
-- Add a send from track 1 to buspl.cmd("track:add-send", { track_id = 1, target = "bus-1", level = 0.5})
-- Adjust send levelpl.cmd("track:set-send-level", { track_id = 1, send_index = 0, level = 0.7})Aux Sends (FX Sends 1–8)
Section titled “Aux Sends (FX Sends 1–8)”Each track has 8 fixed aux send slots for routing to the FX return channels. Each aux send has:
- Level — Send amount (0.0–1.0)
- Pre/Post — Whether the send is pre-fader or post-fader (controlled by a bitmask)
-- Set aux send 1 level on track 1pl.cmd("track:set-aux-send", { track_id = 1, send_index = 0, level = 0.4})Output Routing
Section titled “Output Routing”Tracks can be routed to different output channels:
| Routing Value | Description |
|---|---|
"stereo-out" | Default stereo output |
"bus-1" .. "bus-16" | Bus tracks |
"device-1-2" | Hardware output pair 1-2 |
"device-3-4" | Hardware output pair 3-4 |
-- Route track to bus 1pl.cmd("track:set-output-routing", { track_id = 1, routing = "bus-1"})Plugin State
Section titled “Plugin State”The mixer captures live plugin state for all channel effects before saving. Plugin state is serialized as base64-encoded data in the PluginRef.state field, supporting AU and CLAP plugins.
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Shortcut | Command | Description |
|---|---|---|
| ⇧M | mixer:toggle-visible | Toggle Mixer panel |
| ↑ | track:select-prev | Select previous track |
| ↓ | track:select-next | Select next track |
Complete Command Reference
Section titled “Complete Command Reference”| Command | Description |
|---|---|
mixer:toggle-visible | Show/hide Mixer panel |
mixer:set-channel-volume | Set FX/output/master volume |
mixer:set-channel-pan | Set FX/output/master pan |
mixer:toggle-channel-mute | Toggle FX/output/master mute |
mixer:toggle-channel-solo | Toggle FX/output/master solo |
mixer:add-effect | Add effect to FX/output/master |
mixer:remove-effect | Remove effect from FX/output/master |
mixer:reorder-effect | Reorder effect in FX/output/master chain |
track:set-volume | Set track volume |
track:set-pan | Set track pan |
track:toggle-mute | Toggle track mute |
track:toggle-solo | Toggle track solo |
track:toggle-mono | Toggle track mono/stereo |
track:add-effect | Add effect to track chain |
track:remove-effect | Remove effect from track chain |
track:reorder-effect | Reorder effect in track chain |
track:add-send | Add group send |
track:remove-send | Remove group send |
track:set-send-level | Set group send level |
track:set-aux-send | Set FX aux send level |
track:set-output-routing | Set track output routing |
See Also
Section titled “See Also”- Timeline — Track management
- Transport — Recording and playback
- Audio — Audio engine and settings
- Plugins — Plugin formats and management
- Settings > Audio — Audio device configuration