24 #ifndef __SPIKEDETECTOR_H_3F920F95__
25 #define __SPIKEDETECTOR_H_3F920F95__
27 #include "../../JuceLibraryCode/JuceHeader.h"
29 #include "GenericProcessor.h"
30 #include "Editors/SpikeDetectorEditor.h"
32 #include "Visualization/SpikeObject.h"
64 void process(AudioSampleBuffer &buffer, MidiBuffer &events,
int& nSamples);
107 bool setChannel(
int electrodeIndex,
int channelNum,
int newChannel);
125 void setChannelThreshold(
int electrodeNum,
int channelNum,
float threshold);
127 double getChannelThreshold(
int electrodeNum,
int channelNum);
131 float getDefaultThreshold();
133 int overflowBufferSize;
137 Array<int> electrodeCounter;
139 float getNextSample(
int& chan);
140 float getCurrentSample(
int& chan);
141 bool samplesAvailable(
int& nSamples);
143 bool useOverflowBuffer;
145 int currentElectrode;
146 int currentChannelIndex;
154 int prePeakSamples, postPeakSamples;
163 uint8_t* spikeBuffer;
172 void addSpikeEvent(
SpikeObject* s, MidiBuffer& eventBuffer,
int peakIndex);
175 int& electrodeNumber,
176 int& currentChannel);
180 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
SpikeDetector);
186 #endif // __SPIKEDETECTOR_H_3F920F95__