Skip to content

Frontend

File Contents
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.