From 3fed3d36b0ce8f649f212ea6bcad7bb33022f37c Mon Sep 17 00:00:00 2001 From: jsiegle <jsiegle@mit.edu> Date: Mon, 24 Mar 2014 19:59:29 -0400 Subject: [PATCH] Fix issue with clearing audio connections in ProcessorGraph --- Source/Processors/ProcessorGraph.cpp | 38 ++++++++-------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/Source/Processors/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph.cpp index 5a0b59322..c6a823e35 100644 --- a/Source/Processors/ProcessorGraph.cpp +++ b/Source/Processors/ProcessorGraph.cpp @@ -98,23 +98,6 @@ void ProcessorGraph::createDefaultNodes() addNode(an, AUDIO_NODE_ID); addNode(arn, RESAMPLING_NODE_ID); - // connect audio subnetwork - for (int n = 0; n < 2; n++) - { - - addConnection(AUDIO_NODE_ID, n, - RESAMPLING_NODE_ID, n); - - addConnection(RESAMPLING_NODE_ID, n, - OUTPUT_NODE_ID, n); - - } - - addConnection(AUDIO_NODE_ID, midiChannelIndex, - RESAMPLING_NODE_ID, midiChannelIndex); - - //std::cout << "Default nodes created." << std::endl; - } void ProcessorGraph::updatePointers() @@ -255,11 +238,18 @@ void ProcessorGraph::clearConnections() for (int i = 0; i < getNumNodes(); i++) { Node* node = getNode(i); + int nodeId = node->nodeId; - if (node->nodeId != OUTPUT_NODE_ID) + if (nodeId != OUTPUT_NODE_ID && + nodeId != RESAMPLING_NODE_ID) { - disconnectNode(node->nodeId); - GenericProcessor* p =(GenericProcessor*) node->getProcessor(); + + if (nodeId != RECORD_NODE_ID && nodeId != AUDIO_NODE_ID) + { + disconnectNode(node->nodeId); + } + + GenericProcessor* p = (GenericProcessor*) node->getProcessor(); p->resetConnections(); } @@ -391,13 +381,7 @@ void ProcessorGraph::updateConnections(Array<SignalChainTabButton*, CriticalSect newSource->setPathToProcessor(source); source = newSource; } - - - // source = splitters.getFirst()->getSourceNode(); // dest is now the splitter - //splitters.remove(0); // take it out of the array - //dest->switchIO(1); // switch to the other destination - //dest->wasConnected = true; // don't want to re-add splitter - // source = dest->getSourceNode(); // splitter is now source + } } // end while source != 0 -- GitLab