Seperating the sequencer into multiple widgets.

This commit is contained in:
Johannes Findeisen 2026-11-06 21:39:38 +01:00
commit e664414796
23 changed files with 1455 additions and 914 deletions

View file

@ -35,6 +35,25 @@ port/callback setup failure, activation/deactivation/close failure, null buffers
invalid configuration, oversize buffers, and reopen are tested with injected
JACK callbacks/results in `tests/unit/test_backend.c`.
## Sequencer component regression checks
`test_gui` verifies the actual FLTK hierarchy: a master sequencer owns its ruler
and track groups; tracks own clips, velocity lanes and header groups; headers
own instrument selectors. It checks view identity through track reordering and
undo, child membership after cross-track moves, deferred deletion and project
replacement during an active gesture. Clip and MIDI velocity gestures also run
through `Fl::handle` at the window boundary to exercise native event dispatch
and capture, alongside the existing direct-widget gesture tests.
```sh
cmake --build build --target test_gui
ctest --test-dir build -R '^gui-sequencer$' --output-on-failure
ctest --test-dir build -R '^gui$' --output-on-failure
```
Run GUI variants sequentially (`ctest --test-dir build -L gui -j 1`) because
several existing workflows use the same fixed temporary project filenames.
## FLTK shell tests
```sh