Shows, Songs, and Patches
The core mental model of Stardust is a three-level hierarchy:
flowchart LR show["Show<br/>top-level production"] song["Song<br/>(or Number, Cue, Piece, Track — your choice)"] patch["Patch<br/>ordered sequence, advanced via footswitch"] show --> song --> patchShow
A Show is the top-level container — the production you’re playing. Examples: “Hamilton (2026 Production)”, “Hadestown Summer Tour”, “Little Shop of Horrors — Community Theatre.”
A Show owns:
- Settings: audio device, MIDI device list, channel routing, master volume, click track
- UI layout: the default Perform-mode arrangement
- Terminology: what to call sub-items (default
Song, but you can useNumber,Cue,Piece,Track,Set,Item, or custom) - Songs: the ordered list of items in the show
Song
A Song (or whatever you’ve named the unit) is one item in the show — typically one number/song/cue.
A Song owns:
- Settings overrides (optional — anything not overridden inherits from the Show)
- UI layout override (optional)
- Patches: an ordered sequence (see below)
- Notes: markdown-rendered show notes / lyrics / chord chart
- Click track config: BPM, time signature, count-in
- Transpose: pitch shift (semitones)
- Cues: MIDI-event triggers that fire actions during this Song
Why “Song” and not “Number”? “Number” is musical-theatre / dance-coded. “Song” is universal across all music contexts. The internal name is
Songbut you can display it as anything per-Show via the Show settings dropdown.
Patch
A Patch is a single sound configuration — the actual instrument(s) you’re playing through. Within a Song, you have an ordered list of patches that you advance through (typically with a footswitch).
Example: in the prologue of Little Shop of Horrors, Keys 2 might be:
- Patch 1: Whistle sound
- Patch 2: Celeste bells
- Patch 3: Sustained pad
You advance through these mid-song with a footswitch. Stardust pre-loads N±1 patches in memory so the switch is instant.
A Patch owns:
- Settings overrides (optional)
- UI layout override (optional)
- VST chain: the plugins active for this patch (instruments + effects)
- Effects: built-in inserts (EQ, reverb, compression)
- MIDI mappings: which control sources affect which plugin parameters
- Transition: how to enter this patch (immediate / fade / crossfade)
Why this hierarchy?
Real musical-theatre keyboardists don’t have a flat list of “sounds” — they have a structured show:
- A show has a known order of numbers
- Each number sometimes needs multiple sounds (whistle → bells → pad)
- Some settings (your MIDI rig, your audio output) are constant across the whole show; setting them once per show, not once per patch, saves hours
This three-level model matches the real workflow: program your rig once at Show level, then design Songs and the Patches within them. Settings cascade down — see Cascading Settings.
Patch transitions
When you advance from Patch N to Patch N+1, several things happen:
- All notes held on the outgoing patch are either:
- Released cleanly (default — sounds natural)
- Cut immediately (configurable per patch)
- Carried over to the new patch (rare; for sustained pads)
- The new patch’s VST chain is already loaded (we pre-load adjacent patches)
- A configurable transition plays — immediate, short fade, or crossfade
- MIDI mappings swap to the new patch’s mappings instantly
See Voice Tracking for how this avoids stuck notes between patches.
Direct jump
In addition to next/prev advance, you can:
- Press 1–9 on the keyboard to jump directly to that patch in the current Song
- Footswitch jump — assign specific footswitches to specific patches
- MIDI cue — incoming MIDI message can trigger a patch jump (e.g. conductor’s cue note)
See Patch Sequencing for the full picture.