Revert "Added an alternative GUI based on JUCE; I like FLTK more..."

This reverts commit cd2f87a8b3.
This commit is contained in:
Johannes Findeisen 2026-11-06 23:22:44 +01:00
commit d6e46f67d7
58 changed files with 10 additions and 11136 deletions

View file

@ -11,8 +11,7 @@ the graph editor is an advanced view of the same project.
## Layers
1. **C++ GUI:** input, drawing, windows, view state. FLTK is the default;
`src/gui/JUCE` is an independently optional JUCE frontend using the same C API.
1. **FLTK/C++ GUI:** input, drawing, windows, view state.
2. **C core:** project model, commands, parameters, persistence, validation.
3. **C engine:** prepared processing graph, DSP, transport timing, event
delivery.
@ -219,16 +218,3 @@ files; unsupported native saves preserve files. See NATIVE_API.md and decision
0008. Release tooling lives outside the runtime, with source manifests,
deterministic exports and staged installation/consumer checks. See RELEASING.md
for reproducibility scope.
## JUCE frontend ownership
The optional `xtc-juce` application ports the complete retained GUI command
structure under `src/gui/JUCE`, without linking FLTK. `ui.*` supplies JUCE
components, native controls, graphics, event dispatch, timers, scrolling and
dialogs while preserving the original C-facing command boundaries. The master
sequencer owns JUCE ruler/track groups; tracks own header, instrument, clip and
velocity components. Group ownership, borrowed indexes, immutable copied C
metadata and deferred deletion follow the same rules as the FLTK frontend.
JUCE renders overlays after child components and routes callbacks on the message
thread. The audio backend and callbacks remain in C. See the
[JUCE source map](../src/gui/JUCE/README.md#components-and-maintenance).