From 896a7907d3fe27ff44c8db417c5544800df292c0 Mon Sep 17 00:00:00 2001 From: hanez Date: Fri, 6 Nov 2026 21:10:48 +0100 Subject: [PATCH] Audio track velocity editing in the sequencer. --- README.md | 1 + docs/ROADMAP.md | 44 +++++++++ screenshots/ALL.md | 16 ++++ screenshots/README.md | 21 +++++ screenshots/audio-velocity-editing.png | Bin 0 -> 76378 bytes screenshots/audio-velocity-expanded.png | Bin 0 -> 75532 bytes src/gui/sequencer_widget.cpp | 115 ++++++++++++++++++++++-- src/gui/sequencer_widget.hpp | 6 ++ tests/integration/test_gui.cpp | 63 +++++++++++++ tools/capture_screenshots.cpp | 32 ++++++- 10 files changed, 292 insertions(+), 6 deletions(-) create mode 100644 screenshots/audio-velocity-editing.png create mode 100644 screenshots/audio-velocity-expanded.png diff --git a/README.md b/README.md index e9bcf1f..1dbf25b 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,7 @@ cmake --build build --target clean - The GUI now exposes left `output` and `output_right` JACK ports; route both explicitly for stereo. See [mixer workflow and limits](docs/MIXER.md). - Use Add track/Add region, drag regions or their edges, and Zoom +/-; scrollbars pan. - Click the small arrow beside a track name to expand its MIDI velocity lane downward. Drag a note bar’s cap vertically to set velocity (1–127); Escape cancels and Ctrl+Z undoes. Click the arrow again to collapse. See the [expanded-track screenshot](screenshots/track-velocity-expanded.png). +- Audio tracks open an **audio velocity** level envelope in the same lane. Click anywhere to add a gain point (0–400%), drag a point vertically to adjust it, or right-click its cap to remove it. Positions are independent of the snap grid; Escape cancels and undo/redo is supported. This is the track’s saved gain automation, shared with the mixer. See the [audio envelope screenshot](screenshots/audio-velocity-expanded.png). - 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. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index fd73130..a3744de 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -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 diff --git a/screenshots/ALL.md b/screenshots/ALL.md index 397ec3f..e7fee09 100644 --- a/screenshots/ALL.md +++ b/screenshots/ALL.md @@ -37,6 +37,22 @@ Keys and Bass expand downward to reveal MIDI velocity bars while following track --- +## Shape audio velocity at any point + +![Continuous audio velocity envelope beneath an expanded track](audio-velocity-expanded.png) + +The audio track exposes a continuous level envelope with editable gain points at arbitrary timeline positions. The Keys track below retains its MIDI note velocity bars. + +--- + +## Preview an audio level adjustment + +![Dragging an audio velocity envelope point](audio-velocity-editing.png) + +Dragging a point vertically previews the new envelope and displays its level in the track header. Release to commit the edit or press Escape to cancel. + +--- + ## Start a new track ![Start a new track](create-track-menu.png) diff --git a/screenshots/README.md b/screenshots/README.md index 4d787a1..a224ddf 100644 --- a/screenshots/README.md +++ b/screenshots/README.md @@ -32,6 +32,27 @@ APIs and GUI history/preparation paths. Original projects, media and user configuration are not overwritten. Black margins are the virtual desktop; floating views show the actual detached windows together. +## Continuous audio velocity editing (Phase 110) + +![Audio velocity envelope beneath a waveform track](audio-velocity-expanded.png) + +The expanded audio track shows a continuous gain envelope alongside the +Keys MIDI velocity lane. Points were created through actual sequencer gestures; +the screenshot is an unmodified application capture. Click anywhere in an audio +lane to add a point, drag vertically to adjust it, or right-click a cap to remove +it. The level range is 0–400%; points share the mixer's saved gain automation. + +The [editing preview](audio-velocity-editing.png) shows an active vertical drag +with its level displayed in the track header. + +Reproduce these two captures without replacing the other images: + +```sh +cmake --build build --target capture_screenshots +XTC_CAPTURE_AUDIO_VELOCITY_ONLY=1 xvfb-run -a -s '-screen 0 1440x960x24' \ + ./build/capture_screenshots "$PWD/screenshots" +``` + ## Expandable track velocity lanes (Phase 109) ![Tracks expanded downward with editable MIDI velocity bars](track-velocity-expanded.png) diff --git a/screenshots/audio-velocity-editing.png b/screenshots/audio-velocity-editing.png new file mode 100644 index 0000000000000000000000000000000000000000..0f6e216adc011015b43deae41e16e4fe05bc0afe GIT binary patch literal 76378 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 literal 0 HcmV?d00001 diff --git a/screenshots/audio-velocity-expanded.png b/screenshots/audio-velocity-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..2217e224e303103c1b0329d59ead3942e75a74b9 GIT binary patch literal 75532 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 PxVLZKxsfY(|Ji>7vi#bi literal 0 HcmV?d00001 diff --git a/src/gui/sequencer_widget.cpp b/src/gui/sequencer_widget.cpp index 87021b8..2b8fbcc 100644 --- a/src/gui/sequencer_widget.cpp +++ b/src/gui/sequencer_widget.cpp @@ -153,6 +153,58 @@ bool SequencerWidget::velocity_note(const xtc_note_info ¬e, uint64_t track, i return true; } +bool SequencerWidget::audio_velocity_lane(uint64_t track) const +{ + size_t tracks=0, clips=0; xtc_project_get_counts(project_,&tracks,&clips); + bool midi=false; + for(size_t i=0;i(velocity_top_+velocity_height_-8-py)*4.0f/(velocity_height_-28),0.0f,4.0f); +} + +void SequencerWidget::draw_audio_velocity(const xtc_track_info &track, int top, int left, int right) +{ + std::array points{}; + size_t count=0,total=0; xtc_project_automation_count(project_,&total); + for(size_t i=0;i(t*static_cast(scale_)/960U);}; + auto py=[&](float v){return top+velocity_height_-8-static_cast(v*(velocity_height_-28)/4.0f);}; + fl_color(xtc_ui::track(track.id)); + if(!count) fl_line(left,py(track.gain),right,py(track.gain)); + else { + fl_line(left,py(points[0].value),px(points[0].tick),py(points[0].value)); + for(size_t i=1;iright+4) continue; + fl_rectf(point_x-4,py(points[i].value)-3,8,6); + } + } +} + unsigned int SequencerWidget::velocity_value(int py) const { return static_cast(std::clamp((velocity_top_+velocity_height_-8-py)*127/(velocity_height_-28),1,127)); @@ -391,8 +443,11 @@ void SequencerWidget::draw() fl_push_clip(std::max(cx,header_left()+header_width_),top,cw,velocity_height_); fl_color(xtc_ui::border()); fl_line(x()+header_width_,top,x()+w(),top); fl_font(FL_HELVETICA,10); fl_color(xtc_ui::muted()); - fl_draw("Drag a note bar to change velocity",std::max(x()+header_width_,header_left()+header_width_)+8,top+14); - for(size_t n=0;n=track_top(static_cast(row))+56) { - if(Fl::event_button()!=FL_LEFT_MOUSE || Fl::event_x()(row))+56; + if(audio_velocity_lane(t.id)) { + track_=t.id; clip_=UINT64_MAX; selection_.clear(); + uint64_t position=std::min(XTC_PROJECT_MAX_TICK,static_cast(std::max(0,Fl::event_x()-x()-header_width_))*960/static_cast(scale_)); + audio_velocity_preview_={t.id,position,XTC_AUTOMATION_GAIN,audio_velocity_value(Fl::event_y()),0}; + audio_velocity_existing_=false; + size_t count=0; xtc_project_automation_count(project_,&count); int distance=12; + for(size_t i=0;i(a.tick*static_cast(scale_)/960U); + int py=velocity_top_+velocity_height_-8-static_cast(a.value*(velocity_height_-28)/4.0f); + int d=std::abs(Fl::event_x()-px)+std::abs(Fl::event_y()-py); + if(d(row))+56; diff --git a/src/gui/sequencer_widget.hpp b/src/gui/sequencer_widget.hpp index 8d6e251..aade3bb 100644 --- a/src/gui/sequencer_widget.hpp +++ b/src/gui/sequencer_widget.hpp @@ -4,6 +4,7 @@ #include #include "xtc/xtc_plugin.h" #include "xtc/xtc_editing.h" +#include "xtc/xtc_mixer.h" #include #include "xtc/xtc_audio.h" #include @@ -206,6 +207,11 @@ class SequencerWidget : public Fl_Group { xtc_note_info velocity_original_{}; unsigned int velocity_preview_ = 100; int velocity_top_ = 0; + bool audio_velocity_lane(uint64_t track) const; + void draw_audio_velocity(const xtc_track_info &track, int top, int left, int right); + float audio_velocity_value(int py) const; + xtc_automation_point audio_velocity_preview_{}; + bool audio_velocity_existing_ = false; struct TrackChoice { Fl_Choice *widget = nullptr; uint64_t track = UINT64_MAX; }; std::array track_choices_{}; std::vector catalog_; diff --git a/tests/integration/test_gui.cpp b/tests/integration/test_gui.cpp index 4264d90..96bf2fe 100644 --- a/tests/integration/test_gui.cpp +++ b/tests/integration/test_gui.cpp @@ -1214,6 +1214,69 @@ int main(int argc, char **argv) unlink("/tmp/xtc-workspace.xtc"); window.do_callback(); } reset(); + { + MainWindow window(false,""); window.show(); auto *s=timeline(&window); + char wave[4096]; CHECK(realpath("examples/projects/original-pluck.wav",wave)); + CHECK(window.create_track(false)==XTC_OK && window.import_audio(wave)==XTC_OK); + uint64_t track=s->selected_track(); CHECK(s->expand_track(track,true)); + CHECK(s->set_zoom(96)==XTC_OK && s->grid(960)==XTC_OK); + float base_l[256]{},base_r[256]{},edited_l[256]{},edited_r[256]{}; + xtc_audio_plan *plan=nullptr; + CHECK(xtc_audio_plan_create(s->project(),48000,&plan)==XTC_OK); + CHECK(xtc_audio_plan_render_stereo(plan,1000,base_l,base_r,256)==XTC_OK); xtc_audio_plan_destroy(plan); + // An arbitrary off-grid position, with no MIDI notes, creates an audio level point. + int px=s->header_width()+37, top=28+56; + gesture(s,px,top+65,0,-15); // 2x gain at tick 370. + size_t count=0; xtc_project_automation_count(s->project(),&count); CHECK(count==1); + xtc_automation_point point{}; xtc_project_get_automation(s->project(),0,&point); + CHECK(point.track_id==track && point.tick==370 && point.parameter==XTC_AUTOMATION_GAIN && point.value==2.0f && !point.step); + CHECK(xtc_audio_plan_create(s->project(),48000,&plan)==XTC_OK); + CHECK(xtc_audio_plan_render_stereo(plan,1000,edited_l,edited_r,256)==XTC_OK); xtc_audio_plan_destroy(plan); + for(int i=0;i<256;++i) CHECK(std::fabs(edited_l[i]-base_l[i]*2)<1e-5f && std::fabs(edited_r[i]-base_r[i]*2)<1e-5f); + CHECK(window.undo(false)==XTC_OK); xtc_project_automation_count(s->project(),&count); CHECK(count==0); + CHECK(window.undo(true)==XTC_OK && s->track_expanded(track)); + gesture(s,px,top+50,0,500); // Existing point clamps to silence. + xtc_project_get_automation(s->project(),0,&point); CHECK(point.tick==370 && point.value==0); + gesture(s,px,top+80,0,-500); // Existing point clamps to 400%. + xtc_project_get_automation(s->project(),0,&point); CHECK(point.value==4); + gesture(s,s->header_width()+61,top+65,0,0); + xtc_project_automation_count(s->project(),&count); CHECK(count==2); + // A pre-existing Hold point keeps its interpolation mode when dragged. + xtc_project_get_automation(s->project(),1,&point); point.step=1; + CHECK(xtc_project_set_automation(s->project(),&point)==XTC_OK); + gesture(s,s->header_width()+61,top+65,0,-15); + xtc_project_get_automation(s->project(),1,&point); CHECK(point.tick==610 && point.value==2 && point.step==1); + // Escape cancels a point at another arbitrary position. + int ox=Fl::e_x,oy=Fl::e_y,ok=Fl::e_keysym; + Fl::e_x=s->x()+s->header_width()+91; Fl::e_y=s->y()+top+50; + Fl::e_keysym=FL_Button+FL_LEFT_MOUSE; CHECK(s->handle(FL_PUSH)==1); + Fl::e_y+=10; CHECK(s->handle(FL_DRAG)==1); + Fl::e_keysym=FL_Escape; CHECK(s->handle(FL_KEYDOWN)==1); + xtc_project_automation_count(s->project(),&count); CHECK(count==2); + CHECK(window.save_project("/tmp/xtc-audio-velocity.xtc")==XTC_OK); + CHECK(window.new_project()==XTC_OK && window.open_project("/tmp/xtc-audio-velocity.xtc")==XTC_OK); + CHECK(s->expand_track(track,true)); + xtc_project_get_automation(s->project(),0,&point); CHECK(point.value==4 && point.tick==370); + CHECK(s->set_zoom(96)==XTC_OK); + // Delete a point with the real right mouse gesture; undo restores it. + Fl::e_x=s->x()+px; Fl::e_y=s->y()+top+20; + Fl::e_keysym=FL_Button+FL_RIGHT_MOUSE; CHECK(s->handle(FL_PUSH)==1); + Fl::e_x=ox; Fl::e_y=oy; Fl::e_keysym=ok; + xtc_project_automation_count(s->project(),&count); CHECK(count==1); + CHECK(window.undo(false)==XTC_OK); xtc_project_automation_count(s->project(),&count); CHECK(count==2); + // Pinned headers and horizontal scrolling still map to timeline positions. + auto *scroll=dynamic_cast(s->parent()); CHECK(scroll); + scroll->scroll_to(80,0); pump(); + int screen_x=s->header_left()+s->header_width()+100; + uint64_t expected=static_cast(screen_x-s->x()-s->header_width())*960/static_cast(s->zoom_level()); + gesture(s,screen_x-s->x(),top+50,0,0); + xtc_project_automation_count(s->project(),&count); CHECK(count==3); + bool found=false; + for(size_t i=0;iproject(),i,&point); if(point.tick==expected && point.value==2) found=true;} + CHECK(found); + unlink("/tmp/xtc-audio-velocity.xtc"); window.do_callback(); + } + reset(); { MainWindow window(false,""); window.show(); auto *s=timeline(&window); CHECK(window.create_track(true)==XTC_OK); diff --git a/tools/capture_screenshots.cpp b/tools/capture_screenshots.cpp index 770fce2..7262d98 100644 --- a/tools/capture_screenshots.cpp +++ b/tools/capture_screenshots.cpp @@ -64,6 +64,35 @@ int main(int argc,char **argv) { MainWindow window(false,"");main_window=&window;window.resize(0,0,1400,900);window.show();check(window.open_project(project.c_str()));pump(); auto *s=first(window);if(!s)throw std::runtime_error("Sequencer missing"); auto reset=[&](){window.reset_layout();check(window.open_project(project.c_str()));window.resize(0,20,1400,900);tab("Sequencer");s->select(0,0);s->position(0);check(window.set_loop(3840,7680,true));window.fit_song();pump();}; + auto audio_velocity_capture=[&]() { + reset(); + char source[4096]; if(!realpath("examples/projects/original-pluck.wav",source)) throw std::runtime_error("Missing audio source"); + check(window.create_track(false)); check(window.import_audio(source)); + uint64_t track=s->selected_track(); + check(s->rename_selection("Pluck audio")); check(s->repeat_selection(7)); + for(int i=0;i<5;++i) check(s->move_track(-1)); + check(s->set_zoom(192)); s->expand_track(track,true); s->expand_track(0,true); + pump(); + // Use the real lane gestures, including its undo/publication callbacks. + for(auto point:{std::pair{0,65},{48,50},{96,72},{192,58},{288,65},{384,50},{576,68},{768,65}}) { + int ox=Fl::e_x,oy=Fl::e_y,ok=Fl::e_keysym; + Fl::e_x=s->x()+s->header_width()+point.first; Fl::e_y=s->track_top(0)+56+point.second; + Fl::e_keysym=FL_Button+FL_LEFT_MOUSE; + s->handle(FL_PUSH); s->handle(FL_RELEASE); + Fl::e_x=ox; Fl::e_y=oy; Fl::e_keysym=ok; + } + pump(); capture("audio-velocity-expanded"); + int ox=Fl::e_x,oy=Fl::e_y,ok=Fl::e_keysym; + Fl::e_x=s->x()+s->header_width()+48; Fl::e_y=s->track_top(0)+56+50; + Fl::e_keysym=FL_Button+FL_LEFT_MOUSE; s->handle(FL_PUSH); + Fl::e_y+=10; s->handle(FL_DRAG); + pump(); capture("audio-velocity-editing"); + Fl::e_keysym=FL_Escape; s->handle(FL_KEYDOWN); + Fl::e_x=ox; Fl::e_y=oy; Fl::e_keysym=ok; + }; + if(std::getenv("XTC_CAPTURE_AUDIO_VELOCITY_ONLY")) { + audio_velocity_capture(); window.do_callback(); return 0; + } if(std::getenv("XTC_CAPTURE_VELOCITY_ONLY")) { reset(); capture("compact-workspace"); capture("sequencer-loop"); check(s->set_zoom(96)); @@ -145,7 +174,8 @@ int main(int argc,char **argv) { } reset();capture("overview");capture("sequencer-loop");capture("arrangement-markers"); check(s->set_zoom(96)); s->expand_track(0,true); s->expand_track(1,true); - pump(); capture("track-velocity-expanded"); reset(); + pump(); capture("track-velocity-expanded"); + audio_velocity_capture(); reset(); s->position(4800);check(window.loop_section());capture("section-navigation"); dialog("marker-edit",[&]{s->marker_dialog();}); dialog("ripple-time",[&]{s->ripple_dialog(false);});