Phase 6: Add WAV clips, graph playback and bounded recording
This commit is contained in:
parent
65640c4aad
commit
8a37090b81
40 changed files with 1450 additions and 69 deletions
19
README.md
19
README.md
|
|
@ -15,18 +15,19 @@
|
|||
This repository is a starter scaffold, not a production DAW. It currently provides:
|
||||
- a small C library/API;
|
||||
- a mono graph model with port validation, cycle rejection and topological ordering;
|
||||
- compiled offline plans with preallocated buffers, sine oscillator, gain, meter and output nodes;
|
||||
- compiled offline plans with preallocated buffers, sine oscillator, audio source, gain, meter and output nodes;
|
||||
- C tests for deterministic rendering, routing, validation and lifecycle;
|
||||
- an optional JACK-compatible mono backend with start/stop, routing and status;
|
||||
- safe control/audio plan handoff and concurrent replacement tests;
|
||||
- an optional FLTK shell with engine controls, view switching and backend status;
|
||||
- a modular graph editor with transactional edits and live plan adoption status;
|
||||
- versioned project save/load and a timeline for tracks and silent regions;
|
||||
- versioned project save/load and a timeline for tracks and clips;
|
||||
- sample-counted transport, selection, move/trim, timeline zoom and scrolling;
|
||||
- WAV import/graph playback, bounded recording and missing-asset relinking;
|
||||
- architecture, format, GUI, roadmap, and decision documents.
|
||||
|
||||
The JACK backend has passed software-loopback testing; physical-device playback
|
||||
is unverified. Recording, audio-region playback, MIDI and plugin hosting are not implemented yet.
|
||||
and capture are unverified. MIDI and plugin hosting are not implemented yet.
|
||||
|
||||
## Build
|
||||
|
||||
|
|
@ -55,10 +56,15 @@ Run the GUI:
|
|||
|
||||
The GUI opens JACK and offers Play/Stop/Reconnect, backend status and view
|
||||
switching. The initial empty graph is silent. Modular Graph supports adding,
|
||||
moving and deleting oscillator/gain/meter/output nodes and connecting ports.
|
||||
Sequencer regions are currently silent; the mixer editor remains a placeholder.
|
||||
moving and deleting oscillator/audio/gain/meter/output nodes and connecting ports.
|
||||
Import WAV (Ctrl+I) creates playable clips; Add region creates silent placeholders.
|
||||
Record captures JACK input to a chosen WAV; Stop finalizes and adds the take.
|
||||
Save the project after recording. External asset paths must remain available;
|
||||
select a missing clip and use File/Relink selected audio to repair it.
|
||||
See [audio workflow and limits](docs/AUDIO_FILES.md). The mixer remains a placeholder.
|
||||
Use Add track/Add region, drag regions or their edges, and Zoom +/-; scrollbars pan.
|
||||
Ctrl+N/O/S creates, opens or saves a project; Save As chooses another path.
|
||||
Arrangement edits stop playback; graph edits remain live.
|
||||
The ruler seeks while stopped. Stop pauses; Reconnect and project load reset position. F5 starts, F8 stops, Space toggles, F6 reconnects, and Ctrl+1/2/3
|
||||
switches views. Ctrl+Q closes the client and window. No physical ports are
|
||||
connected automatically. In Modular Graph, drag output to input to connect;
|
||||
|
|
@ -66,7 +72,8 @@ select a node or wire and press Delete to remove it. Invalid edits leave the
|
|||
active graph intact; queued changes are labeled until the engine adopts them.
|
||||
See [GUI documentation](docs/GUI.md).
|
||||
With JACK development files and an existing JACK-compatible server, run the
|
||||
isolated software-loopback test with `make test-jack`. It connects only test
|
||||
isolated software-loopback test with `make test-jack` and the record/reopen/play
|
||||
acceptance test with `make test-jack-audio`. It connects only test
|
||||
clients. See [engine documentation](docs/AUDIO_ENGINE.md) for configuration,
|
||||
routing, ownership and recovery.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue