Added an alternative GUI based on JUCE; I like FLTK more...
This commit is contained in:
parent
d6ded83beb
commit
cd2f87a8b3
58 changed files with 11136 additions and 10 deletions
|
|
@ -11,7 +11,8 @@ the graph editor is an advanced view of the same project.
|
|||
|
||||
## Layers
|
||||
|
||||
1. **FLTK/C++ GUI:** input, drawing, windows, view state.
|
||||
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.
|
||||
2. **C core:** project model, commands, parameters, persistence, validation.
|
||||
3. **C engine:** prepared processing graph, DSP, transport timing, event
|
||||
delivery.
|
||||
|
|
@ -218,3 +219,16 @@ 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).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue