Audio track velocity editing in the sequencer.
This commit is contained in:
parent
b46d4f09bb
commit
896a7907d3
10 changed files with 292 additions and 6 deletions
|
|
@ -3612,6 +3612,50 @@ checks, plus rendered screenshot inspection. See [the gallery](../screenshots/RE
|
|||
|
||||
---
|
||||
|
||||
## Phase 110 — Continuous Audio Velocity Editing in the Sequencer
|
||||
|
||||
### Goal
|
||||
|
||||
Extend the sequencer's downward-expanding velocity lanes to audio tracks, with
|
||||
level editing at arbitrary timeline positions using the existing C gain
|
||||
automation, playback, persistence and history contracts.
|
||||
|
||||
### Tasks and acceptance criteria
|
||||
|
||||
- [x] Display a connected audio level envelope beneath audio tracks using the
|
||||
same disclosure arrows and row layout as MIDI velocity lanes.
|
||||
- [x] Add points anywhere, independently of snap and note positions; drag caps
|
||||
vertically to adjust gain between silence and 400%, and right-click to remove.
|
||||
- [x] Preview edits locally, cancel with Escape, and commit once per gesture
|
||||
through the arrangement edit hook and undo/redo publication path.
|
||||
- [x] Share saved gain automation with the mixer, respecting existing Linear/Hold
|
||||
segments and preserving interpolation mode when editing an existing point.
|
||||
- [x] Verify off-grid point creation, edits, clamping, removal, cancellation,
|
||||
undo/redo, save/reopen and rendered audio levels in GUI integration tests.
|
||||
- [x] Capture the real audio envelope beside MIDI velocity bars, add it to the
|
||||
complete screenshot gallery and document the workflow.
|
||||
|
||||
### Implementation status
|
||||
|
||||
Implemented on 2026-11-06 without engine, dependency or project-format changes.
|
||||
Audio velocity controls track gain (0–4 linear, displayed as 0–400%); it is not
|
||||
MIDI note velocity. Empty tracks, buses and tracks containing audio display the
|
||||
gain envelope; tracks containing only MIDI retain their note velocity bars.
|
||||
On mixed audio/MIDI tracks the gain envelope affects both sources, and individual
|
||||
MIDI velocities remain editable in the piano roll. Automation replaces static
|
||||
track gain and holds its first/last values beyond its endpoints. New points use
|
||||
Linear interpolation; existing Hold segments remain supported. An initial point
|
||||
therefore sets the whole track's level until further points shape the curve.
|
||||
Points stay at their timeline position during vertical drags; add/remove points
|
||||
to change timing. The existing project-wide 1024-point automation limit applies.
|
||||
Envelope edits are saved; track disclosure state remains temporary GUI state.
|
||||
|
||||
Validation: warning-enabled CMake build, CTest checks including real FLTK
|
||||
lane gestures and comparison of rendered audio against the unautomated source,
|
||||
and inspection of the actual [audio envelope capture](../screenshots/audio-velocity-expanded.png).
|
||||
|
||||
---
|
||||
|
||||
## Recommended Execution Order
|
||||
|
||||
Reorder the phases when the audit reveals a blocking dependency. Do not mark a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue