@@ -69,7 +69,7 @@ String OriginalRecording::getEngineID() const
6969
7070void OriginalRecording::addSpikeElectrode (int index, const SpikeChannel* elec)
7171{
72- spikeFileArray.add (nullptr );
72+ // spikeFileArray.add(nullptr); // deprecated
7373}
7474
7575void OriginalRecording::resetChannels ()
@@ -91,7 +91,7 @@ void OriginalRecording::openFiles(File rootFolder, int experimentNumber, int rec
9191 processorArray.clear ();
9292 lastProcId = 0 ;
9393
94- // openFile(rootFolder, getEventChannel(0), 0);
94+ openFile (rootFolder, getEventChannel (0 ), 0 );
9595 openMessageFile (rootFolder);
9696
9797 int nChannels = getNumRecordedChannels ();
@@ -103,10 +103,15 @@ void OriginalRecording::openFiles(File rootFolder, int experimentNumber, int rec
103103 blockIndex.add (0 );
104104 samplesSinceLastTimestamp.add (0 );
105105 }
106- for (int i = 0 ; i < spikeFileArray.size (); i++)
106+
107+ int nSpikes = getNumRecordedSpikes ();
108+
109+ for (int i = 0 ; i < nSpikes; i++)
107110 {
111+ spikeFileArray.add (nullptr );
108112 openSpikeFile (rootFolder, getSpikeChannel (i), i);
109113 }
114+
110115}
111116
112117void OriginalRecording::openFile (File rootFolder, const InfoObjectCommon* ch, int channelIndex)
@@ -214,11 +219,14 @@ void OriginalRecording::openSpikeFile(File rootFolder, const SpikeChannel* elec,
214219
215220 if (!fileExists)
216221 {
222+
217223 String header = generateSpikeHeader (elec);
218224 fwrite (header.toUTF8 (), 1 , header.getNumBytesAsUTF8 (), spFile);
225+ std::cout << " Wrote header." << std::endl;
219226 }
220227 diskWriteLock.exit ();
221228 spikeFileArray.set (channelIndex, spFile);
229+ std::cout << " Added file." << std::endl;
222230
223231}
224232
@@ -257,8 +265,8 @@ String OriginalRecording::getFileName(int channelIndex)
257265{
258266 String filename;
259267 const DataChannel* ch = getDataChannel (channelIndex);
260-
261- filename += String (static_cast <int >(ch->getCurrentNodeID ()));
268+
269+ filename += String (static_cast <int >(ch->getSourceNodeID ()));
262270 filename += " _" ;
263271 if (renameFiles)
264272 filename += renamedPrefix + String (getDataChannel (channelIndex)->getCurrentNodeChannelIdx () + 1 );
@@ -592,6 +600,7 @@ void OriginalRecording::closeFiles()
592600 }
593601 }
594602 fileArray.clear ();
603+
595604 blockIndex.clear ();
596605 samplesSinceLastTimestamp.clear ();
597606 for (int i = 0 ; i < spikeFileArray.size (); i++)
@@ -630,12 +639,18 @@ void OriginalRecording::closeFiles()
630639
631640void OriginalRecording::writeSpike (int electrodeIndex, const SpikeEvent* spike)
632641{
642+ // std::cout << "Electrode index: " << electrodeIndex << std::endl;
643+
633644 if (spikeFileArray[electrodeIndex] == nullptr )
634645 return ;
635646
647+ // std::cout << "Got spike" << std::endl;
648+
636649 HeapBlock<char > spikeBuffer;
637650 const SpikeChannel* channel = getSpikeChannel (electrodeIndex);
638651
652+ // std::cout << "Got spike channel" << std::endl;
653+
639654 int totalSamples = channel->getTotalSamples () * channel->getNumChannels ();
640655 int numChannels = channel->getNumChannels ();
641656 int chanSamples = channel->getTotalSamples ();
@@ -658,6 +673,8 @@ void OriginalRecording::writeSpike(int electrodeIndex, const SpikeEvent* spike)
658673 zeromem (spikeBuffer.getData () + 32 , 2 * sizeof (float ));
659674 *reinterpret_cast <uint16*>(spikeBuffer.getData () + 40 ) = channel->getSampleRate ();
660675
676+ // std::cout << "Allocated memory" << std::endl;
677+
661678 int ptrIdx = 0 ;
662679 uint16* dataIntPtr = reinterpret_cast <uint16*>(spikeBuffer.getData () + 42 );
663680 const float * spikeDataPtr = spike->getDataPointer ();
@@ -683,6 +700,8 @@ void OriginalRecording::writeSpike(int electrodeIndex, const SpikeEvent* spike)
683700 ptrIdx += sizeof (int16);
684701 }
685702
703+ // std::cout << "Starting disk write" << std::endl;
704+
686705 diskWriteLock.enter ();
687706
688707 fwrite (spikeBuffer, 1 , totalBytes, spikeFileArray[electrodeIndex]);
@@ -693,6 +712,8 @@ void OriginalRecording::writeSpike(int electrodeIndex, const SpikeEvent* spike)
693712 spikeFileArray[electrodeIndex]); // ptr to FILE object
694713
695714 diskWriteLock.exit ();
715+
716+ // std::cout << "Wrote to file" << std::endl;
696717}
697718
698719void OriginalRecording::writeXml ()
0 commit comments