diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp index 51443e623e..75bab69aef 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp @@ -1126,6 +1126,15 @@ bool AudioProcessorGraph::removeNode (const uint32 nodeId) return false; } +bool AudioProcessorGraph::removeNode (Node* node) +{ + if (node != nullptr) + return removeNode (node->nodeId); + + jassertfalse; + return false; +} + //============================================================================== const AudioProcessorGraph::Connection* AudioProcessorGraph::getConnectionBetween (const uint32 sourceNodeId, const int sourceChannelIndex, diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h index 597df5628b..00c09d98fe 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h @@ -183,6 +183,12 @@ public: */ bool removeNode (uint32 nodeId); + /** Deletes a node within the graph which has the specified ID. + + This will also delete any connections that are attached to this node. + */ + bool removeNode (Node* node); + //============================================================================== /** Returns the number of connections in the graph. */ int getNumConnections() const { return connections.size(); }