fix(bridge): one editor at a time + guard reload race
- Close other channels' editor windows before attaching a new one (Option B) - needsReload()/setReloading() guard: skip processAudioBlock during terminate+reload teardown to avoid UAF/hang when reopening GUI - Wait for editor registry cleanup (5s timeout) before creating window
This commit is contained in:
@@ -72,6 +72,11 @@ public:
|
||||
|
||||
INativeInstrument* get(uint32_t channel);
|
||||
|
||||
// Mark a channel as rebuilding its VST instance (GUI reopen): the
|
||||
// real-time loop then skips processAudioBlock for that channel so VST
|
||||
// teardown never races the audio thread.
|
||||
void setReloading(uint32_t channel, bool on);
|
||||
|
||||
// Flush every sounding note on every assigned channel.
|
||||
void allNotesOff();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user