Phase 33: add a flat modern DAW workspace and track creation workflow
This commit is contained in:
parent
fe484537f9
commit
d800a6392e
19 changed files with 711 additions and 115 deletions
57
docs/WORKSPACE.md
Normal file
57
docs/WORKSPACE.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# Flat DAW workspace
|
||||
|
||||
Phase 33 presents the existing xtc editors in a consistent flat workspace. It uses
|
||||
FLTK vector drawing and system fonts: no images, shadows, bevels, 3D rendering,
|
||||
external theme packages or new runtime dependencies.
|
||||
|
||||
The default window is 1280 × 800; the supported minimum is 1220 × 720. The main
|
||||
editor grows with the window. Use the scrollbars for longer arrangements and
|
||||
larger track counts. The sidebar stays available across Sequencer, Mixer and
|
||||
Modular Graph views. Ctrl+1/2/3 switches those views; Ctrl+4 opens the piano roll.
|
||||
|
||||
## Create and arrange
|
||||
|
||||
- **New MIDI track** (Ctrl+Shift+M) creates a named track and a one-bar MIDI clip
|
||||
at the cursor. The new clip and mixer track are selected together. **Edit MIDI
|
||||
notes** opens its piano roll. Creation is one undo step.
|
||||
- **New audio track** (Ctrl+Shift+A) creates an empty named track. **Import WAV**
|
||||
imports into the selected track, or creates one when none is selected.
|
||||
- **Load instrument plugin** opens the instrument browser for the selected
|
||||
sequencer track. Unassigned MIDI tracks retain the built-in sine instrument.
|
||||
- Existing Add track/region/MIDI clip, duplication, trimming, split, rename and
|
||||
delete commands remain available. F2 renames the selection. Drag clips to move
|
||||
them and their edges to trim them; click the ruler to seek while stopped.
|
||||
|
||||
Creating a track uses candidate preparation, so module, capacity or allocation
|
||||
failures retain the current project. As with other project replacements, the
|
||||
engine stops and the transport returns to the beginning. Track creation is
|
||||
unavailable while recording. No track type restriction is added to the model:
|
||||
ordinary tracks still accept the existing audio and MIDI workflows.
|
||||
|
||||
Track headers show a stable color, name, order and mute/solo state. Clip colors
|
||||
follow track identity through reordering. MIDI previews show real note starts,
|
||||
durations and relative pitches; waveforms continue to show loaded audio data.
|
||||
The selected clip has a light outline. A teal playhead and bar grid make musical
|
||||
time visible. The transport display reads **bar : beat : tick** (4/4, 960 ticks
|
||||
per beat); BPM follows the project tempo. These displays are read-only.
|
||||
|
||||
The sidebar inspector follows the sequencer selection, showing track name,
|
||||
gain/pan, mute/solo and assigned instrument. Use the Mixer for controls, routing,
|
||||
meters and automation; the sidebar is an overview, not another mixer. Status and
|
||||
errors remain visible below the editor. Existing engine connection, transport,
|
||||
recording and keyboard safety behavior is retained.
|
||||
|
||||
## Example and verification
|
||||
|
||||
Open `examples/projects/modern-session.xtc` for an original four-track, four-bar
|
||||
MIDI arrangement with 16 clips and 128 notes. It needs no media or plugins. It is
|
||||
also installed with the project examples. Connect JACK playback ports before
|
||||
listening. Work on a copy if the installed examples are read-only.
|
||||
|
||||
GUI tests exercise sidebar creation, selected clip/editor access, undo/redo,
|
||||
failed preparation, save/reopen and layout at 1220 × 720 and 1600 × 1000. The
|
||||
running example was also inspected at 1280 × 800. Existing GUI plugin, live JACK
|
||||
and workflow tests cover the retained commands. A modern presentation does not
|
||||
add commercial-DAW features: detachable/resizable docks, mixer channel strips,
|
||||
automatic plugin scanning, custom plugin editors and new audio/MIDI features
|
||||
remain outside this phase. Existing plugin and engine limits still apply.
|
||||
Loading…
Add table
Add a link
Reference in a new issue