From c99facc908f38d4eb875d84310fc6820104e8a04 Mon Sep 17 00:00:00 2001
From: jsiegle <joshs@alleninstitute.org>
Date: Thu, 30 Oct 2014 17:56:31 -0700
Subject: [PATCH] Update SpikeSorter to use new getNumSamples method

---
 Source/Processors/SpikeDetector/SpikeDetector.cpp |  8 +++++---
 Source/Processors/SpikeSorter/SpikeSorter.cpp     | 12 +++++++-----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/Source/Processors/SpikeDetector/SpikeDetector.cpp b/Source/Processors/SpikeDetector/SpikeDetector.cpp
index a0f5c1615..b17d936f2 100755
--- a/Source/Processors/SpikeDetector/SpikeDetector.cpp
+++ b/Source/Processors/SpikeDetector/SpikeDetector.cpp
@@ -464,8 +464,10 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
         sampleIndex = electrode->lastBufferIndex - 1; // subtract 1 to account for
         // increment at start of getNextSample()
 
+        int nSamples = getNumSamples(*electrode->channels);
+
         // cycle through samples
-        while (samplesAvailable(getNumSamples(*electrode->channels)))
+        while (samplesAvailable(nSamples))
         {
 
             sampleIndex++;
@@ -557,11 +559,11 @@ void SpikeDetector::process(AudioSampleBuffer& buffer,
 
         } // end cycle through samples
 
-        electrode->lastBufferIndex = sampleIndex - getNumSamples(*electrode->channels); // should be negative
+        electrode->lastBufferIndex = sampleIndex - nSamples; // should be negative
 
         //jassert(electrode->lastBufferIndex < 0);
 
-        if (getNumSamples(*electrode->channels) > overflowBufferSize)
+        if (nSamples > overflowBufferSize)
         {
 
             for (int j = 0; j < electrode->numChannels; j++)
diff --git a/Source/Processors/SpikeSorter/SpikeSorter.cpp b/Source/Processors/SpikeSorter/SpikeSorter.cpp
index 4b0ab1089..34cf05f4c 100644
--- a/Source/Processors/SpikeSorter/SpikeSorter.cpp
+++ b/Source/Processors/SpikeSorter/SpikeSorter.cpp
@@ -868,7 +868,7 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
 	
     checkForEvents(events); // find latest's packet timestamps
 	
-	channelBuffers->update(buffer,  hardware_timestamp,software_timestamp,nSamples);
+	//channelBuffers->update(buffer, hardware_timestamp,software_timestamp, nSamples);
 
     for (int i = 0; i < electrodes.size(); i++)
     {
@@ -881,8 +881,10 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
         sampleIndex = electrode->lastBufferIndex - 1; // subtract 1 to account for
         // increment at start of getNextSample()
 
+        int nSamples = getNumSamples(*electrode->channels); // get the number of samples for this buffer
+
         // cycle through samples
-        while (samplesAvailable(getNumSamples(*electrode->channels)))
+        while (samplesAvailable(nSamples))
         {
 
             sampleIndex++;
@@ -1007,14 +1009,14 @@ void SpikeSorter::process(AudioSampleBuffer& buffer,
         } // end cycle through samples
 
 		//float vv = getNextSample(currentChannel);
-        electrode->lastBufferIndex = sampleIndex - getNumSamples(*electrode->channels); // should be negative
+        electrode->lastBufferIndex = sampleIndex - nSamples; // should be negative
 
         //jassert(electrode->lastBufferIndex < 0);
 
-        if (getNumSamples(*electrode->channels) > overflowBufferSize)
+        if (nSamples > overflowBufferSize)
         {
 
-            for (int j = 0; j < electrode.numChannels; j++)
+            for (int j = 0; j < electrode->numChannels; j++)
             {
 
                 overflowBuffer.copyFrom(*electrode->channels+i, 0,
-- 
GitLab