feat(S9/S8): bank-generation change-detection + instrument-side assignment reader
Extension stamps a monotonic bank_generation counter, bumped at content mutations; the VST3 instrument polls it off-thread on an editor timer and consumes assignment requests, refreshing playback hands-free.
This commit is contained in:
+9
-1
@@ -79,6 +79,14 @@ int bankPruneCommandId();
|
||||
// must invoke this ONLY after a successful/effective mutation — rejected ops (duplicate
|
||||
// name, un-deletable pool, etc.) must return before reaching here so no empty undo
|
||||
// point is ever opened for a no-op. Defined in actions.cpp alongside persistBook().
|
||||
void persistBankOp(const char* label);
|
||||
//
|
||||
// S9 bank-generation bump: pass `bumpGeneration = true` for a verb that changes what a live
|
||||
// instance would PLAY — move / copy / remove / evacuate / delete-with-members (a sample left,
|
||||
// arrived, or dropped out of a bank an instance may reference). Leave it false (the default)
|
||||
// for a PURELY ORGANIZATIONAL verb — create / rename / activate / reorder — which changes no
|
||||
// existing (bankId, sampleId) -> content mapping, so no instance need refresh. The bump (when
|
||||
// requested) happens INSIDE the block, BEFORE persistBook(), so the stamped counter rides the
|
||||
// same ext-state write and undo captures the pre/post generation with the rest of the blob.
|
||||
void persistBankOp(const char* label, bool bumpGeneration = false);
|
||||
|
||||
} // namespace reasampler
|
||||
|
||||
Reference in New Issue
Block a user