diff --git a/docs/product/instrument-control-surface.md b/docs/product/instrument-control-surface.md index c5f3f73..26cf1b8 100644 --- a/docs/product/instrument-control-surface.md +++ b/docs/product/instrument-control-surface.md @@ -1565,9 +1565,10 @@ Sequenced into `docs/PLAN.md` as **Phase Γ** (worktree slug prefix `pg-`), **fo T1 pitch-rate-deck ................. item A (params + engine + deck descriptor) T2 loop-crossfade-ux ............... item F (waveform painter + pure marker geometry + the chrome-row loop enable) -Γ-W3 The reflow, and the bake correction [2 tracks] +Γ-W3 The reflow, and the bake correction [3 tracks] T1 deck-reflow ..................... item B's ARRANGEMENT half + C's UI half T2 bake-reset-amendment ............ the Phase Ξ correction Γ owns (§3.4) + T3 bake-prints-limiter ............. prints the limiter through the bake's master stage (§3.4) Γ-W4 VST3 parameters [1 track] T1 vst3-parameter-set .............. Ruling 1 (parameter-automation.md §§6-10) ``` diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 75ca5b7..0b72280 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -52,9 +52,9 @@ add_library(reaper_reasampler MODULE ${REASAMPLER_SRC_DIR}/shell/persist/usage_scan.cpp ) target_link_libraries(reaper_reasampler PRIVATE json wire file_bytes bank_model capture_paths capture_name peaks bank_grid mode_switch tab_strip view_mode_model view_tree guid_diff lane_keys solo_cache insert_plan render_settings render_window track_topology batch_capture tail_control capture_realtime bank_book wav_codec origin_ledger tracking_authority prune_reconcile prune_button app_version provenance drag_out instrument_drop theme component_geometry action_bar footer_bar overflow_menu mode_enable tooltip card_meta card_drag assignment_request bank_sync sample_usage bake_wire resample_name) -# NOT linked here, deliberately: sampler_core / pitch_shift / the filter. The instrument -# renders its own bake in its own process, which is what keeps the extension's link graph -# free of the voice engine — a link edge to it here means the design drifted. +# NOT linked here, deliberately: sampler_core / pitch_shift / the filter / limiter. The +# instrument renders its own bake in its own process, which is what keeps the extension's +# link graph free of the voice engine — a link edge to it here means the design drifted. target_include_directories(reaper_reasampler PRIVATE ${SDK_INC} ${WDL_INC}) # OUTPUT_NAME is channel-derived; the CMake target name stays "reaper_reasampler" for both diff --git a/src/core/instrument/bake/bake_render.h b/src/core/instrument/bake/bake_render.h index b845e5e..c9805fe 100644 --- a/src/core/instrument/bake/bake_render.h +++ b/src/core/instrument/bake/bake_render.h @@ -31,9 +31,8 @@ struct BakeAudio { // Renders `plan` through `sample`'s own voice path and then the master stage the processor // runs after the engine: `masterGainLinear`, then the limiter when `limiterEnabled` — see -// the master stage in bake_render.cpp for why both are printed here rather than left to the -// processor. Bypassed, the limiter costs the result not one sample: `limiterEnabled` false -// is the pre-limiter render, frame for frame. The result is the plan's captured window: the +// bake_render.cpp for why both print here rather than in the processor. `limiterEnabled` +// false yields the pre-limiter render. The result is the plan's captured window: the // lead-in frames are rendered and dropped. An unplayable sample yields an empty result. BakeAudio renderBake(SampleData sample, const BakePlan& plan, double masterGainLinear, bool limiterEnabled);