Q-W6 review follow-ups: drop stale wav_trim clause, fix stale include comment, idempotent action-table clear, reflow ragged comment, align session.h trailing comments
This commit is contained in:
@@ -64,7 +64,7 @@ There is no hot-reload. Copy the built binary into REAPER's `UserPlugins/` folde
|
|||||||
- `bank_book` — multi-bank registry: an ordered set of banks each wrapping a `BankIndex`. **Pool privileges (un-deletable/un-renamable/un-evacuable, never zero banks) enforced in-model.** Owns create/rename/reorder/delete of named banks, active-bank id, and index-only move/copy/remove of a sample between banks. The JSON round-trip lives in the sibling `bank_book_json` TU (Q-W5 split; serialize/deserialize via a private static `nameKey` seam) — one model, one codec, same public surface.
|
- `bank_book` — multi-bank registry: an ordered set of banks each wrapping a `BankIndex`. **Pool privileges (un-deletable/un-renamable/un-evacuable, never zero banks) enforced in-model.** Owns create/rename/reorder/delete of named banks, active-bank id, and index-only move/copy/remove of a sample between banks. The JSON round-trip lives in the sibling `bank_book_json` TU (Q-W5 split; serialize/deserialize via a private static `nameKey` seam) — one model, one codec, same public surface.
|
||||||
- `owned_manifest` — the set of project-relative files the capture path itself created, persisted under the `"owned_files"` ext-state key, so the prune path can distinguish the bank system's own orphans from hand-dropped files.
|
- `owned_manifest` — the set of project-relative files the capture path itself created, persisted under the `"owned_files"` ext-state key, so the prune path can distinguish the bank system's own orphans from hand-dropped files.
|
||||||
- `app_version` — REAPER-free version/channel identity: CMake-sourced semver constant, ext-state stamp value, and the full set of channel-derived identity accessors. All channel strings derive from one `REASAMPLER_CHANNEL_IS_BETA` bit; no scattered `#ifdef`s in the shells.
|
- `app_version` — REAPER-free version/channel identity: CMake-sourced semver constant, ext-state stamp value, and the full set of channel-derived identity accessors. All channel strings derive from one `REASAMPLER_CHANNEL_IS_BETA` bit; no scattered `#ifdef`s in the shells.
|
||||||
- `wav_codec` — chunk walker + layout parse + float32 build + size-field patch + content hashes; the single pure RIFF/WAV owner. (`wav_trim` is now a transitional forwarding alias onto `wav_codec`, kept only so the Q-W2v TUs it feeds compile untouched; retire it once that wave lands.)
|
- `wav_codec` — chunk walker + layout parse + float32 build + size-field patch + content hashes; the single pure RIFF/WAV owner (`wav_trim` is retired; `wav_codec` is the sole owner).
|
||||||
- `provenance` — capture-recipe fingerprint: build/encode/compare a `rsprov1` fingerprint of scope, range, tail, rate/channels, track GUIDs, and FX-chain identity. **A thin reproducibility fingerprint — NOT a serialized chain to restore.**
|
- `provenance` — capture-recipe fingerprint: build/encode/compare a `rsprov1` fingerprint of scope, range, tail, rate/channels, track GUIDs, and FX-chain identity. **A thin reproducibility fingerprint — NOT a serialized chain to restore.**
|
||||||
- `prune_reconcile` — pure prune core: `pruneOrphans(present, referenced, owned)` computes `(owned ∩ present) − referenced`; the safety-critical "which files are orphans" decision, filesystem-free and hard-tested before any I/O exists. Gains `mergeReferenced(bankRefs, liveInstanceHeldPaths)` (pS-usage) — unions live instance holds into the prune referenced-set so the pure orphan computation includes them.
|
- `prune_reconcile` — pure prune core: `pruneOrphans(present, referenced, owned)` computes `(owned ∩ present) − referenced`; the safety-critical "which files are orphans" decision, filesystem-free and hard-tested before any I/O exists. Gains `mergeReferenced(bankRefs, liveInstanceHeldPaths)` (pS-usage) — unions live instance holds into the prune referenced-set so the pure orphan computation includes them.
|
||||||
- `prune_button` — pure layout/hit-test for the `bank_panel` footer Prune button.
|
- `prune_button` — pure layout/hit-test for the `bank_panel` footer Prune button.
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "core/capture/render_settings.h" // captureActionTable
|
#include "core/capture/render_settings.h" // captureActionTable
|
||||||
#include "core/version/app_version.h" // channelCommandId / appVersion
|
#include "core/version/app_version.h" // appVersion
|
||||||
#include "ingest.h"
|
#include "ingest.h"
|
||||||
#include "shell/actions/action_registry.h" // the Q-W6 registration table
|
#include "shell/actions/action_registry.h" // the Q-W6 registration table
|
||||||
#include "shell/actions/bank_actions.h" // multi-bank action family (B3; Q-W4 home)
|
#include "shell/actions/bank_actions.h" // multi-bank action family (B3; Q-W4 home)
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ int registerAction(reaper_plugin_info_t* rec, const char* suffix,
|
|||||||
|
|
||||||
void registerActionTable(reaper_plugin_info_t* rec, const ActionTableRow* rows,
|
void registerActionTable(reaper_plugin_info_t* rec, const ActionTableRow* rows,
|
||||||
std::size_t count) {
|
std::size_t count) {
|
||||||
|
g_table.clear(); // idempotent-by-construction: a re-register never doubles-up rows
|
||||||
for (std::size_t i = 0; i < count; ++i) {
|
for (std::size_t i = 0; i < count; ++i) {
|
||||||
g_table.push_back(TableEntry{rows[i]});
|
g_table.push_back(TableEntry{rows[i]});
|
||||||
TableEntry& e = g_table.back();
|
TableEntry& e = g_table.back();
|
||||||
|
|||||||
@@ -156,11 +156,11 @@ void enumerateLiveGuids(ReaProject* proj, std::set<std::string>& allGuids,
|
|||||||
// membership index.
|
// membership index.
|
||||||
//
|
//
|
||||||
// INTENTIONAL: membership mutation happens OUTSIDE any Undo block. Auto-tag is a
|
// INTENTIONAL: membership mutation happens OUTSIDE any Undo block. Auto-tag is a
|
||||||
// background metadata update (like setting a label), not a destructive project edit.
|
// background metadata update (like setting a label), not a destructive project edit. The
|
||||||
// the persist shell (ext_state_io.cpp) writes it on the next project save alongside the
|
// persist shell (ext_state_io.cpp) writes it on the next project save alongside the bank
|
||||||
// bank and view state, the
|
// and view state, the same way an action-driven tag is persisted. Wrapping this in an Undo
|
||||||
// same way an action-driven tag is persisted. Wrapping this in an Undo block would flood
|
// block would flood the REAPER undo history with a new entry for every timer tick that sees
|
||||||
// the REAPER undo history with a new entry for every timer tick that sees new content.
|
// new content.
|
||||||
// Returns true iff this tick tagged at least one new GUID into a mode — the signal the
|
// Returns true iff this tick tagged at least one new GUID into a mode — the signal the
|
||||||
// caller uses to decide whether to run the lane-minting pass (a track can only newly
|
// caller uses to decide whether to run the lane-minting pass (a track can only newly
|
||||||
// become multi-mode when auto-tag just placed content on it). No tag ⇒ nothing to mint.
|
// become multi-mode when auto-tag just placed content on it). No tag ⇒ nothing to mint.
|
||||||
|
|||||||
Reference in New Issue
Block a user