diff --git a/Source/Plugins/NWBFormat/NWBRecording.cpp b/Source/Plugins/NWBFormat/NWBRecording.cpp index 081a4ff9b487fff244ebcaed34403e83a86dfc4d..e729934bbff4de16a8c9345cb4ee97d507d44630 100644 --- a/Source/Plugins/NWBFormat/NWBRecording.cpp +++ b/Source/Plugins/NWBFormat/NWBRecording.cpp @@ -98,6 +98,10 @@ for (int i = 0; i < nEvents; i++) eventChannels.add(getEventChannel(i)); + int nSpikes = getNumRecordedSpikes(); + for (int i = 0; i < nSpikes; i++) + spikeChannels.add(getSpikeChannel(i)); + //open the file recordFile->open(getNumRecordedChannels() + continuousChannels.size() + eventChannels.size() + spikeChannels.size()); //total channels + timestamp arrays, to create a big enough buffer @@ -113,19 +117,14 @@ recordFile->stopRecording(); recordFile->close(); recordFile = nullptr; - resetChannels(false); + resetChannels(); } - void NWBRecordEngine::resetChannels() - { - resetChannels(true); - } - void NWBRecordEngine::resetChannels(bool resetSpikes) + void NWBRecordEngine::resetChannels() { - if (resetSpikes) - spikeChannels.clear(); + spikeChannels.clear(); eventChannels.clear(); continuousChannels.clear(); datasetIndexes.clear(); @@ -171,7 +170,6 @@ void NWBRecordEngine::writeTimestampSyncText(uint16 sourceID, uint16 sourceIdx, void NWBRecordEngine::addSpikeElectrode(int index,const SpikeChannel* elec) { - spikeChannels.add(elec); } void NWBRecordEngine::writeSpike(int electrodeIndex, const SpikeEvent* spike) diff --git a/Source/Plugins/NWBFormat/NWBRecording.h b/Source/Plugins/NWBFormat/NWBRecording.h index e521a34c35dbb2a4627a318bce94c7bd6d33d534..e74219d6c4f8d675574f9d6e74d6f8d45cd7453a 100644 --- a/Source/Plugins/NWBFormat/NWBRecording.h +++ b/Source/Plugins/NWBFormat/NWBRecording.h @@ -48,7 +48,6 @@ static RecordEngineManager* getEngineManager(); private: - void resetChannels(bool resetSpikes); ScopedPointer<NWBFile> recordFile; Array<int> datasetIndexes; Array<int> writeChannelIndexes; diff --git a/Source/Processors/RecordNode/EngineConfigWindow.cpp b/Source/Processors/RecordNode/EngineConfigWindow.cpp index 309748230f4232a5e097bd4ee3e23152129757ea..ffd7e00540c6f6a6801b643f406c41f75154ba71 100644 --- a/Source/Processors/RecordNode/EngineConfigWindow.cpp +++ b/Source/Processors/RecordNode/EngineConfigWindow.cpp @@ -78,7 +78,7 @@ EngineParameterComponent::EngineParameterComponent(EngineParameter& param) addAndMakeVisible(lab); control = lab; } - this->setTooltip(param.name); + this->setTooltip(name); } EngineParameterComponent::~EngineParameterComponent() diff --git a/Source/Processors/RecordNode/OriginalRecording.h b/Source/Processors/RecordNode/OriginalRecording.h index 3730992ec2d91d1e0aef513f8eedc5b6fb7849aa..849e479f1dac1fe796fc2064effb8be7c68b607e 100644 --- a/Source/Processors/RecordNode/OriginalRecording.h +++ b/Source/Processors/RecordNode/OriginalRecording.h @@ -44,7 +44,7 @@ public: OriginalRecording(); ~OriginalRecording(); - void setParameter(EngineParameter& parameter); + void setParameter(EngineParameter& parameter) override; String getEngineID() const override; void openFiles(File rootFolder, int experimentNumber, int recordingNumber) override; void closeFiles() override; diff --git a/Source/Processors/RecordNode/RecordEngine.cpp b/Source/Processors/RecordNode/RecordEngine.cpp index fc9a8db2b2c26ea9f63706257700d8335089da18..c627fd54b49c5c48ed9af8ae17ea8c52cc93a638 100644 --- a/Source/Processors/RecordNode/RecordEngine.cpp +++ b/Source/Processors/RecordNode/RecordEngine.cpp @@ -108,6 +108,11 @@ int RecordEngine::getNumRecordedEvents() const return AccessClass::getProcessorGraph()->getRecordNode()->getTotalEventChannels(); } +int RecordEngine::getNumRecordedSpikes() const +{ + return AccessClass::getProcessorGraph()->getRecordNode()->getTotalSpikeChannels(); +} + void RecordEngine::registerSpikeSource (const GenericProcessor* processor) {} int RecordEngine::getNumRecordedProcessors() const @@ -186,6 +191,10 @@ EngineParameter::EngineParameter (EngineParameter::EngineParameterType paramType { strParam.value = defaultValue; } + else if (paramType == MULTI) + { + multiParam.value = defaultValue; + } } diff --git a/Source/Processors/RecordNode/RecordEngine.h b/Source/Processors/RecordNode/RecordEngine.h index b75e45e06082aac56816256d38320aec69b2d72a..d6234c07dc506af898501cd0002e0f1e2e4f4785 100644 --- a/Source/Processors/RecordNode/RecordEngine.h +++ b/Source/Processors/RecordNode/RecordEngine.h @@ -167,7 +167,7 @@ protected: /** Generate a Matlab-compatible datestring */ String generateDateString() const; - /** Gets the current block's first timestamp for a given channel */ + /** Gets the current block's first timestamp for a given recorded channel */ int64 getTimestamp (int channel) const; /** Gets the actual channel number from a recorded channel index */ @@ -180,8 +180,9 @@ protected: (right now all channels are recorded) */ int getNumRecordedEvents() const; - /** TODO: to fill when the probe system is implemented*/ - //int getNumRecordedSpikes() const; + /** Gets the number of recorded spike channels + (right now all channels are recorded) */ + int getNumRecordedSpikes() const; /** Gets the number of processors being recorded */