diff --git a/Source/Processors/GenericProcessor/GenericProcessor.cpp b/Source/Processors/GenericProcessor/GenericProcessor.cpp index 9b4ee4a2f329f0bee8b14cc053042b1f69edc60a..8b08e4e6491a5fea5fbce56e9a4b1022b66d4a65 100755 --- a/Source/Processors/GenericProcessor/GenericProcessor.cpp +++ b/Source/Processors/GenericProcessor/GenericProcessor.cpp @@ -727,19 +727,20 @@ void GenericProcessor::addEvent(MidiBuffer& eventBuffer, uint8 numBytes, uint8* eventData) { - uint8* data = new uint8[5+numBytes]; + uint8* data = new uint8[6+numBytes]; data[0] = type; // event type data[1] = nodeId; // processor ID automatically added data[2] = eventId; // event ID (1 = on, 0 = off, usually) data[3] = eventChannel; // event channel data[4] = 1; // saving flag - memcpy(data + 5, eventData, numBytes); + data[5] = (uint8) channels[0]->sourceNodeId; // source node ID (for nSamples) + memcpy(data + 6, eventData, numBytes); //std::cout << "Node id: " << data[1] << std::endl; eventBuffer.addEvent(data, // raw data - 5 + numBytes, // total bytes + 6 + numBytes, // total bytes sampleNum); // sample index //if (type == TTL) diff --git a/Source/Processors/LfpDisplayNode/LfpDisplayNode.cpp b/Source/Processors/LfpDisplayNode/LfpDisplayNode.cpp index 06b4acd31ecb3888f9349810b877c594e885289c..747fa6e05e38b4ab756d7fb9532bfb3c13bc6827 100755 --- a/Source/Processors/LfpDisplayNode/LfpDisplayNode.cpp +++ b/Source/Processors/LfpDisplayNode/LfpDisplayNode.cpp @@ -155,28 +155,30 @@ void LfpDisplayNode::handleEvent(int eventType, MidiMessage& event, int sampleNu { const uint8* dataptr = event.getRawData(); - int eventSourceNode = *(dataptr+1); + int eventNodeId = *(dataptr+1); int eventId = *(dataptr+2); int eventChannel = *(dataptr+3); int eventTime = event.getTimeStamp(); - int nSamples = numSamples.at(eventSourceNode); + int eventSourceNodeId = *(dataptr+5); + + int nSamples = numSamples.at(eventSourceNodeId); int samplesToFill = nSamples - eventTime; // std::cout << "Received event from " << eventSourceNode << ", channel " // << eventChannel << ", with ID " << eventId << ", copying to " - // << channelForEventSource[eventSourceNode] << std::endl; + // << channelForEventSource[eventSourceNode] << std::endl; //// - int bufferIndex = (displayBufferIndex[channelForEventSource[eventSourceNode]] + eventTime) % displayBuffer->getNumSamples(); + int bufferIndex = (displayBufferIndex[channelForEventSource[eventSourceNodeId]] + eventTime) % displayBuffer->getNumSamples(); if (eventId == 1) { - ttlState[eventSourceNode] |= (1L << eventChannel); + ttlState[eventSourceNodeId] |= (1L << eventChannel); } else { - ttlState[eventSourceNode] &= ~(1L << eventChannel); + ttlState[eventSourceNodeId] &= ~(1L << eventChannel); } if (samplesToFill + bufferIndex < displayBuffer->getNumSamples()) @@ -184,11 +186,11 @@ void LfpDisplayNode::handleEvent(int eventType, MidiMessage& event, int sampleNu //std::cout << bufferIndex << " " << samplesToFill << " " << ttlState[eventSourceNode] << std::endl; - displayBuffer->copyFrom(channelForEventSource[eventSourceNode], // destChannel + displayBuffer->copyFrom(channelForEventSource[eventSourceNodeId], // destChannel bufferIndex, // destStartSample arrayOfOnes, // source samplesToFill, // numSamples - float(ttlState[eventSourceNode])); // gain + float(ttlState[eventSourceNodeId])); // gain } else { @@ -200,19 +202,19 @@ void LfpDisplayNode::handleEvent(int eventType, MidiMessage& event, int sampleNu //std::cout << bufferIndex << " " << block1Size << " " << ttlState << std::endl; - displayBuffer->copyFrom(channelForEventSource[eventSourceNode], // destChannel + displayBuffer->copyFrom(channelForEventSource[eventSourceNodeId], // destChannel bufferIndex, // destStartSample arrayOfOnes, // source block1Size, // numSamples - float(ttlState[eventSourceNode])); // gain + float(ttlState[eventSourceNodeId])); // gain //std::cout << 0 << " " << block2Size << " " << ttlState << std::endl; - displayBuffer->copyFrom(channelForEventSource[eventSourceNode], // destChannel + displayBuffer->copyFrom(channelForEventSource[eventSourceNodeId], // destChannel 0, // destStartSample arrayOfOnes, // source block2Size, // numSamples - float(ttlState[eventSourceNode])); // gain + float(ttlState[eventSourceNodeId])); // gain } diff --git a/Source/Processors/PhaseDetector/PhaseDetector.cpp b/Source/Processors/PhaseDetector/PhaseDetector.cpp index b8673fd45fb7d2c1c2aca843af7f2fecec1cb933..e5b9397c97cafe55e325f75adb7546802a481243 100644 --- a/Source/Processors/PhaseDetector/PhaseDetector.cpp +++ b/Source/Processors/PhaseDetector/PhaseDetector.cpp @@ -182,8 +182,7 @@ void PhaseDetector::process(AudioSampleBuffer& buffer, module.inputChan >= 0 && module.inputChan < buffer.getNumChannels()) { - - for (int i = 0; i < getNumSamples(channels[module.inputChan]->sourceNodeId); i++) + for (int i = 0; i < getNumSamples(module.inputChan); i++) { const float sample = *buffer.getReadPointer(module.inputChan, i);