diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile index fd77b13930aed0e2ee17eaaaab946c1f2fcf3c9e..e52c3314ef3fdcd2e22475c46fb66d117486daab 100644 --- a/Builds/Linux/Makefile +++ b/Builds/Linux/Makefile @@ -76,6 +76,7 @@ OBJECTS := \ $(OBJDIR)/SpikeDisplayNode_9c52e4ad.o \ $(OBJDIR)/WiFiOutput_fa464ec5.o \ $(OBJDIR)/LfpDisplayNode_30ef22fd.o \ + $(OBJDIR)/RecordControl_3e1c6062.o \ $(OBJDIR)/Merger_2f90542e.o \ $(OBJDIR)/Splitter_6e27a57b.o \ $(OBJDIR)/SpikePlot_c1cf98bd.o \ @@ -92,6 +93,7 @@ OBJECTS := \ $(OBJDIR)/SpikeDetector_300d85e7.o \ $(OBJDIR)/AudioNode_94606ff3.o \ $(OBJDIR)/EventNode_95c842b7.o \ + $(OBJDIR)/RecordControlEditor_244084cb.o \ $(OBJDIR)/ReferenceNodeEditor_19ee0fac.o \ $(OBJDIR)/ResamplingNodeEditor_f2d6f061.o \ $(OBJDIR)/FPGAOutputEditor_cfe00f8a.o \ @@ -324,6 +326,11 @@ $(OBJDIR)/LfpDisplayNode_30ef22fd.o: ../../Source/Processors/LfpDisplayNode.cpp @echo "Compiling LfpDisplayNode.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/RecordControl_3e1c6062.o: ../../Source/Processors/Utilities/RecordControl.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling RecordControl.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/Merger_2f90542e.o: ../../Source/Processors/Utilities/Merger.cpp -@mkdir -p $(OBJDIR) @echo "Compiling Merger.cpp" @@ -404,6 +411,11 @@ $(OBJDIR)/EventNode_95c842b7.o: ../../Source/Processors/EventNode.cpp @echo "Compiling EventNode.cpp" @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/RecordControlEditor_244084cb.o: ../../Source/Processors/Editors/RecordControlEditor.cpp + -@mkdir -p $(OBJDIR) + @echo "Compiling RecordControlEditor.cpp" + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/ReferenceNodeEditor_19ee0fac.o: ../../Source/Processors/Editors/ReferenceNodeEditor.cpp -@mkdir -p $(OBJDIR) @echo "Compiling ReferenceNodeEditor.cpp" diff --git a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj index 72fbc2d8d815c9b1867c33306b0ff4fb04a31f0f..00f41bf3d1827f34a8a3c9709bb7886af97277be 100644 --- a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj @@ -50,6 +50,7 @@ 1F67A9ACD509FB4DC5A633DF = { isa = PBXBuildFile; fileRef = 4AEDD076CCA918481C6F9CF2; }; B992DDBFF8928A985EEE1557 = { isa = PBXBuildFile; fileRef = 268005410FB62BCB9099A762; }; F1268EC5E783EC8ECEBCA5D3 = { isa = PBXBuildFile; fileRef = 5935F823A2EE45AC36A0201F; }; + EAE9186154287129292E7982 = { isa = PBXBuildFile; fileRef = 9EE49894F14895CEA36FD0F4; }; 4A00153E1E69A74BC6B7D8A6 = { isa = PBXBuildFile; fileRef = 3973173C7FA07073B4F86B29; }; 5F13B8FFB1584BFF6C05AD39 = { isa = PBXBuildFile; fileRef = 9A47B52E5E1CD17DC9C72B53; }; 3D3A992E10308BA189CECE05 = { isa = PBXBuildFile; fileRef = C96A8F49EA22919F09486B96; }; @@ -66,6 +67,7 @@ 4BE0DDA01B73223EF0BD934A = { isa = PBXBuildFile; fileRef = 3DD0741FCFBC7563EC722D9B; }; 08B501E0D7764C6B613AF529 = { isa = PBXBuildFile; fileRef = B7750B27E4F3748ECCCCF69D; }; 9CBA3837CC8CAA03A03F2D9C = { isa = PBXBuildFile; fileRef = FA57CE4F63FF1592D6B3F9B5; }; + AAC4D8DB08B2A05A576A5F17 = { isa = PBXBuildFile; fileRef = AF4469EAC57A21DD7241C9A4; }; D54F398EBE746D5BCC86FB78 = { isa = PBXBuildFile; fileRef = 4D0B72C9F22FDB15C608CF20; }; 6F41ED502815AAF2F2EAB8B7 = { isa = PBXBuildFile; fileRef = EE3AAE8BD520868168064D38; }; 9C77BFFE7BA865E20121E707 = { isa = PBXBuildFile; fileRef = 7738196148E539781B237854; }; @@ -260,6 +262,8 @@ 32959675287F77DD9B7FA96B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WiFiOutput.h; path = ../../Source/Processors/WiFiOutput.h; sourceTree = SOURCE_ROOT; }; 5935F823A2EE45AC36A0201F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayNode.cpp; path = ../../Source/Processors/LfpDisplayNode.cpp; sourceTree = SOURCE_ROOT; }; B00F207EBEED525FB686AD98 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayNode.h; path = ../../Source/Processors/LfpDisplayNode.h; sourceTree = SOURCE_ROOT; }; + 9EE49894F14895CEA36FD0F4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordControl.cpp; path = ../../Source/Processors/Utilities/RecordControl.cpp; sourceTree = SOURCE_ROOT; }; + 0998E3F08E61271CE0FA930C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordControl.h; path = ../../Source/Processors/Utilities/RecordControl.h; sourceTree = SOURCE_ROOT; }; 3973173C7FA07073B4F86B29 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Merger.cpp; path = ../../Source/Processors/Utilities/Merger.cpp; sourceTree = SOURCE_ROOT; }; 7977CAB4A151C41F4140FE1A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Merger.h; path = ../../Source/Processors/Utilities/Merger.h; sourceTree = SOURCE_ROOT; }; 9A47B52E5E1CD17DC9C72B53 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Splitter.cpp; path = ../../Source/Processors/Utilities/Splitter.cpp; sourceTree = SOURCE_ROOT; }; @@ -294,6 +298,8 @@ 12866D44BE115E8837468F48 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioNode.h; path = ../../Source/Processors/AudioNode.h; sourceTree = SOURCE_ROOT; }; FA57CE4F63FF1592D6B3F9B5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventNode.cpp; path = ../../Source/Processors/EventNode.cpp; sourceTree = SOURCE_ROOT; }; 32163C956C8A6F5C1DD7FE7F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventNode.h; path = ../../Source/Processors/EventNode.h; sourceTree = SOURCE_ROOT; }; + AF4469EAC57A21DD7241C9A4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordControlEditor.cpp; path = ../../Source/Processors/Editors/RecordControlEditor.cpp; sourceTree = SOURCE_ROOT; }; + 61CA6A2E58E2025508D42FCF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordControlEditor.h; path = ../../Source/Processors/Editors/RecordControlEditor.h; sourceTree = SOURCE_ROOT; }; 4D0B72C9F22FDB15C608CF20 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ReferenceNodeEditor.cpp; path = ../../Source/Processors/Editors/ReferenceNodeEditor.cpp; sourceTree = SOURCE_ROOT; }; E545022A6355CD2E92DE67C5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ReferenceNodeEditor.h; path = ../../Source/Processors/Editors/ReferenceNodeEditor.h; sourceTree = SOURCE_ROOT; }; EE3AAE8BD520868168064D38 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ResamplingNodeEditor.cpp; path = ../../Source/Processors/Editors/ResamplingNodeEditor.cpp; sourceTree = SOURCE_ROOT; }; @@ -514,6 +520,8 @@ 3022191E4C192BC10670B935, AED49EC9B45C93F39002B4B9 ); name = Serial; sourceTree = "<group>"; }; 20FFF487B65BF8567EFE70F8 = { isa = PBXGroup; children = ( + 9EE49894F14895CEA36FD0F4, + 0998E3F08E61271CE0FA930C, 3973173C7FA07073B4F86B29, 7977CAB4A151C41F4140FE1A, 9A47B52E5E1CD17DC9C72B53, @@ -546,6 +554,8 @@ 0C5335B0E57C9DC92FC57E5F, 7738F51AE0EC63D76EE0F761 ); name = Visualization; sourceTree = "<group>"; }; 953CC35B9116404D6AA8D1C7 = { isa = PBXGroup; children = ( + AF4469EAC57A21DD7241C9A4, + 61CA6A2E58E2025508D42FCF, 4D0B72C9F22FDB15C608CF20, E545022A6355CD2E92DE67C5, EE3AAE8BD520868168064D38, @@ -819,6 +829,7 @@ 1F67A9ACD509FB4DC5A633DF, B992DDBFF8928A985EEE1557, F1268EC5E783EC8ECEBCA5D3, + EAE9186154287129292E7982, 4A00153E1E69A74BC6B7D8A6, 5F13B8FFB1584BFF6C05AD39, 3D3A992E10308BA189CECE05, @@ -835,6 +846,7 @@ 4BE0DDA01B73223EF0BD934A, 08B501E0D7764C6B613AF529, 9CBA3837CC8CAA03A03F2D9C, + AAC4D8DB08B2A05A576A5F17, D54F398EBE746D5BCC86FB78, 6F41ED502815AAF2F2EAB8B7, 9C77BFFE7BA865E20121E707, diff --git a/Builds/VisualStudio2010/open-ephys.vcxproj b/Builds/VisualStudio2010/open-ephys.vcxproj index 8dc24bde79f68514319584e91852a7427d2fb99d..ff6a75afaede8fddb2bc41e656554556e1382209 100644 --- a/Builds/VisualStudio2010/open-ephys.vcxproj +++ b/Builds/VisualStudio2010/open-ephys.vcxproj @@ -155,6 +155,7 @@ <ClCompile Include="..\..\Source\Processors\SpikeDisplayNode.cpp"/> <ClCompile Include="..\..\Source\Processors\WiFiOutput.cpp"/> <ClCompile Include="..\..\Source\Processors\LfpDisplayNode.cpp"/> + <ClCompile Include="..\..\Source\Processors\Utilities\RecordControl.cpp"/> <ClCompile Include="..\..\Source\Processors\Utilities\Merger.cpp"/> <ClCompile Include="..\..\Source\Processors\Utilities\Splitter.cpp"/> <ClCompile Include="..\..\Source\Processors\Visualization\SpikePlotting\SpikePlot.cpp"/> @@ -171,6 +172,7 @@ <ClCompile Include="..\..\Source\Processors\SpikeDetector.cpp"/> <ClCompile Include="..\..\Source\Processors\AudioNode.cpp"/> <ClCompile Include="..\..\Source\Processors\EventNode.cpp"/> + <ClCompile Include="..\..\Source\Processors\Editors\RecordControlEditor.cpp"/> <ClCompile Include="..\..\Source\Processors\Editors\ReferenceNodeEditor.cpp"/> <ClCompile Include="..\..\Source\Processors\Editors\ResamplingNodeEditor.cpp"/> <ClCompile Include="..\..\Source\Processors\Editors\FPGAOutputEditor.cpp"/> @@ -264,6 +266,7 @@ <ClInclude Include="..\..\Source\Processors\SpikeDisplayNode.h"/> <ClInclude Include="..\..\Source\Processors\WiFiOutput.h"/> <ClInclude Include="..\..\Source\Processors\LfpDisplayNode.h"/> + <ClInclude Include="..\..\Source\Processors\Utilities\RecordControl.h"/> <ClInclude Include="..\..\Source\Processors\Utilities\Merger.h"/> <ClInclude Include="..\..\Source\Processors\Utilities\Splitter.h"/> <ClInclude Include="..\..\Source\Processors\Visualization\SpikePlotting\SpikePlot.h"/> @@ -282,6 +285,7 @@ <ClInclude Include="..\..\Source\Processors\SpikeDetector.h"/> <ClInclude Include="..\..\Source\Processors\AudioNode.h"/> <ClInclude Include="..\..\Source\Processors\EventNode.h"/> + <ClInclude Include="..\..\Source\Processors\Editors\RecordControlEditor.h"/> <ClInclude Include="..\..\Source\Processors\Editors\ReferenceNodeEditor.h"/> <ClInclude Include="..\..\Source\Processors\Editors\ResamplingNodeEditor.h"/> <ClInclude Include="..\..\Source\Processors\Editors\FPGAOutputEditor.h"/> diff --git a/Builds/VisualStudio2010/open-ephys.vcxproj.filters b/Builds/VisualStudio2010/open-ephys.vcxproj.filters index e62be6aff0c2aa023aeae24e18ecef2e49dd57ad..1fd65504c3ab02c0d70c76ebfc5c69be76571490 100644 --- a/Builds/VisualStudio2010/open-ephys.vcxproj.filters +++ b/Builds/VisualStudio2010/open-ephys.vcxproj.filters @@ -334,6 +334,9 @@ <ClCompile Include="..\..\Source\Processors\LfpDisplayNode.cpp"> <Filter>open-ephys\Source\Processors</Filter> </ClCompile> + <ClCompile Include="..\..\Source\Processors\Utilities\RecordControl.cpp"> + <Filter>open-ephys\Source\Processors\Utilities</Filter> + </ClCompile> <ClCompile Include="..\..\Source\Processors\Utilities\Merger.cpp"> <Filter>open-ephys\Source\Processors\Utilities</Filter> </ClCompile> @@ -382,6 +385,9 @@ <ClCompile Include="..\..\Source\Processors\EventNode.cpp"> <Filter>open-ephys\Source\Processors</Filter> </ClCompile> + <ClCompile Include="..\..\Source\Processors\Editors\RecordControlEditor.cpp"> + <Filter>open-ephys\Source\Processors\Editors</Filter> + </ClCompile> <ClCompile Include="..\..\Source\Processors\Editors\ReferenceNodeEditor.cpp"> <Filter>open-ephys\Source\Processors\Editors</Filter> </ClCompile> @@ -657,6 +663,9 @@ <ClInclude Include="..\..\Source\Processors\LfpDisplayNode.h"> <Filter>open-ephys\Source\Processors</Filter> </ClInclude> + <ClInclude Include="..\..\Source\Processors\Utilities\RecordControl.h"> + <Filter>open-ephys\Source\Processors\Utilities</Filter> + </ClInclude> <ClInclude Include="..\..\Source\Processors\Utilities\Merger.h"> <Filter>open-ephys\Source\Processors\Utilities</Filter> </ClInclude> @@ -711,6 +720,9 @@ <ClInclude Include="..\..\Source\Processors\EventNode.h"> <Filter>open-ephys\Source\Processors</Filter> </ClInclude> + <ClInclude Include="..\..\Source\Processors\Editors\RecordControlEditor.h"> + <Filter>open-ephys\Source\Processors\Editors</Filter> + </ClInclude> <ClInclude Include="..\..\Source\Processors\Editors\ReferenceNodeEditor.h"> <Filter>open-ephys\Source\Processors\Editors</Filter> </ClInclude> diff --git a/Source/Processors/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph.cpp index 47309ff74a07f658bf367347ac614c20d694e394..91962bc0a86f686d796bd2c2cdb3dfa29fe5db68 100644 --- a/Source/Processors/ProcessorGraph.cpp +++ b/Source/Processors/ProcessorGraph.cpp @@ -33,6 +33,7 @@ #include "GenericProcessor.h" #include "RecordNode.h" #include "ResamplingNode.h" +#include "ReferenceNode.h" #include "AudioResamplingNode.h" #include "SignalGenerator.h" #include "SourceNode.h" @@ -429,6 +430,10 @@ GenericProcessor* ProcessorGraph::createProcessorFromDescription(String& descrip std::cout << "Creating a new phase detector." << std::endl; processor = new PhaseDetector(); } + else if (subProcessorType.equalsIgnoreCase("Digital Reference")) { + std::cout << "Creating a new digital reference." << std::endl; + processor = new ReferenceNode(); + } //sendActionMessage("New filter node created."); diff --git a/Source/UI/ProcessorList.cpp b/Source/UI/ProcessorList.cpp index 23ce872a70b7c7d84b10f9040f6c91ee3fd00e71..1ae6fa8f7e38392ad872f341db28c56aae9d7605 100755 --- a/Source/UI/ProcessorList.cpp +++ b/Source/UI/ProcessorList.cpp @@ -56,6 +56,7 @@ ProcessorList::ProcessorList() : isDragging(false), filters->addSubItem(new ProcessorListItem("Spike Detector")); filters->addSubItem(new ProcessorListItem("Resampler")); filters->addSubItem(new ProcessorListItem("Phase Detector")); + filters->addSubItem(new ProcessorListItem("Digital Reference")); ProcessorListItem* sinks = new ProcessorListItem("Sinks"); sinks->addSubItem(new ProcessorListItem("LFP Viewer")); diff --git a/open-ephys.jucer b/open-ephys.jucer index ce5989a4c54e930064a85b2f854e86ac5b02a0ff..84929dc2ffc79c1763df301eb829388b84219e0b 100644 --- a/open-ephys.jucer +++ b/open-ephys.jucer @@ -237,6 +237,10 @@ <FILE id="VynGpEg" name="LfpDisplayNode.h" compile="0" resource="0" file="Source/Processors/LfpDisplayNode.h"/> <GROUP id="Enz7QFy" name="Utilities"> + <FILE id="llkb8mQ" name="RecordControl.cpp" compile="1" resource="0" + file="Source/Processors/Utilities/RecordControl.cpp"/> + <FILE id="jRqpt5T" name="RecordControl.h" compile="0" resource="0" + file="Source/Processors/Utilities/RecordControl.h"/> <FILE id="qt6uLka" name="Merger.cpp" compile="1" resource="0" file="Source/Processors/Utilities/Merger.cpp"/> <FILE id="XNRlWg8" name="Merger.h" compile="0" resource="0" file="Source/Processors/Utilities/Merger.h"/> <FILE id="YMFH4P2" name="Splitter.cpp" compile="1" resource="0" file="Source/Processors/Utilities/Splitter.cpp"/> @@ -288,6 +292,10 @@ <FILE id="hGnGAjh" name="EventNode.cpp" compile="1" resource="0" file="Source/Processors/EventNode.cpp"/> <FILE id="dUtRN6" name="EventNode.h" compile="0" resource="0" file="Source/Processors/EventNode.h"/> <GROUP id="AqvwO6w" name="Editors"> + <FILE id="3P8oDf3" name="RecordControlEditor.cpp" compile="1" resource="0" + file="Source/Processors/Editors/RecordControlEditor.cpp"/> + <FILE id="hFb27ev" name="RecordControlEditor.h" compile="0" resource="0" + file="Source/Processors/Editors/RecordControlEditor.h"/> <FILE id="tz64eOn" name="ReferenceNodeEditor.cpp" compile="1" resource="0" file="Source/Processors/Editors/ReferenceNodeEditor.cpp"/> <FILE id="sxR3wcq" name="ReferenceNodeEditor.h" compile="0" resource="0"