diff --git a/Source/Processors/GenericProcessor/GenericProcessor.cpp b/Source/Processors/GenericProcessor/GenericProcessor.cpp index 0e41d7b4da3b03a0d54486a16549f160164a2daa..b0f11fd1ea3f1ac4f200b4f4cdad0a055f86f7ec 100755 --- a/Source/Processors/GenericProcessor/GenericProcessor.cpp +++ b/Source/Processors/GenericProcessor/GenericProcessor.cpp @@ -333,19 +333,20 @@ void GenericProcessor::update() dataChannelArray.add (ch); } - for (int i = 0; i < sourceNode->eventChannelArray.size(); ++i) - { - EventChannel* sourceChan = sourceNode->eventChannelArray[i]; - EventChannel* ch = new EventChannel (*sourceChan); + for (int i = 0; i < sourceNode->eventChannelArray.size(); ++i) + { + EventChannel* sourceChan = sourceNode->eventChannelArray[i]; + EventChannel* ch = new EventChannel(*sourceChan); ch->eventMetaDataLock = true; - eventChannelArray.add (ch); - } + eventChannelArray.add(ch); + } for (int i = 0; i < sourceNode->spikeChannelArray.size(); ++i) { SpikeChannel* sourceChan = sourceNode->spikeChannelArray[i]; SpikeChannel* ch = new SpikeChannel(*sourceChan); ch->eventMetaDataLock = true; spikeChannelArray.add(ch); + } for (int i = 0; i < sourceNode->configurationObjectArray.size(); ++i) { diff --git a/Source/Processors/RecordNode/RecordNode.cpp b/Source/Processors/RecordNode/RecordNode.cpp index 592f1cf8a782562a6ac1426f579a067c9085b21e..b0c04492bcc98b29eef9d9a1066a9f5d0201d578 100755 --- a/Source/Processors/RecordNode/RecordNode.cpp +++ b/Source/Processors/RecordNode/RecordNode.cpp @@ -159,8 +159,10 @@ void RecordNode::addInputChannel(const GenericProcessor* sourceNode, int chan) for (int n = 0; n < sourceNode->getTotalEventChannels(); n++) { - - eventChannelArray.add(new EventChannel(*sourceNode->getEventChannel(n))); + const EventChannel* orig = sourceNode->getEventChannel(n); + //only add to the record node the events originating from this processor, to avoid duplicates + if (orig->getSourceNodeID() == sourceNode->getNodeId()) + eventChannelArray.add(new EventChannel(*orig)); }