From 941d8f4c075a9210fe7f7158db5a12a59b3a7fa6 Mon Sep 17 00:00:00 2001
From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es>
Date: Mon, 23 Mar 2015 22:08:45 +0100
Subject: [PATCH] Simplify event types and save messaged to events file

---
 Source/Processors/GenericProcessor/GenericProcessor.h    | 8 ++------
 Source/Processors/NetworkEvents/NetworkEvents.cpp        | 4 ++--
 Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp | 4 +++-
 Source/Processors/RecordNode/HDF5Recording.cpp           | 2 +-
 Source/Processors/RecordNode/OriginalRecording.cpp       | 4 ++--
 Source/Processors/RecordNode/RecordEngine.h              | 2 ++
 Source/Processors/RecordNode/RecordNode.cpp              | 2 +-
 Source/Processors/SerialInput/SerialInput.cpp            | 2 +-
 8 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Source/Processors/GenericProcessor/GenericProcessor.h b/Source/Processors/GenericProcessor/GenericProcessor.h
index 1135db44a..ccc9265b6 100755
--- a/Source/Processors/GenericProcessor/GenericProcessor.h
+++ b/Source/Processors/GenericProcessor/GenericProcessor.h
@@ -510,12 +510,8 @@ public:
         PARAMETER_CHANGE = 2,
         TTL = 3,
         SPIKE = 4,
-        EEG = 5,
-        CONTINUOUS = 6,
-        NETWORK = 7,
-        EYE_POSITION = 8,
-        SERIAL = 9,
-        MESSAGE = 10
+        MESSAGE = 5,
+		BINARY_MSG = 6
     };
 
     /** Variable used to orchestrate saving the ProcessorGraph. */
diff --git a/Source/Processors/NetworkEvents/NetworkEvents.cpp b/Source/Processors/NetworkEvents/NetworkEvents.cpp
index ad9042c65..92fdfcabc 100644
--- a/Source/Processors/NetworkEvents/NetworkEvents.cpp
+++ b/Source/Processors/NetworkEvents/NetworkEvents.cpp
@@ -282,9 +282,9 @@ void NetworkEvents::postTimestamppedStringToMidiBuffer(StringTS s, MidiBuffer& e
 	memcpy(msg_with_ts+s.len, &s.timestamp, 8);
 	
 	addEvent(events, 
-			 (uint8) NETWORK,
-			 0,
+			 (uint8) MESSAGE,
 			 0,
+			 1,
 			 0,
 			 (uint8) s.len+8,
 			 msg_with_ts);
diff --git a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
index 31dc71c59..9dea24189 100644
--- a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
+++ b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
@@ -268,7 +268,9 @@ void PeriStimulusTimeHistogramNode::handleEvent(int eventType, MidiMessage& even
     //tictoc.Tic(9);
 	static std::list<long> previousSpikesIDs;
 
-	if (eventType == NETWORK)
+	uint8 eventId = *((uint8*)event.getRawData() + 2);
+
+	if ((eventType == MESSAGE) && (eventId > 0)) //to differentiate network events from simple messages
 	{
 	    //tictoc.Tic(10);
 
diff --git a/Source/Processors/RecordNode/HDF5Recording.cpp b/Source/Processors/RecordNode/HDF5Recording.cpp
index 33c24623b..c85336e88 100644
--- a/Source/Processors/RecordNode/HDF5Recording.cpp
+++ b/Source/Processors/RecordNode/HDF5Recording.cpp
@@ -186,7 +186,7 @@ void HDF5Recording::writeEvent(int eventType, MidiMessage& event, int samplePosi
     const uint8* dataptr = event.getRawData();
     if (eventType == GenericProcessor::TTL)
         mainFile->writeEvent(0,*(dataptr+2),*(dataptr+1),(void*)(dataptr+3),(*timestamps)[*(dataptr+1)]+samplePosition);
-    else if (eventType == GenericProcessor::MESSAGE || eventType == GenericProcessor::NETWORK)
+    else if (eventType == GenericProcessor::MESSAGE)
         mainFile->writeEvent(1,*(dataptr+2),*(dataptr+1),(void*)(dataptr+6),(*timestamps)[*(dataptr+1)]+samplePosition);
 }
 
diff --git a/Source/Processors/RecordNode/OriginalRecording.cpp b/Source/Processors/RecordNode/OriginalRecording.cpp
index 56c5a3cdc..e6a2ef417 100644
--- a/Source/Processors/RecordNode/OriginalRecording.cpp
+++ b/Source/Processors/RecordNode/OriginalRecording.cpp
@@ -371,9 +371,9 @@ String OriginalRecording::generateSpikeHeader(SpikeRecordInfo* elec)
 
 void OriginalRecording::writeEvent(int eventType, MidiMessage& event, int samplePosition)
 {
-    if (eventType == GenericProcessor::TTL)
+    if (isWritableEvent(eventType))
         writeTTLEvent(event,samplePosition);
-    else if (eventType == GenericProcessor::MESSAGE || eventType == GenericProcessor::NETWORK)
+    if (eventType == GenericProcessor::MESSAGE)
         writeMessage(event,samplePosition);
 }
 
diff --git a/Source/Processors/RecordNode/RecordEngine.h b/Source/Processors/RecordNode/RecordEngine.h
index 44d48163b..c968242f9 100644
--- a/Source/Processors/RecordNode/RecordEngine.h
+++ b/Source/Processors/RecordNode/RecordEngine.h
@@ -41,6 +41,8 @@
 #define strParameter(i,v) if ((parameter.id == i) && (parameter.type == EngineParameter::STR)) \
         v = parameter.strParam.value
 
+#define isWritableEvent(ev) (ev == GenericProcessor::TTL) || (ev == GenericProcessor::MESSAGE) || (ev == GenericProcessor::BINARY_MSG)
+
 struct SpikeRecordInfo
 {
     String name;
diff --git a/Source/Processors/RecordNode/RecordNode.cpp b/Source/Processors/RecordNode/RecordNode.cpp
index 564c34171..108c04b55 100755
--- a/Source/Processors/RecordNode/RecordNode.cpp
+++ b/Source/Processors/RecordNode/RecordNode.cpp
@@ -419,7 +419,7 @@ void RecordNode::handleEvent(int eventType, MidiMessage& event, int samplePositi
 {
     if (isRecording && allFilesOpened)
     {
-        if ((eventType == TTL) || (eventType == MESSAGE) || (eventType == NETWORK))
+        if (isWritableEvent(eventType))
         {
             if (event.getRawData()+4 > 0) // saving flag > 0 (i.e., event has not already been processed)
             {
diff --git a/Source/Processors/SerialInput/SerialInput.cpp b/Source/Processors/SerialInput/SerialInput.cpp
index 58b6955d3..acc78c0ce 100644
--- a/Source/Processors/SerialInput/SerialInput.cpp
+++ b/Source/Processors/SerialInput/SerialInput.cpp
@@ -110,7 +110,7 @@ void SerialInput::process(AudioSampleBuffer&, MidiBuffer& events)
         if (bytesRead > 0)
         {
             addEvent(events,    // MidiBuffer
-                     SERIAL,    // eventType
+                     BINARY_MSG,    // eventType
                      0,         // sampleNum
                      nodeId,    // eventID
                      0,         // eventChannel
-- 
GitLab