@@ -877,6 +877,7 @@ void ProcessorGraph::updateConnections()
877
877
clearConnections (); // clear processor graph
878
878
879
879
Array<GenericProcessor*> splitters;
880
+ Array<GenericProcessor*> splitters2;
880
881
Array<int > splitterStates;
881
882
882
883
// keep track of which splitter is currently being explored, in case there's another
@@ -1002,20 +1003,23 @@ void ProcessorGraph::updateConnections()
1002
1003
if (splitters.size () > 0 )
1003
1004
{
1004
1005
activeSplitter = splitters.getLast ();
1006
+ splitters2.insert (0 , activeSplitter);
1007
+
1005
1008
splitters.removeLast ();
1006
1009
activeSplitter->switchIO (1 );
1007
1010
1008
1011
source = activeSplitter;
1009
1012
GenericProcessor* newSource;
1013
+
1010
1014
while (source->isSplitter () || source->isMerger ())
1011
1015
{
1012
1016
newSource = source->getSourceNode ();
1013
1017
newSource->setPathToProcessor (source);
1014
1018
source = newSource;
1015
1019
}
1016
1020
1017
- activeSplitter->switchIO (splitterStates.getLast ());
1018
- splitterStates.removeLast ();
1021
+ // activeSplitter->switchIO(splitterStates.getLast());
1022
+ // splitterStates.removeLast();
1019
1023
}
1020
1024
else
1021
1025
{
@@ -1026,6 +1030,10 @@ void ProcessorGraph::updateConnections()
1026
1030
} // end while source != 0
1027
1031
} // end "tabs" for loop
1028
1032
1033
+ for (int i = 0 ; i < splitters2.size (); i++)
1034
+ {
1035
+ splitters2[i]->switchIO (splitterStates[i]);
1036
+ }
1029
1037
1030
1038
// actually connect sources to each dest processor,
1031
1039
// in correct order by merger topography
0 commit comments