Detached mixer and transport from main window.
This commit is contained in:
parent
02e27a33a2
commit
cdea091b37
9 changed files with 219 additions and 4 deletions
|
|
@ -1084,6 +1084,18 @@ See [BUILTIN_DEVICES.md](BUILTIN_DEVICES.md) for controls and explicit limitatio
|
|||
|
||||
---
|
||||
|
||||
## Phase 39 — Detachable transport and mixer
|
||||
|
||||
- [x] Float/dock the existing transport and mixer without duplicating state.
|
||||
- [x] Keep BPM and loop settings in the shared transport controls.
|
||||
- [x] Recover arrangement space and retain resizable mixer channels.
|
||||
- [x] Support close-to-dock, Dock all, floating playback shortcuts and safe shutdown.
|
||||
- [x] Exercise lifecycle, settings and resizing in GUI tests and capture floating views.
|
||||
|
||||
See [WORKSPACE.md](WORKSPACE.md) for usage and session-only layout limitations.
|
||||
|
||||
---
|
||||
|
||||
## Recommended Execution Order
|
||||
|
||||
Reorder the phases when the audit reveals a blocking dependency. Do not mark a phase complete merely because code exists: its acceptance criteria must be demonstrated by builds, tests, or documented manual verification.
|
||||
|
|
|
|||
|
|
@ -149,3 +149,31 @@ Fit song resets the viewport without editing the project.
|
|||
Verification covers real FLTK palette filtering, empty searches and cancellation,
|
||||
tempo callbacks/undo/failed adoption, inspector edits and in-progress numeric
|
||||
input, fit and follow navigation, and existing core/GUI/live JACK workflows.
|
||||
|
||||
|
||||
## Detachable transport and mixer (Phase 39)
|
||||
|
||||
Use **View → Detach transport** or **View → Detach mixer** to move either panel
|
||||
into a separate window. Toggle the same menu action, use the floating panel's
|
||||
**Dock** button, or close its window to return it to the main workspace.
|
||||
**View → Dock all panels** restores both. **View → Mixer** (Ctrl+2) also raises
|
||||
the floating mixer. The main arrangement expands when the transport is detached.
|
||||
The mixer remains the same live view, with its channel selection, faders, routing
|
||||
and meters; the main Mixer tab offers Show and Dock actions while it is floating.
|
||||
|
||||
The transport owns the playback buttons, position, **BPM**, **Loop** toggle and
|
||||
**Loop range...** settings in both layouts. Shift-drag on the sequencer ruler
|
||||
still updates the same loop region. BPM remains an undoable project edit;
|
||||
loop preferences retain their existing Preferences / Apply persistence behavior.
|
||||
Space and menu playback shortcuts work from either floating panel, with normal
|
||||
numeric/text editing protection. Closing the main window closes all panels only
|
||||
after the existing unsaved/recording/backend shutdown checks succeed.
|
||||
|
||||
Window detachment and positions are session-only; startup uses the docked layout.
|
||||
The floating transport is a wide toolbar (minimum 1220 pixels); the floating
|
||||
mixer resizes down to 600 × 420 and retains horizontal track scrolling.
|
||||
|
||||
Verified with `make BUILD_DIR=build/phase39 gui test-gui test-gui-instruments
|
||||
test-gui-jack` (one line), plus the GUI suite under AddressSanitizer/UBSan.
|
||||
Tests cover repeated reparenting, close-to-dock, resize, shared BPM/loop state,
|
||||
playback shortcuts, failed shutdown and cleanup.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue