diff --git a/Builds/Linux/build/libokFrontPanel.so b/Builds/Linux/build/libokFrontPanel.so
index f8c6386c193b5822adc9a585a0445c1e5efa2c95..6eb1a88a56608f52474e05e824176e04535e4a9e 100755
Binary files a/Builds/Linux/build/libokFrontPanel.so and b/Builds/Linux/build/libokFrontPanel.so differ
diff --git a/Source/Processors/DataThreads/DataBuffer.cpp b/Source/Processors/DataThreads/DataBuffer.cpp
index 3eabce007cf11ac85efbb28f7a985b2d39ea49a4..2f4be726ae68e989038bd75ba065928265353698 100755
--- a/Source/Processors/DataThreads/DataBuffer.cpp
+++ b/Source/Processors/DataThreads/DataBuffer.cpp
@@ -27,7 +27,7 @@ DataBuffer::DataBuffer(int chans, int size)
     : abstractFifo(size), buffer(chans, size), numChans(chans)
 {
     timestampBuffer = new int64[size];
-    eventCodeBuffer = new int16[size];
+    eventCodeBuffer = new uint64[size];
 
 }
 
@@ -44,12 +44,12 @@ void DataBuffer::resize(int chans, int size)
 {
     buffer.setSize(chans, size);
     timestampBuffer = new int64[size];
-    eventCodeBuffer = new int16[size];
+    eventCodeBuffer = new uint64[size];
 
     numChans = chans;
 }
 
-void DataBuffer::addToBuffer(float* data, int64* timestamps, int16* eventCodes, int numItems)
+void DataBuffer::addToBuffer(float* data, int64* timestamps, uint64* eventCodes, int numItems)
 {
     // writes one sample for all channels
     int startIndex1, blockSize1, startIndex2, blockSize2;
@@ -76,7 +76,7 @@ int DataBuffer::getNumSamples()
 }
 
 
-int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, int16* eventCodes, int maxSize)
+int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, uint64* eventCodes, int maxSize)
 {
     // check to see if the maximum size is smaller than the total number of available ints
 
@@ -105,7 +105,7 @@ int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, in
         }
 
         memcpy(timestamp, timestampBuffer+startIndex1, 8);
-        memcpy(eventCodes, eventCodeBuffer+startIndex1, blockSize1*2);
+        memcpy(eventCodes, eventCodeBuffer+startIndex1, blockSize1*8);
     }
     else
     {
@@ -124,7 +124,7 @@ int DataBuffer::readAllFromBuffer(AudioSampleBuffer& data, uint64* timestamp, in
                           startIndex2,     // sourceStartSample
                           blockSize2); // numSamples
         }
-        memcpy(eventCodes + blockSize1, eventCodeBuffer+startIndex2, blockSize2*2);
+        memcpy(eventCodes + blockSize1, eventCodeBuffer+startIndex2, blockSize2*8);
     }
 
     abstractFifo.finishedRead(numItems);
diff --git a/Source/Processors/DataThreads/DataBuffer.h b/Source/Processors/DataThreads/DataBuffer.h
index 7bcb29a0bdb8ac1d4add69af745ab7d8af767f13..2e238a605e1d90d3441cf65303f99ed34eef222c 100755
--- a/Source/Processors/DataThreads/DataBuffer.h
+++ b/Source/Processors/DataThreads/DataBuffer.h
@@ -45,13 +45,13 @@ public:
     void clear();
 
     /** Add an array of floats to the buffer.*/
-    void addToBuffer(float* data, int64* ts, int16* eventCodes, int numItems);
+    void addToBuffer(float* data, int64* ts, uint64* eventCodes, int numItems);
 
     /** Returns the number of samples currently available in the buffer.*/
     int getNumSamples();
 
     /** Copies as many samples as possible from the DataBuffer to an AudioSampleBuffer.*/
-    int readAllFromBuffer(AudioSampleBuffer& data, uint64* ts, int16* eventCodes, int maxSize);
+    int readAllFromBuffer(AudioSampleBuffer& data, uint64* ts, uint64* eventCodes, int maxSize);
 
     /** Resizes the data buffer */
     void resize(int chans, int size);
@@ -61,7 +61,7 @@ private:
     AudioSampleBuffer buffer;
 
     int64* timestampBuffer;
-    int16* eventCodeBuffer;
+    uint64* eventCodeBuffer;
 
     int numChans;
 
diff --git a/Source/Processors/DataThreads/DataThread.h b/Source/Processors/DataThreads/DataThread.h
index db3d1bf7925b297f863d0f78c7e3402710ac55af..e22a48622d39b6aaa204958af3a1aa570710297d 100755
--- a/Source/Processors/DataThreads/DataThread.h
+++ b/Source/Processors/DataThreads/DataThread.h
@@ -123,7 +123,7 @@ public:
 
     SourceNode* sn;
 
-    int16 eventCode;
+    uint64 eventCode;
     int64 timestamp;
 
     Time timer;
diff --git a/Source/Processors/DataThreads/RHD2000Thread.cpp b/Source/Processors/DataThreads/RHD2000Thread.cpp
index 746c5eb8b0828e4ca74f107893edfaf8cab63b04..b0ed0e59c58a802c1a6da0797d53792c2f4c3134 100644
--- a/Source/Processors/DataThreads/RHD2000Thread.cpp
+++ b/Source/Processors/DataThreads/RHD2000Thread.cpp
@@ -1513,7 +1513,7 @@ bool RHD2000Thread::updateBuffer()
                     // ADC waveform units = volts
                     thisSample[channel] =
                         //0.000050354 * float(dataBlock->boardAdcData[adcChan][samp]);
-                        0.00015258789 * float(dataBlock->boardAdcData[adcChan][samp]) - 5 - 0.42; // account for +/-5V input range and 0.42 V offset
+                        0.00015258789 * float(dataBlock->boardAdcData[adcChan][samp]) - 5; // account for +/-5V input range
                 }
             }
             // std::cout << channel << std::endl;
diff --git a/Source/Processors/SourceNode/SourceNode.cpp b/Source/Processors/SourceNode/SourceNode.cpp
index f0785f5059a9761cb8f562236b38c95260acc228..c6039f53f0a723f345f42f623595f917d04befdd 100755
--- a/Source/Processors/SourceNode/SourceNode.cpp
+++ b/Source/Processors/SourceNode/SourceNode.cpp
@@ -92,7 +92,7 @@ SourceNode::SourceNode(const String& name_)
     startTimer(sourceCheckInterval);
 
     timestamp = 0;
-    eventCodeBuffer = new int16[10000]; //10000 samples per buffer max?
+    eventCodeBuffer = new uint64[10000]; //10000 samples per buffer max?
 
 
 }
diff --git a/Source/Processors/SourceNode/SourceNode.h b/Source/Processors/SourceNode/SourceNode.h
index 535eed558f7d40716598e023592407510aff7ebb..494481fb282cd88320020662319fbd722e00b612 100755
--- a/Source/Processors/SourceNode/SourceNode.h
+++ b/Source/Processors/SourceNode/SourceNode.h
@@ -110,7 +110,7 @@ private:
     DataBuffer* inputBuffer;
 
     uint64 timestamp;
-    int16* eventCodeBuffer;
+    uint64* eventCodeBuffer;
     int* eventChannelState;