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
31
docs/GUI.md
31
docs/GUI.md
|
|
@ -26,7 +26,7 @@ from an audio callback. No server is started and no audio ports are connected
|
|||
by the GUI. The initially empty graph produces silence.
|
||||
|
||||
- **Play / F5:** start the engine. **Stop / F8:** deactivate it. **Space:** toggle.
|
||||
These advance/pause the sample-counted playhead; regions are currently silent.
|
||||
These advance/pause the sample-counted playhead; imported audio clips play through their graph source.
|
||||
- **Reconnect / F6:** close the old client and open a fresh stopped client.
|
||||
Use this after server loss or sample-rate changes. A failed close preserves
|
||||
the handle and reports the failure instead of opening another client.
|
||||
|
|
@ -123,10 +123,35 @@ ranges from 24 to 384 pixels/quarter. Names, tempo and 4/4 meter are drawn.
|
|||
A ruler click seeks while stopped (or positions the cursor when disconnected).
|
||||
The 100 ms GUI refresh converts the backend's actual sample counter to ticks;
|
||||
it never integrates wall-clock time. Play resumes and Stop pauses. Reconnect,
|
||||
New and Open reset position. Regions contain no audio or MIDI and cannot
|
||||
produce sound yet; modular graph processing continues as before. The C model
|
||||
New and Open reset position. Add region creates silent metadata; imported WAV clips play through the
|
||||
audio source node (Phase 6 below). MIDI content is not implemented. The C model
|
||||
supports a constant tempo; a tempo map and scheduler are future work.
|
||||
|
||||
Tests cover C-model/persistence boundaries, GUI move/trim gestures and zoom,
|
||||
save/reopen, failed load/submission rollback, sample-derived cursor updates,
|
||||
and live JACK playhead advance/pause.
|
||||
|
||||
|
||||
## Phase 6 audio workflow
|
||||
|
||||
Use File/Import WAV (Ctrl+I) to add an audio clip at the playhead on the selected
|
||||
track, or on a new Audio track. Record (Shift+F5) chooses a WAV destination and
|
||||
captures JACK input until Stop finalizes and adds the take. No input routes are
|
||||
created automatically. Save after Stop; the project references the external WAV.
|
||||
|
||||
Import creates an Audio clips graph source and output route if the source is
|
||||
absent. Modular Graph offers Add audio source for explicit routing through gain
|
||||
or meter nodes. All tracks currently share one mono timeline mix. Arrangement
|
||||
edits stop playback; graph edits remain live outside recording. During recording,
|
||||
edits, file actions, reconnect and close require Stop first.
|
||||
|
||||
Open/Play reports missing, unreadable or unsupported assets, preserving their
|
||||
regions as silence. The backend status shows the unique issue count. Select a
|
||||
clip and use File/Relink selected audio to choose another path; Play validates
|
||||
the replacement. Playback uses preloaded immutable samples; imports and loads
|
||||
can block the GUI while reading, but never the audio callback.
|
||||
|
||||
See AUDIO_FILES.md for supported WAV formats, memory limits, musical placement,
|
||||
recording overflow/partial-take recovery, external asset portability and the
|
||||
software-only acceptance tests. Waveform drawing, input monitoring, recording
|
||||
latency compensation and per-track mixing are not implemented.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue