From bb76f70509985be7380cc576d673339f5721a373 Mon Sep 17 00:00:00 2001
From: jsiegle <jsiegle@mit.edu>
Date: Thu, 31 Oct 2013 17:28:36 -0400
Subject: [PATCH] Streamline code for flagging TTL events

---
 Source/Processors/GenericProcessor.cpp | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/Source/Processors/GenericProcessor.cpp b/Source/Processors/GenericProcessor.cpp
index 80d26af49..b0ecb0bc7 100755
--- a/Source/Processors/GenericProcessor.cpp
+++ b/Source/Processors/GenericProcessor.cpp
@@ -381,32 +381,31 @@ int GenericProcessor::getNumSamples(MidiBuffer& events)
     {
 
         // int m = events.getNumEvents();
-
         //std::cout << getName() << " received " << m << " events." << std::endl;
 
         MidiBuffer::Iterator i(events);
-        //MidiMessage message(0xf4);
+
         const uint8* dataptr;
         int dataSize;
 
         int samplePosition = -5;
 
-        while (i.getNextEvent(dataptr, dataSize, samplePosition))//(i.getNextEvent(message, samplePosition))
+        while (i.getNextEvent(dataptr, dataSize, samplePosition))
         {
-            //const uint8* dataptr = message.getRawData();
 
             if (*dataptr == BUFFER_SIZE)
             {
+                
                 numRead = samplePosition;
-                //numRead = message.getTimeStamp();
-            } else if (*dataptr == TTL && getNodeId() < 900) // not a specialized processor
+
+            } else if (*dataptr == TTL &&    // a TTL event
+                        getNodeId() < 900 && // not handled by a specialized processor (e.g. AudioNode))
+                        *(dataptr+1) > 0)    // that's flagged for saving
             {
-                // this is dangerous, but probably necessary:
+                // changing the const cast is dangerous, but probably necessary:
                 uint8* ptr = const_cast<uint8*>(dataptr);
-                *(ptr + 1) = 0; // set second byte of raw data to 0
-
-                //message.setNoteNumber(0); // changes second byte to 0
-                //std::cout << "Processor " << getNodeId() << " setting processor id to " << message.getNoteNumber() << std::endl;
+                *(ptr + 1) = 0; // set second byte of raw data to 0, so the event
+                                // won't be saved twice
             }
         }
     }
-- 
GitLab