main.tsx |
React entry: installs the sheet key listener first, applies the saved theme and size before the first render, renders App or a panel’s DetachedWindow. |
App.tsx |
Layout, handleMenu, KEY_ACTIONS, onKey, status line, toasts, event listeners, startup. |
api.ts |
TypeScript mirror of the model and snapshot; act, actMade, call, api. |
store.ts |
The global UI store and the tick channel (pushTick, onTick, meterLevels, liveTakes). |
frame.ts |
The shared animation-frame loop, framePos, coalesced. |
view.ts |
Shared tracks-area viewport, layout constants, the colour palette. |
layout.ts |
Track heights, depth and positions; per-project height persistence; vertical zoom. |
time.ts |
Samples to bars/beats and back. |
transport.ts |
Cycle, Autopunch and locate helpers. |
keymap.ts |
KEY_COMMANDS, MENU_SHORTCUTS, key normalisation. |
sheetKeys.ts, sheetKeysModel.ts |
Key commands while a sheet is open (useSheetKeys, installSheetKeys, sheetBlocks); the rule itself, pure and tested. See Sheets and key commands. |
pluginKeys.ts |
Keys a plug-in’s editor window passes on (macOS), dispatched as if pressed in the main window; pure, tested. |
wheel.ts |
What the mouse wheel scrolls in the time views (Settings › Editing › Mouse Wheel Scrolls). |
controllers.ts |
Controller assignment types and labels, strip and lane targets; pure, tested. |
learn.ts |
MIDI Learn: Learn Assignment, the right-click Learn menus, FxLearnContext for effect panels. |
keyFormat.ts |
Shortcuts written the way each platform does (“Ctrl+Shift+Z”, “⇧⌘Z”); pure, tested. |
tempo.ts |
The UI’s mirror of tempo.rs, cached per snapshot. |
prefs.ts |
Mirror of the settings, startup behaviour (runStartup), recovery offers, nudge sizes. |
ops.ts |
Track and region operations and the right-click menus (trackMenu, regionMenu, laneMenu). |
files.ts |
Open, save, import dialogs, unsaved-changes confirmation, undo/redo with toasts. |
dnd.ts |
Dropping files from the desktop or the Browser into the tracks area. |
routing.ts |
Send and output menus, New Aux. |
multiOut.ts |
An instrument’s next free output and what an aux on an output shows as its input; pure, tested. |
automation.ts, automation/ |
Automation lanes in the tracks area. automation.ts re-exports automation/params.ts (labels, each strip’s parameters, the scale, Stereo Out as a track; pure, tested), values.ts (reads that need the store), menus.ts (parameter and mode menus, extra lanes), useAutomation.ts (a fader following its lane) and canvas.ts (drawing, editing, point selection). |
autoLanes.ts |
The extra lanes under a track, the Output track’s lanes and automation curves (mirrors automation::shape); pure, tested. |
laneFollow.ts |
The shown automation lane following a plug-in moved to another track; pure, tested. |
moveAutomation.ts |
Move Automation with Regions: the Ask setting’s question before a move. |
loops.ts |
Looping regions in the tracks area. |
takes.ts |
Take folders in the tracks area: take rows, comp drawing, swipes, the take folder menu. |
comps.ts |
Comp names, MIDI take folders and the folder’s name bar label; pure, tested. |
fades.ts |
Fade curves and crossfades for drawing (mirrors fades.rs), the inspector’s fade types, the handles’ places; pure, tested. |
dragModes.ts |
The drag modes’ rules for drawing a drag’s outcome (mirrors drag_modes.rs); pure, tested. |
regionBar.ts |
A region’s name bar and body at a given track height; pure, tested. |
trackHeader.ts |
Track header layouts by height and the volume slider’s meter scale; pure, tested. |
regionParams.ts |
The Region inspector’s playback parameter values and how they show; pure, tested. |
tools.ts, marquee.ts |
Tracks-area tools (list, Tool menu keys, Scissors and Fade tool geometry) and the marquee’s geometry; pure. |
trackTools.ts |
The tools at work: the Tool menu (T), presses with each tool, the marquee’s commands, tool cursors and overlay drawing. |
arrangeCmds.ts, regionSelect.ts |
The arranging commands (Edit › Select, Section Between Locators, Trim, Move, Paste Replace…) by menu and key-command id, and their menus; regionSelect.ts holds the selection criteria (pure). components/StripSilence.tsx is the Strip Silence sheet. |
markers.ts |
The marker lane (bars over each marker’s length, selection, length drags) and marker commands. |
arrangement.ts |
The Arrangement track’s names, colours, drop slots and resize preview; pure. components/ArrangementTrack.tsx draws the lane (in GlobalTracks) and handles its menus and drags. |
freeze.ts |
Freeze and Unfreeze from the UI. |
bounce.ts |
Bounce and export option types; opening the dialogs. |
bounceFormat.ts |
Bounce formats and resolutions each offers, and the file names; pure, tested. |
projectFiles.ts |
File › Project Alternatives, Revert to Saved, Revert to and Save as Template, and rebuilding their native menus (set_project_menus). |
alternativesModel.ts |
Backup labels, name checks (mirroring check_name) and free names, track alternatives’ names; pure, tested. |
trackAlternatives.ts |
Track › Track Alternatives commands and the header pop-up’s menu. |
midiEdit.ts |
The Piano Roll’s editing functions, pure and unit-tested. |
ccCurves.ts |
Controller lane curves: curve shapes, ramps, Create Ramp, Thin Out; pure, tested. |
musicalMove.ts |
Region moves and nudges in bars and beats through the tempo map; pure, tested. |
regionGain.ts, regionGainDrag.ts |
The Tracks area’s region gain handle: geometry and arithmetic (pure, tested), and drawing and dragging it. |
zeroCrossings.ts |
The Snap Edits to Zero Crossings toggle and its menu item. |
pianoRollModel.ts |
The Piano Roll’s lanes and tools, the note area’s mapping, what a point hits, grid sums in musical time; pure, tested. |
pianoRollDraw.ts |
Piano Roll canvas drawing. |
regionDraw.ts |
Drawing a region on a canvas (body, name bar, waveform or notes, fades, loops), for the Tracks area and the Audio Track Editor; the crossfade handle drag in progress. |
regionGrab.ts |
What a press on a region in the Tracks area grabs; pure, tested. |
eventList.ts |
The Event List’s positions, lengths, typed values and edits; pure, tested. |
noteSelect.ts |
Edit › Select on notes and events while the Piano Roll or the Event List has focus; pure, tested. |
stepInput.ts |
Step Input: step lengths through the tempo map, the chord/advance state machine (Rest, Back, Chord, Sustain, Quantize) and the region edits it makes; pure, tested. Also the hook Musical Typing reports its notes through. |
stepSeq.ts |
The Step Sequencer’s pattern edits, edit modes, General MIDI drum names, the playing step of each row and the Tracks-area miniature; pure, tested. |
midiFiles.ts |
MIDI file import and export entry points. |
audioEdit.ts |
Audio Track Editor state and operations: range selection, zoom, transients, keys. |
audioRange.ts |
The Audio Track Editor’s range arithmetic; pure, tested. |
audioEditorModel.ts |
The Audio Track Editor’s layout constants, zoom range and what a press grabs; pure, tested. |
overview.ts |
The Tracks area overview strip’s mapping: time and tracks to strip pixels, the visible-area box, edge-drag zoom; pure, tested. |
fx.ts |
Built-in effect descriptions (FxInfo, FxParamSpec) and FX_PANELS. |
fxFormat.ts |
Built-in effect value formatting and control mapping; pure, tested. |
fxHost.ts |
Built-in effect registry and panel windows, the plug-in and Channel EQ clipboards (store fields, shared between windows), the slot right-click menu. |
fxDock.ts, fxDockState.ts |
Plug-in panels docked, floating or in separate windows: the pure transitions (tested), and applying them to the store with the floating panels’ saved sizes. |
compressorModel.ts, dynScale.ts |
The Compressor’s parameter ids, circuits and curve (mirrors compressor.rs), and the dynamics panels’ value formatting and knob maths; pure, tested. |
settingsText.ts |
The words Settings and the Recovery sheet show: MIDI messages, plug-in types, what crashed work left; pure, tested. |
instLayout.ts |
How an instrument panel lays out its sections, chosen apart for docked and floating; pure, tested. |
samplerMap.ts, samplerDrop.ts |
Marbble Sampler’s zones, note names and the sums behind its map (pure, tested); files going into it from its panel or a drop. |
sideChain.ts |
The key sources a side-chain menu offers; pure, tested. |
threads.ts |
Settings › Audio › Processing Threads; pure, tested. |
trackOff.ts |
Whether a track is off through its stacks, as Project::is_off has it; pure, tested. |
keyRepeat.ts |
Which key commands run again while their key is held; pure, tested. |
fxShapes.ts |
The curves the modulation, distortion and Gain panels draw, mirroring the engine; pure, tested. |
linearPhaseEq.ts |
The Linear Phase EQ’s parameters as Channel EQ settings, so its panel reuses the EQ editor; pure, tested. |
stripSettings.ts |
The channel strip Setting menu: the strip clipboard (a store field), Reset, saving and loading; resetting clip indicators. |
cpuMeter.ts |
The CPU meter’s tooltip and where its peak tick goes; pure, tested. |
stripMeters.ts |
The clip indicator’s readout and the gain-reduction meter’s scale and fall; pure, tested. |
vca.ts |
VCA offsets and loop checks for drawing the Mixer (mirrors vca.rs); pure, tested. |
slotDrag.ts |
Dragging plug-ins between Audio FX slots. |
waveform.ts |
Waveform fetching, caching and the four drawing styles. |
eqMath.ts |
Channel EQ frequency response for drawing (mirrors eq.rs). |
pluginMenu.ts |
Plug-in slot menus grouped by category. |
themes.ts |
Themes (CSS variables and canvas colours) and applyTheme. |
appearance.ts |
Saving and loading theme, interface size and waveform style in settings.json. |
theme.ts |
CanvasTheme and the live canvas colours. |
uiScale.ts |
Interface scale and canvas pixel ratio. |
icons.tsx |
Hand-drawn control bar glyphs. |
styles/ |
All styles, using the theme variables: index.css imports one file per area, in cascade order; tokens.css holds the :root variables. |
detach.ts |
Detached panel windows: the panel kind registry, sharing UI state and snapshots between windows, detaching and attaching, remembered geometry. |
detachModel.ts |
Panel keys and window labels, the shared fields, fitting windows to monitors; pure, tested. |
panelKinds.tsx |
The detachable panel kinds: Mixer, Editors, Event List, Step Sequencer, Channel EQ, effect panels. |