1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

AudioProcessorGraph: Fix rebuild behaviour for UpdateKind::none

This commit is contained in:
reuk 2023-04-03 11:48:28 +01:00
parent 28414a6af8
commit 27b38c8603
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C

View file

@ -1831,9 +1831,12 @@ public:
topologyChanged (UpdateKind::sync); topologyChanged (UpdateKind::sync);
} }
void rebuild() void rebuild (UpdateKind updateKind)
{ {
if (MessageManager::getInstance()->isThisTheMessageThread()) if (updateKind == UpdateKind::none)
return;
if (updateKind == UpdateKind::sync && MessageManager::getInstance()->isThisTheMessageThread())
handleAsyncUpdate(); handleAsyncUpdate();
else else
triggerAsyncUpdate(); triggerAsyncUpdate();
@ -1895,11 +1898,7 @@ private:
void topologyChanged (UpdateKind updateKind) void topologyChanged (UpdateKind updateKind)
{ {
owner->sendChangeMessage(); owner->sendChangeMessage();
rebuild (updateKind);
if (updateKind == UpdateKind::sync && MessageManager::getInstance()->isThisTheMessageThread())
handleAsyncUpdate();
else
triggerAsyncUpdate();
} }
void handleAsyncUpdate() override void handleAsyncUpdate() override
@ -1959,7 +1958,7 @@ AudioProcessorGraph::Node* AudioProcessorGraph::getNodeForId (NodeID x) const
bool AudioProcessorGraph::disconnectNode (NodeID nodeID, UpdateKind updateKind) { return pimpl->disconnectNode (nodeID, updateKind); } bool AudioProcessorGraph::disconnectNode (NodeID nodeID, UpdateKind updateKind) { return pimpl->disconnectNode (nodeID, updateKind); }
void AudioProcessorGraph::releaseResources() { return pimpl->releaseResources(); } void AudioProcessorGraph::releaseResources() { return pimpl->releaseResources(); }
bool AudioProcessorGraph::removeIllegalConnections (UpdateKind updateKind) { return pimpl->removeIllegalConnections (updateKind); } bool AudioProcessorGraph::removeIllegalConnections (UpdateKind updateKind) { return pimpl->removeIllegalConnections (updateKind); }
void AudioProcessorGraph::rebuild() { return pimpl->rebuild(); } void AudioProcessorGraph::rebuild() { return pimpl->rebuild (UpdateKind::sync); }
void AudioProcessorGraph::reset() { return pimpl->reset(); } void AudioProcessorGraph::reset() { return pimpl->reset(); }
bool AudioProcessorGraph::canConnect (const Connection& c) const { return pimpl->canConnect (c); } bool AudioProcessorGraph::canConnect (const Connection& c) const { return pimpl->canConnect (c); }
bool AudioProcessorGraph::isConnected (const Connection& c) const noexcept { return pimpl->isConnected (c); } bool AudioProcessorGraph::isConnected (const Connection& c) const noexcept { return pimpl->isConnected (c); }