Skip to content
Snippets Groups Projects
Commit f629b638 authored by jvoigts's avatar jvoigts
Browse files

Merge branch 'master' of github.com:open-ephys/GUI

parents c70566db f3fe5ba2
Branches
Tags
No related merge requests found
......@@ -84,9 +84,7 @@ void ChannelMappingNode::process(AudioSampleBuffer& buffer,
{
// use copy constructor to set the data to refer to
channelBuffer = buffer; //.setDataToReferTo(buffer.getArrayOfChannels(),
// buffer.getNumChannels(),
// buffer.getNumSamples());
channelBuffer = buffer;
// copy it back into the buffer according to the channel mapping
buffer.clear();
......
......@@ -335,7 +335,7 @@ void SpikeDetector::addSpikeEvent(SpikeObject* s, MidiBuffer& eventBuffer, int p
s->eventType = SPIKE_EVENT_CODE;
int numBytes = packSpike(s, spikeBuffer, 256);
int numBytes = packSpike(s, spikeBuffer, MAX_SPIKE_BUFFER_LEN);
eventBuffer.addEvent(spikeBuffer, numBytes, peakIndex);
......@@ -349,10 +349,7 @@ void SpikeDetector::addWaveformToSpikeObject(SpikeObject* s,
int spikeLength = electrodes[electrodeNumber]->prePeakSamples +
+ electrodes[electrodeNumber]->postPeakSamples;
//uint8 dataSize = spikeLength*2;
// uint8 data[dataSize];
// uint8* dataptr = data;
s->timestamp = timestamp + peakIndex;
s->nSamples = spikeLength;
......@@ -399,6 +396,19 @@ void SpikeDetector::addWaveformToSpikeObject(SpikeObject* s,
sampleIndex -= spikeLength; // reset sample index
}
void SpikeDetector::handleEvent(int eventType, MidiMessage& event, int sampleNum)
{
if (eventType == TIMESTAMP)
{
const uint8* dataptr = event.getRawData();
memcpy(&timestamp, dataptr + 4, 8); // remember to skip first four bytes
}
}
void SpikeDetector::process(AudioSampleBuffer& buffer,
......@@ -410,6 +420,8 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
Electrode* electrode;
dataBuffer = buffer;
checkForEvents(events);
//std::cout << dataBuffer.getMagnitude(0,nSamples) << std::endl;
for (int i = 0; i < electrodes.size(); i++)
......
......@@ -167,6 +167,7 @@ private:
};
uint8_t* spikeBuffer;///[256];
uint64_t timestamp;
Array<Electrode*> electrodes;
......@@ -175,6 +176,8 @@ private:
// int& currentChannel,
// MidiBuffer& eventBuffer);
void handleEvent(int eventType, MidiMessage& event, int sampleNum);
void addSpikeEvent(SpikeObject* s, MidiBuffer& eventBuffer, int peakIndex);
void addWaveformToSpikeObject(SpikeObject* s,
int& peakIndex,
......
......@@ -540,9 +540,9 @@ void SpikePlot::writeSpike(const SpikeObject& s)
{
packSpike(&s, spikeBuffer, 256);
packSpike(&s, spikeBuffer, MAX_SPIKE_BUFFER_LEN);
fwrite(spikeBuffer, 1, 256, file);
fwrite(spikeBuffer, 1, MAX_SPIKE_BUFFER_LEN, file);
}
......@@ -565,7 +565,13 @@ String SpikePlot::generateHeader()
header += name;
header += "';\n";
header += "header.channelType = 'Electrode';\n";
header += "header.num_channels = ";
header += nChannels;
header += ";\n";
header += "header.sampleRate = ";
header += String(canvas->processor->settings.sampleRate);
header += ";\n";
header = header.paddedRight(' ', HEADER_SIZE);
......
......@@ -97,10 +97,10 @@ public:
void buttonClicked(Button* button);
RecordNode* getRecordNode();
SpikeDisplayNode* processor;
private:
SpikeDisplayNode* processor;
MidiBuffer* spikeBuffer;
ScopedPointer<SpikeDisplay> spikeDisplay;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment