diff --git a/Builds/Linux/build/40-open-ephys.rules b/Builds/Linux/build/40-open-ephys.rules
index 3c552579da25cd4507897d86403ce74d67c68aeb..683534f9b5ec27ba6eb7c86ff0d4595463772b32 100644
--- a/Builds/Linux/build/40-open-ephys.rules
+++ b/Builds/Linux/build/40-open-ephys.rules
@@ -6,7 +6,7 @@
 # For FedoraCore 5 and similar:
 
 # Change permissions for Opal Kelly FPGAs
-SUBSYSTEM=="usb_device", SYSFS{idVendor}=="151f", MODE="0666"
+SUBSYSTEM=="usb_device", SYSFS{idVendor}=="151f", MODE:="0666"
 
 # Change permissions for the Intan Development Board:
 SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6010", MODE:="0666"
@@ -14,7 +14,7 @@ SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6010", MODE
 # For FedoraCore 7 and similar:
 
 # Change permissions for Opal Kelly FPGAs
-SUBSYSTEM=="usb", ATTRS{idVendor}=="151f", MODE="0666"
+SUBSYSTEM=="usb", ATTRS{idVendor}=="151f", MODE:="0666"
 
 # Change permissions for the Intan Development Board:
 SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE:="0666"
diff --git a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
index 5b3402a39cb66ae739b33c311f43c184c93cad76..aa7bbeb241c56d022f7edeeb7831513416af6a01 100644
--- a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
+++ b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
@@ -6,915 +6,1184 @@
 	objectVersion = 45;
 	objects = {
 
-		6125D1F24D314D771E3A350E = { isa = PBXBuildFile; fileRef = FAB58A8AE7DCBAC0CF311D14; };
-		AD58AC45D09BA8A736B3D67C = { isa = PBXBuildFile; fileRef = 39FAF9808D0EFB6C8170D8B8; };
-		F8751DCE1BCF3EC9C7A46154 = { isa = PBXBuildFile; fileRef = 0B661DF3EFF63CFFCCA76AF4; };
-		37F9B7C362F6F31231D10927 = { isa = PBXBuildFile; fileRef = A9B11C1B693E380C29F53F78; };
-		BCA6FAB5DADF0AF804E83F6E = { isa = PBXBuildFile; fileRef = D08C5BF3FF3AC38C2BB5F921; };
-		DB7C2DF80130B2D0D8DD9BD2 = { isa = PBXBuildFile; fileRef = 6A67346CD9B6D590108C7B6E; };
-		11885833D32D03BA7E17138A = { isa = PBXBuildFile; fileRef = 9AFA895DFA2087804F47ECF9; };
-		90C038F480F790988D0F928E = { isa = PBXBuildFile; fileRef = 54662C69F6AA71B55D68F12E; };
-		C038A696FD85E64E249AF737 = { isa = PBXBuildFile; fileRef = 191441B631182A346D494BB5; };
-		881EDBF5D2D6FD7B53B71182 = { isa = PBXBuildFile; fileRef = 1CBCB9D2FE5B967D93785E75; };
-		14BE1E76E7BB3593A5F66DCC = { isa = PBXBuildFile; fileRef = BF41F256D0C244C2C02AE6E1; };
-		09E5633D492B59E418AC11C9 = { isa = PBXBuildFile; fileRef = CA0A1584725D21237DBCD70A; };
-		D379BC3417418182ECFA5716 = { isa = PBXBuildFile; fileRef = 673778A175624FC9F52E7A15; };
-		2C6D200191B27DDF088B3089 = { isa = PBXBuildFile; fileRef = B30EF131FE61BAA4C1818102; };
-		BF78E6E9903CF5A5C53789B9 = { isa = PBXBuildFile; fileRef = 07AE46453303977ED64E38ED; };
-		903C5F83BB9E6DEA71A0D6E5 = { isa = PBXBuildFile; fileRef = 73C6FF74D6A31CA13C0D7C5C; };
-		5EE932D782BFB7100D014399 = { isa = PBXBuildFile; fileRef = 742284C84C72C882E02E7974; };
-		AEA369E154CA607D8D62CC2E = { isa = PBXBuildFile; fileRef = D44DBE2FF15A98834F222766; };
-		F0EB404ED0A4EEAB0F238BDC = { isa = PBXBuildFile; fileRef = 1F9836FC5A8FDF2293C9A232; };
-		B8BF3036DDF5BD761CAF416A = { isa = PBXBuildFile; fileRef = 93FACAE1DC7A236505359477; };
-		BBE4B49A8E596B53CE157EAD = { isa = PBXBuildFile; fileRef = 3E8E2F9C583077B298525FD1; };
-		0BBDB7C2B8CE82F1B0844B70 = { isa = PBXBuildFile; fileRef = E8214D83845C25F39EEC13CD; };
-		FA6CF7D26F81253A3E1D13CB = { isa = PBXBuildFile; fileRef = 293B003BD6E113C5AD1BB131; };
-		BD15E927FB571B9D2F93F82C = { isa = PBXBuildFile; fileRef = A9AF10F6A89F85989C62F856; };
-		40FFED3C981ED12AA4EA0AA0 = { isa = PBXBuildFile; fileRef = 706CBE9178440675868F2379; };
-		49DA796E77871A124D5F49C1 = { isa = PBXBuildFile; fileRef = BF8EB3483F66AA7F61E6D863; };
-		ED44C2F2AA0DC81161075167 = { isa = PBXBuildFile; fileRef = 137CF1AB4144076D79D50975; };
-		14E9BBD79F22198FE23EB88A = { isa = PBXBuildFile; fileRef = E6FF4D4C70794123A52B9E82; };
-		8E138283FC265B58D252AAC3 = { isa = PBXBuildFile; fileRef = F4A53064BA75472765338C1D; };
-		EE1DC0B09AE0727BC7A5A99C = { isa = PBXBuildFile; fileRef = 0D20C3399D0492771F7A808A; };
-		4ACF816CB5CDB285D8005AB8 = { isa = PBXBuildFile; fileRef = F74662D3D82975EDB5AD42E0; };
-		125C853C87498E12942A898C = { isa = PBXBuildFile; fileRef = 3E794D3BDE12790A2373836A; };
-		AEE153DB070AD3023780DAED = { isa = PBXBuildFile; fileRef = EF2AF97E68B2C2428A835836; };
-		448F8ACAAE9A5354E4E013E8 = { isa = PBXBuildFile; fileRef = 2AFAED9379D050629F34C033; };
-		E96CEDA0BFB8ED12B26B5AD5 = { isa = PBXBuildFile; fileRef = F040256D2E74A61F4F08B148; };
-		67343B589F0FF80FF8750F29 = { isa = PBXBuildFile; fileRef = 06AB64E97A05B800349E7E23; };
-		A84DF9525DC988520F7C3217 = { isa = PBXBuildFile; fileRef = 3022191E4C192BC10670B935; };
-		DD043D069210932477F01A30 = { isa = PBXBuildFile; fileRef = 90E8F4BDA3DBA5F8D78A2AB0; };
-		D24C62FA0307F51185EE3481 = { isa = PBXBuildFile; fileRef = 3261B4AE147B49EEE9341CF8; };
-		AEB65E53845FA668D89CE15E = { isa = PBXBuildFile; fileRef = C42446F8ABB3627870E9677D; };
-		717D108DC8B2379D556C4B2F = { isa = PBXBuildFile; fileRef = 751C52F2BEA7F1328ED13333; };
-		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; };
-		55A240CCFCD604CA8DF8FC8C = { isa = PBXBuildFile; fileRef = 41591F74A761BAC908FA8AD8; };
-		8025F04ED261C7F7D2DC0F06 = { isa = PBXBuildFile; fileRef = 24C6D768C87E1C42C644C4BD; };
-		49F046C8BE137BF77338DD7B = { isa = PBXBuildFile; fileRef = B195AD6CEB9B6E3625C8D087; };
-		566E42D2B7105CFB4DB45170 = { isa = PBXBuildFile; fileRef = 2FA2FA826CBAD9C639A61E4A; };
-		BCD7C4797178C8EF65CDC2D7 = { isa = PBXBuildFile; fileRef = 9F208A66C09E80D14F087CB1; };
-		9145D84C7D665BCAFE698432 = { isa = PBXBuildFile; fileRef = E7247F5EE9588903C924994F; };
-		7659F31912D12C91E9554909 = { isa = PBXBuildFile; fileRef = 7A9A31FC1AE8FB238FAE995E; };
-		9D687F73F2FD2462C5D5588C = { isa = PBXBuildFile; fileRef = ED179D5A10DD051DDB3ECB8B; };
-		B13883377C9316B9603336B4 = { isa = PBXBuildFile; fileRef = 2E96DA81EE37A0ECE471A928; };
-		073B178E7EF1759BA0AACCCE = { isa = PBXBuildFile; fileRef = 0C5335B0E57C9DC92FC57E5F; };
-		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; };
-		BA64AA28A3E0DC10AB0A9380 = { isa = PBXBuildFile; fileRef = DAFD5D2E1F875321584C7147; };
-		BCB6C021A03F0AB0248C7F8A = { isa = PBXBuildFile; fileRef = 51D2678E9F30DC261CCB61B0; };
-		632C915D01C42D27E828BFA9 = { isa = PBXBuildFile; fileRef = 47ECF9384C1D27EB2FBEBF9E; };
-		DD22A06702F4CF995893DD5C = { isa = PBXBuildFile; fileRef = F0B09605D4108F0F94EF3B57; };
-		F4CEF74DDCD7EFA0891249B5 = { isa = PBXBuildFile; fileRef = 9A3976537C96B39716B5312D; };
-		93A3E6284F2DAED3F491332B = { isa = PBXBuildFile; fileRef = AD73EA6B24378294003DC2D0; };
-		CB77C89226102EF30F85E3EC = { isa = PBXBuildFile; fileRef = 544DA1EF90EBBDB6FF2DE0A5; };
-		A126280FF39A61DEFD3ABFE5 = { isa = PBXBuildFile; fileRef = 2B11714BCE362D4EA7E377F5; };
-		2ADE508EC26B703176ED915C = { isa = PBXBuildFile; fileRef = 36393F2D58480F61ECDEB5E5; };
-		8B55C700ED8484944FED1EB1 = { isa = PBXBuildFile; fileRef = 087136FA6A7A0E01738EEF03; };
-		D3B54B20674A6BA87CE6FDEC = { isa = PBXBuildFile; fileRef = CF9878CE31A1B41406C3457B; };
-		5D5CAF52A5498EEFB8EA924D = { isa = PBXBuildFile; fileRef = FC5939F3D2A31BB43EA3E393; };
-		203EA3786F7928C0386FFAC2 = { isa = PBXBuildFile; fileRef = C2ED801EA28FBA9764E76349; };
-		28E4724351374881E83BD69C = { isa = PBXBuildFile; fileRef = 399CBACE291A425A2B9497EF; };
-		B092C479F4C92AF2FEBE5A11 = { isa = PBXBuildFile; fileRef = 5DDBEE64DC706CE804E5F0AA; };
-		3B146B8898CEE9965A9A0FB8 = { isa = PBXBuildFile; fileRef = 35AFD01064BF29D90EEDF413; };
-		CFE62980E342BE2875BB3586 = { isa = PBXBuildFile; fileRef = 22FD0613BADE6C36A6A7A25C; };
-		A1B4D286AC7ED372742C41B2 = { isa = PBXBuildFile; fileRef = 0D2903C450AE862C2C0060AA; };
-		25D4C87F4C7C842B0522DA5F = { isa = PBXBuildFile; fileRef = 24616D6D2297C87D371B0363; };
-		E82FBA173C87CE2AADB84942 = { isa = PBXBuildFile; fileRef = 6B156D132738F6C7C948378F; };
-		2F21546229BEF148C74ECA45 = { isa = PBXBuildFile; fileRef = A9142BFEFE7EB34D919ED0A0; };
-		9549DA2D2FF0614B155990A0 = { isa = PBXBuildFile; fileRef = F20726FD9F586FDE2CB42901; };
-		DF15E1683A3722FE88EE5C7F = { isa = PBXBuildFile; fileRef = 6D94C2733E967EC6A91B719A; };
-		FCD66EA8735FE1CCA522B7C5 = { isa = PBXBuildFile; fileRef = 72123888A7DD78159AA032AF; };
-		60FF6BBFC1E9255F190C3146 = { isa = PBXBuildFile; fileRef = B96BF02034F29DE033F16D89; };
-		513EF1439498856E0C8C697E = { isa = PBXBuildFile; fileRef = EBB0E5058615EA1FEDADF189; };
-		03932AC6269AFA895DFA2087 = { isa = PBXBuildFile; fileRef = 5AE7693391C43B4AE475789C; };
-		AD6DD37DB41B1177F9F77F51 = { isa = PBXBuildFile; fileRef = D2342EA3BD783D3A81006606; };
-		CF0149E6ECBA264A264C7BB3 = { isa = PBXBuildFile; fileRef = 7EAD8082130C2384BA9E1206; };
-		63E5D65E7B097CADB277DBB6 = { isa = PBXBuildFile; fileRef = CECE2AB5D5F36CADBC3219A2; };
-		B2BE56A1260E9C87DECD2E4F = { isa = PBXBuildFile; fileRef = C4DA9685E5637B03F00E5E79; };
-		5E07E54EEF69F5BEDE84D535 = { isa = PBXBuildFile; fileRef = E1C6E67757EC5D68093BD760; };
-		2EC3E064E5849D2FDD9BBDBE = { isa = PBXBuildFile; fileRef = 6CD0D896FEB77B261C62447E; };
-		F3F3E688834C724BC35231F1 = { isa = PBXBuildFile; fileRef = EB824B60F600C19193ADFA5F; };
-		ECBA3D0CB756E83C4DA9685E = { isa = PBXBuildFile; fileRef = B28CC9409188C9A200AAAFFC; };
-		13457B3248E7646270A4FF88 = { isa = PBXBuildFile; fileRef = A32D8455B95FD230EBFD7891; };
-		D060C0893EDAE6CBC86A5FE2 = { isa = PBXBuildFile; fileRef = AA00883DC021E36B7EFDAC43; };
-		E36C0018635A85E09D4EDE01 = { isa = PBXBuildFile; fileRef = B977C2809B309C8038CB5D95; };
-		C170A763D33146C74ED4CE4B = { isa = PBXBuildFile; fileRef = EEDA71600D817BF9444FE3E7; };
-		116BB2F62451986C75586F9D = { isa = PBXBuildFile; fileRef = 5AB4A3A63B9FDEAB09EEC9C8; };
-		1F301384375DA0F3652C01DA = { isa = PBXBuildFile; fileRef = 2A78F719BAFBDCD63AE9A88A; };
-		4DA172021AB3AB88E70FAF99 = { isa = PBXBuildFile; fileRef = 77F2E2E7A2419CB172C0B1EA; };
-		F80F061AE618AD08407BCA9A = { isa = PBXBuildFile; fileRef = 19D5134F99CC551B01D5A7EF; };
-		5F102AE69FB814467A298A97 = { isa = PBXBuildFile; fileRef = B56D08AB6374C811F59D760C; };
-		F18F6DF7E80854DE6780531D = { isa = PBXBuildFile; fileRef = 898385F65E64BF6D609B3BF2; };
-		FD157D98C4C31AE782659718 = { isa = PBXBuildFile; fileRef = C3B95EF26B5F3281447FCF42; };
-		09AC8D29A08EE1FFBC4ADB23 = { isa = PBXBuildFile; fileRef = 1CD026FD773BB5A428624381; };
-		05339DCA8C59B707E61F1F2E = { isa = PBXBuildFile; fileRef = 55F7FFF9942627D7FC46C6C1; };
-		FAB58A8AE7DCBAC0CF311D14 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
-		39FAF9808D0EFB6C8170D8B8 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
-		0B661DF3EFF63CFFCCA76AF4 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
-		A9B11C1B693E380C29F53F78 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
-		D08C5BF3FF3AC38C2BB5F921 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
-		6A67346CD9B6D590108C7B6E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
-		9AFA895DFA2087804F47ECF9 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
-		54662C69F6AA71B55D68F12E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
-		191441B631182A346D494BB5 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
-		1CBCB9D2FE5B967D93785E75 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
-		BF41F256D0C244C2C02AE6E1 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
-		0837481AD187A1E6CBCAC577 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "open-ephys.app"; sourceTree = BUILT_PRODUCTS_DIR; };
-		D91BA61C12BFEBE59B577805 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
-		79892A4E41809A09A4711AC3 = { isa = PBXFileReference; lastKnownFileType = file.otf; name = BebasNeue.otf; path = ../../Resources/Fonts/BebasNeue.otf; sourceTree = SOURCE_ROOT; };
-		1B2C20F6F1F1BCF9115F8D53 = { isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_bold.otf; path = ../../Resources/Fonts/cpmono_bold.otf; sourceTree = SOURCE_ROOT; };
-		C586714DD22C96F569FDC716 = { isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_extra_light.otf; path = ../../Resources/Fonts/cpmono_extra_light.otf; sourceTree = SOURCE_ROOT; };
-		8E7AA0EF1B95BC771FBB10A0 = { isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_light.otf; path = ../../Resources/Fonts/cpmono_light.otf; sourceTree = SOURCE_ROOT; };
-		E79C104CD58BBBD5368EEF5A = { isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_plain.otf; path = ../../Resources/Fonts/cpmono_plain.otf; sourceTree = SOURCE_ROOT; };
-		060C55E19A414F464C499A47 = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-bold.ttf"; path = "../../Resources/Fonts/miso-bold.ttf"; sourceTree = SOURCE_ROOT; };
-		50F20268C4572493BB04D269 = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-light.ttf"; path = "../../Resources/Fonts/miso-light.ttf"; sourceTree = SOURCE_ROOT; };
-		50D4782F4555FED294F40705 = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-regular.ttf"; path = "../../Resources/Fonts/miso-regular.ttf"; sourceTree = SOURCE_ROOT; };
-		4974E0E46141648F106A818F = { isa = PBXFileReference; lastKnownFileType = file; name = "miso-serialized"; path = "../../Resources/Fonts/miso-serialized"; sourceTree = SOURCE_ROOT; };
-		35352AD0E7B59E35BC3B5F59 = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = nordic.ttf; path = ../../Resources/Fonts/nordic.ttf; sourceTree = SOURCE_ROOT; };
-		44303AB487040AE4B60DCAD5 = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = ostrich.ttf; path = ../../Resources/Fonts/ostrich.ttf; sourceTree = SOURCE_ROOT; };
-		C2A7939DF5ED600BBB2F30C4 = { isa = PBXFileReference; lastKnownFileType = file; name = "silkscreen-serialized"; path = "../../Resources/Fonts/silkscreen-serialized"; sourceTree = SOURCE_ROOT; };
-		F8CAE2412B173788F325BD8B = { isa = PBXFileReference; lastKnownFileType = file.ttf; name = silkscreen.ttf; path = ../../Resources/Fonts/silkscreen.ttf; sourceTree = SOURCE_ROOT; };
-		363B59958615D35C5C948300 = { isa = PBXFileReference; lastKnownFileType = file.otf; name = "unibody-8.otf"; path = "../../Resources/Fonts/unibody-8.otf"; sourceTree = SOURCE_ROOT; };
-		C2C96A81B4033338679E6EFB = { isa = PBXFileReference; lastKnownFileType = image.png; name = ArduinoIcon.png; path = ../../Resources/Images/Icons/ArduinoIcon.png; sourceTree = SOURCE_ROOT; };
-		A582462316439858552387F7 = { isa = PBXFileReference; lastKnownFileType = image.png; name = OpenEphysBoardLogoBlack.png; path = ../../Resources/Images/Icons/OpenEphysBoardLogoBlack.png; sourceTree = SOURCE_ROOT; };
-		9CAD123471BE2E6ED4A96C3B = { isa = PBXFileReference; lastKnownFileType = image.png; name = OpenEphysBoardLogoGray.png; path = ../../Resources/Images/Icons/OpenEphysBoardLogoGray.png; sourceTree = SOURCE_ROOT; };
-		4DB02C352236D9D030E01205 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-01.png"; path = "../../Resources/Images/Icons/RadioButtons-01.png"; sourceTree = SOURCE_ROOT; };
-		EEAB043F90902D8F9D1102C2 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-02.png"; path = "../../Resources/Images/Icons/RadioButtons-02.png"; sourceTree = SOURCE_ROOT; };
-		8086EC3AFDEA802E0B43F19E = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-03.png"; path = "../../Resources/Images/Icons/RadioButtons-03.png"; sourceTree = SOURCE_ROOT; };
-		2171C4356B44D4CD6865E06B = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-04.png"; path = "../../Resources/Images/Icons/RadioButtons-04.png"; sourceTree = SOURCE_ROOT; };
-		C25CAC3FC9AE387CD597DF37 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-05.png"; path = "../../Resources/Images/Icons/RadioButtons-05.png"; sourceTree = SOURCE_ROOT; };
-		59CAEFDE36164ABB19B3CA76 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-01.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-01.png"; sourceTree = SOURCE_ROOT; };
-		E0587F61AD4A92C2661E5073 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-02.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-02.png"; sourceTree = SOURCE_ROOT; };
-		87F60F05136FEBD8A36AE670 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-03.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-03.png"; sourceTree = SOURCE_ROOT; };
-		1E849F999A8333FFF0B57C6D = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-04.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-04.png"; sourceTree = SOURCE_ROOT; };
-		A5231F3D01B88C063D10026A = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-05.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-05.png"; sourceTree = SOURCE_ROOT; };
-		40A802FCEDFDE7B2FFEBDEA8 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-01.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-01.png"; sourceTree = SOURCE_ROOT; };
-		8A3AE5CF9D452810BA48A3EF = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-02.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-02.png"; sourceTree = SOURCE_ROOT; };
-		B3CDC8825DAD5A7D75956726 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-03.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-03.png"; sourceTree = SOURCE_ROOT; };
-		ED50AB550D058BEB30F12C7D = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-04.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-04.png"; sourceTree = SOURCE_ROOT; };
-		17E38F29BD6CBC490B5EF1B4 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-05.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-05.png"; sourceTree = SOURCE_ROOT; };
-		D95C78F42494CD5995FBC15E = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-01.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-01.png"; sourceTree = SOURCE_ROOT; };
-		20B50BC2221C593AC67D80F8 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-02.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-02.png"; sourceTree = SOURCE_ROOT; };
-		771E8D912F94E52AF7E05F91 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-03.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-03.png"; sourceTree = SOURCE_ROOT; };
-		CE771F502D1D710B28632E3A = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-04.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-04.png"; sourceTree = SOURCE_ROOT; };
-		05D0A12F2A850EEC48D5EDD4 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-05.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-05.png"; sourceTree = SOURCE_ROOT; };
-		8F8F55DD042F61BB213AFC0B = { isa = PBXFileReference; lastKnownFileType = image.png; name = noise_wave.png; path = ../../Resources/Images/Icons/noise_wave.png; sourceTree = SOURCE_ROOT; };
-		7C09194091360867C4CAB0E8 = { isa = PBXFileReference; lastKnownFileType = image.png; name = saw_wave.png; path = ../../Resources/Images/Icons/saw_wave.png; sourceTree = SOURCE_ROOT; };
-		126B0DE9B8D4E42DA7D57AAB = { isa = PBXFileReference; lastKnownFileType = image.png; name = sine_wave.png; path = ../../Resources/Images/Icons/sine_wave.png; sourceTree = SOURCE_ROOT; };
-		BDFFB5B0A8E8A022C25D7FDB = { isa = PBXFileReference; lastKnownFileType = image.png; name = square_wave.png; path = ../../Resources/Images/Icons/square_wave.png; sourceTree = SOURCE_ROOT; };
-		3D20C932FB058CC20989B129 = { isa = PBXFileReference; lastKnownFileType = image.png; name = triangle_wave.png; path = ../../Resources/Images/Icons/triangle_wave.png; sourceTree = SOURCE_ROOT; };
-		8E041C8C49F1A5B710CC812C = { isa = PBXFileReference; lastKnownFileType = image.png; name = wifi.png; path = ../../Resources/Images/Icons/wifi.png; sourceTree = SOURCE_ROOT; };
-		2A1D9144C59B92B32483924B = { isa = PBXFileReference; lastKnownFileType = image.png; name = SourceDrop.png; path = ../../Resources/Images/Icons/SourceDrop.png; sourceTree = SOURCE_ROOT; };
-		D99F56FB46F631F67AF23F2C = { isa = PBXFileReference; lastKnownFileType = image.png; name = DefaultDataSource.png; path = ../../Resources/Images/Icons/DefaultDataSource.png; sourceTree = SOURCE_ROOT; };
-		66C7E42D7FDE3600982A1F46 = { isa = PBXFileReference; lastKnownFileType = image.png; name = FileReaderIcon.png; path = ../../Resources/Images/Icons/FileReaderIcon.png; sourceTree = SOURCE_ROOT; };
-		A4C8AB3F5E7A708350F72E7C = { isa = PBXFileReference; lastKnownFileType = image.png; name = IntanIcon.png; path = ../../Resources/Images/Icons/IntanIcon.png; sourceTree = SOURCE_ROOT; };
-		BD0900C3A85F58C34FA91D16 = { isa = PBXFileReference; lastKnownFileType = image.png; name = muteoff.png; path = ../../Resources/Images/Buttons/muteoff.png; sourceTree = SOURCE_ROOT; };
-		1BDA9647E0AA33F642E162BE = { isa = PBXFileReference; lastKnownFileType = image.png; name = muteon.png; path = ../../Resources/Images/Buttons/muteon.png; sourceTree = SOURCE_ROOT; };
-		D2D308542534D043BB12C801 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerA-01.png"; path = "../../Resources/Images/Buttons/MergerA-01.png"; sourceTree = SOURCE_ROOT; };
-		9CD0E7C2C7E49A0DBF301B0F = { isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerA-02.png"; path = "../../Resources/Images/Buttons/MergerA-02.png"; sourceTree = SOURCE_ROOT; };
-		BAAA02122ADD1D5D0670A684 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerB-01.png"; path = "../../Resources/Images/Buttons/MergerB-01.png"; sourceTree = SOURCE_ROOT; };
-		73A7E17FDD8DD717F99E0882 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerB-02.png"; path = "../../Resources/Images/Buttons/MergerB-02.png"; sourceTree = SOURCE_ROOT; };
-		2A54E3D28E10F5D50498BB77 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineA-01.png"; path = "../../Resources/Images/Buttons/PipelineA-01.png"; sourceTree = SOURCE_ROOT; };
-		294B78ADA337603DE3C87BF9 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineA-02.png"; path = "../../Resources/Images/Buttons/PipelineA-02.png"; sourceTree = SOURCE_ROOT; };
-		8AD9A0F023B727B34348B95E = { isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineB-01.png"; path = "../../Resources/Images/Buttons/PipelineB-01.png"; sourceTree = SOURCE_ROOT; };
-		89CF25CB48EEA21B226869E1 = { isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineB-02.png"; path = "../../Resources/Images/Buttons/PipelineB-02.png"; sourceTree = SOURCE_ROOT; };
-		CA0A1584725D21237DBCD70A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AccessClass.cpp; path = ../../Source/AccessClass.cpp; sourceTree = SOURCE_ROOT; };
-		63992CB3AC42F91A51135EAC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccessClass.h; path = ../../Source/AccessClass.h; sourceTree = SOURCE_ROOT; };
-		673778A175624FC9F52E7A15 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PracticalSocket.cpp; path = ../../Source/Network/PracticalSocket.cpp; sourceTree = SOURCE_ROOT; };
-		2EAE0475B719C3233AD8BB35 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PracticalSocket.h; path = ../../Source/Network/PracticalSocket.h; sourceTree = SOURCE_ROOT; };
-		B30EF131FE61BAA4C1818102 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Bessel.cpp; path = ../../Source/Dsp/Bessel.cpp; sourceTree = SOURCE_ROOT; };
-		D55947E71EB4AF25C1FC7089 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bessel.h; path = ../../Source/Dsp/Bessel.h; sourceTree = SOURCE_ROOT; };
-		07AE46453303977ED64E38ED = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Biquad.cpp; path = ../../Source/Dsp/Biquad.cpp; sourceTree = SOURCE_ROOT; };
-		9EBBC43B9522EC9E6B607493 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Biquad.h; path = ../../Source/Dsp/Biquad.h; sourceTree = SOURCE_ROOT; };
-		73C6FF74D6A31CA13C0D7C5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Butterworth.cpp; path = ../../Source/Dsp/Butterworth.cpp; sourceTree = SOURCE_ROOT; };
-		8B70886CFCD13A761567DE7B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Butterworth.h; path = ../../Source/Dsp/Butterworth.h; sourceTree = SOURCE_ROOT; };
-		742284C84C72C882E02E7974 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Cascade.cpp; path = ../../Source/Dsp/Cascade.cpp; sourceTree = SOURCE_ROOT; };
-		2B8E059E57EB92EAC589C6B4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Cascade.h; path = ../../Source/Dsp/Cascade.h; sourceTree = SOURCE_ROOT; };
-		D44DBE2FF15A98834F222766 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChebyshevI.cpp; path = ../../Source/Dsp/ChebyshevI.cpp; sourceTree = SOURCE_ROOT; };
-		553E92DB60C7D5104B780781 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChebyshevI.h; path = ../../Source/Dsp/ChebyshevI.h; sourceTree = SOURCE_ROOT; };
-		1F9836FC5A8FDF2293C9A232 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChebyshevII.cpp; path = ../../Source/Dsp/ChebyshevII.cpp; sourceTree = SOURCE_ROOT; };
-		833030703B66CDD9DA94155B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChebyshevII.h; path = ../../Source/Dsp/ChebyshevII.h; sourceTree = SOURCE_ROOT; };
-		F7620D8D567CCE463ADDE0A6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Common.h; path = ../../Source/Dsp/Common.h; sourceTree = SOURCE_ROOT; };
-		93FACAE1DC7A236505359477 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Custom.cpp; path = ../../Source/Dsp/Custom.cpp; sourceTree = SOURCE_ROOT; };
-		E4AEAC4AD1D1C6A80A2CD70A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Custom.h; path = ../../Source/Dsp/Custom.h; sourceTree = SOURCE_ROOT; };
-		3E8E2F9C583077B298525FD1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Design.cpp; path = ../../Source/Dsp/Design.cpp; sourceTree = SOURCE_ROOT; };
-		CD05957EC804348231739108 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Design.h; path = ../../Source/Dsp/Design.h; sourceTree = SOURCE_ROOT; };
-		E8214D83845C25F39EEC13CD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Documentation.cpp; path = ../../Source/Dsp/Documentation.cpp; sourceTree = SOURCE_ROOT; };
-		21E5288817625724406FD3A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dsp.h; path = ../../Source/Dsp/Dsp.h; sourceTree = SOURCE_ROOT; };
-		293B003BD6E113C5AD1BB131 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Elliptic.cpp; path = ../../Source/Dsp/Elliptic.cpp; sourceTree = SOURCE_ROOT; };
-		60F060DBD5ACF36E0A407BC1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Elliptic.h; path = ../../Source/Dsp/Elliptic.h; sourceTree = SOURCE_ROOT; };
-		A9AF10F6A89F85989C62F856 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Filter.cpp; path = ../../Source/Dsp/Filter.cpp; sourceTree = SOURCE_ROOT; };
-		7C225F446A96BED7F585F66B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Filter.h; path = ../../Source/Dsp/Filter.h; sourceTree = SOURCE_ROOT; };
-		314D53C7C13C28A25588ABCF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Layout.h; path = ../../Source/Dsp/Layout.h; sourceTree = SOURCE_ROOT; };
-		706CBE9178440675868F2379 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Legendre.cpp; path = ../../Source/Dsp/Legendre.cpp; sourceTree = SOURCE_ROOT; };
-		1EC547C25C29FE679BAF8B4D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Legendre.h; path = ../../Source/Dsp/Legendre.h; sourceTree = SOURCE_ROOT; };
-		4D63E86C8A9F721B9C0FA95E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MathSupplement.h; path = ../../Source/Dsp/MathSupplement.h; sourceTree = SOURCE_ROOT; };
-		BF8EB3483F66AA7F61E6D863 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Param.cpp; path = ../../Source/Dsp/Param.cpp; sourceTree = SOURCE_ROOT; };
-		1E0F3076D1689E83422F6B4E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Params.h; path = ../../Source/Dsp/Params.h; sourceTree = SOURCE_ROOT; };
-		137CF1AB4144076D79D50975 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PoleFilter.cpp; path = ../../Source/Dsp/PoleFilter.cpp; sourceTree = SOURCE_ROOT; };
-		5B1D08D98AD9F623962A38B2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PoleFilter.h; path = ../../Source/Dsp/PoleFilter.h; sourceTree = SOURCE_ROOT; };
-		E6FF4D4C70794123A52B9E82 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RBJ.cpp; path = ../../Source/Dsp/RBJ.cpp; sourceTree = SOURCE_ROOT; };
-		E8503A3E123FCFBFA317EAE6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RBJ.h; path = ../../Source/Dsp/RBJ.h; sourceTree = SOURCE_ROOT; };
-		F4A53064BA75472765338C1D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RootFinder.cpp; path = ../../Source/Dsp/RootFinder.cpp; sourceTree = SOURCE_ROOT; };
-		1D1DF895F34C981407EDB8E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootFinder.h; path = ../../Source/Dsp/RootFinder.h; sourceTree = SOURCE_ROOT; };
-		1F5435604926FF2C06575DCC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SmoothedFilter.h; path = ../../Source/Dsp/SmoothedFilter.h; sourceTree = SOURCE_ROOT; };
-		0D20C3399D0492771F7A808A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = State.cpp; path = ../../Source/Dsp/State.cpp; sourceTree = SOURCE_ROOT; };
-		186F011C1ABC55DB39717105 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = State.h; path = ../../Source/Dsp/State.h; sourceTree = SOURCE_ROOT; };
-		92C241C7F87B5933B0E6E03F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Types.h; path = ../../Source/Dsp/Types.h; sourceTree = SOURCE_ROOT; };
-		E27B5891A52FDAB2B00901A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Utilities.h; path = ../../Source/Dsp/Utilities.h; sourceTree = SOURCE_ROOT; };
-		F74662D3D82975EDB5AD42E0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioComponent.cpp; path = ../../Source/Audio/AudioComponent.cpp; sourceTree = SOURCE_ROOT; };
-		FA55B9FDE138CCB1F16BA905 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioComponent.h; path = ../../Source/Audio/AudioComponent.h; sourceTree = SOURCE_ROOT; };
-		3E794D3BDE12790A2373836A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ReferenceNode.cpp; path = ../../Source/Processors/ReferenceNode.cpp; sourceTree = SOURCE_ROOT; };
-		092C479F4C92AF2FEBE5A11A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ReferenceNode.h; path = ../../Source/Processors/ReferenceNode.h; sourceTree = SOURCE_ROOT; };
-		EF2AF97E68B2C2428A835836 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PhaseDetector.cpp; path = ../../Source/Processors/PhaseDetector.cpp; sourceTree = SOURCE_ROOT; };
-		552B1370E46646B6B1D40CF8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhaseDetector.h; path = ../../Source/Processors/PhaseDetector.h; sourceTree = SOURCE_ROOT; };
-		2AFAED9379D050629F34C033 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioResamplingNode.cpp; path = ../../Source/Processors/AudioResamplingNode.cpp; sourceTree = SOURCE_ROOT; };
-		530B262BE169DC42E8F505EA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioResamplingNode.h; path = ../../Source/Processors/AudioResamplingNode.h; sourceTree = SOURCE_ROOT; };
-		F040256D2E74A61F4F08B148 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Channel.cpp; path = ../../Source/Processors/Channel.cpp; sourceTree = SOURCE_ROOT; };
-		8C8C2A42B36655796DCFBAC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Channel.h; path = ../../Source/Processors/Channel.h; sourceTree = SOURCE_ROOT; };
-		06AB64E97A05B800349E7E23 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ofArduino.cpp; path = ../../Source/Processors/Serial/ofArduino.cpp; sourceTree = SOURCE_ROOT; };
-		482AFCBBC28835A9548101B1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofArduino.h; path = ../../Source/Processors/Serial/ofArduino.h; sourceTree = SOURCE_ROOT; };
-		96D33A963CAAEEAB8770F2A3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofConstants.h; path = ../../Source/Processors/Serial/ofConstants.h; sourceTree = SOURCE_ROOT; };
-		3022191E4C192BC10670B935 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ofSerial.cpp; path = ../../Source/Processors/Serial/ofSerial.cpp; sourceTree = SOURCE_ROOT; };
-		AED49EC9B45C93F39002B4B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofSerial.h; path = ../../Source/Processors/Serial/ofSerial.h; sourceTree = SOURCE_ROOT; };
-		90E8F4BDA3DBA5F8D78A2AB0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventDetector.cpp; path = ../../Source/Processors/EventDetector.cpp; sourceTree = SOURCE_ROOT; };
-		5E2258F02911313F494357BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventDetector.h; path = ../../Source/Processors/EventDetector.h; sourceTree = SOURCE_ROOT; };
-		3261B4AE147B49EEE9341CF8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAOutput.cpp; path = ../../Source/Processors/FPGAOutput.cpp; sourceTree = SOURCE_ROOT; };
-		C04E6EDA980CDC09DF061D66 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAOutput.h; path = ../../Source/Processors/FPGAOutput.h; sourceTree = SOURCE_ROOT; };
-		C42446F8ABB3627870E9677D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ArduinoOutput.cpp; path = ../../Source/Processors/ArduinoOutput.cpp; sourceTree = SOURCE_ROOT; };
-		5779673F042A62E02C4AC06B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArduinoOutput.h; path = ../../Source/Processors/ArduinoOutput.h; sourceTree = SOURCE_ROOT; };
-		751C52F2BEA7F1328ED13333 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Parameter.cpp; path = ../../Source/Processors/Parameter.cpp; sourceTree = SOURCE_ROOT; };
-		7B825983F25D8984E02F6FFB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Parameter.h; path = ../../Source/Processors/Parameter.h; sourceTree = SOURCE_ROOT; };
-		4AEDD076CCA918481C6F9CF2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayNode.cpp; path = ../../Source/Processors/SpikeDisplayNode.cpp; sourceTree = SOURCE_ROOT; };
-		671CC5EA3DF4F21E9A7E392B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayNode.h; path = ../../Source/Processors/SpikeDisplayNode.h; sourceTree = SOURCE_ROOT; };
-		268005410FB62BCB9099A762 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WiFiOutput.cpp; path = ../../Source/Processors/WiFiOutput.cpp; sourceTree = SOURCE_ROOT; };
-		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; };
-		B92E8189F69E0B926C73B654 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Splitter.h; path = ../../Source/Processors/Utilities/Splitter.h; sourceTree = SOURCE_ROOT; };
-		C96A8F49EA22919F09486B96 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikePlot.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/SpikePlot.cpp; sourceTree = SOURCE_ROOT; };
-		06B051747D84858D9C5C0444 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikePlot.h; path = ../../Source/Processors/Visualization/SpikePlotting/SpikePlot.h; sourceTree = SOURCE_ROOT; };
-		41591F74A761BAC908FA8AD8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BaseUIElement.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/BaseUIElement.cpp; sourceTree = SOURCE_ROOT; };
-		9C8EA29582DBFF6E5A14B8A3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BaseUIElement.h; path = ../../Source/Processors/Visualization/SpikePlotting/BaseUIElement.h; sourceTree = SOURCE_ROOT; };
-		24C6D768C87E1C42C644C4BD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/GenericAxes.cpp; sourceTree = SOURCE_ROOT; };
-		BCBB865ED53E8AFD278D1A53 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/GenericAxes.h; sourceTree = SOURCE_ROOT; };
-		B195AD6CEB9B6E3625C8D087 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlotUtils.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/PlotUtils.cpp; sourceTree = SOURCE_ROOT; };
-		521FECC75E9DDB0D34B22AF8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlotUtils.h; path = ../../Source/Processors/Visualization/SpikePlotting/PlotUtils.h; sourceTree = SOURCE_ROOT; };
-		2FA2FA826CBAD9C639A61E4A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProjectionAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/ProjectionAxes.cpp; sourceTree = SOURCE_ROOT; };
-		B1CF7BFC5F1892735D4FA1EE = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProjectionAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/ProjectionAxes.h; sourceTree = SOURCE_ROOT; };
-		50E7B88E8140BB293B27ED67 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SimpleKeyEvent.h; path = ../../Source/Processors/Visualization/SpikePlotting/SimpleKeyEvent.h; sourceTree = SOURCE_ROOT; };
-		9F208A66C09E80D14F087CB1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WaveAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/WaveAxes.cpp; sourceTree = SOURCE_ROOT; };
-		A3F978AE6999903C47650173 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WaveAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/WaveAxes.h; sourceTree = SOURCE_ROOT; };
-		E7247F5EE9588903C924994F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeObject.cpp; path = ../../Source/Processors/Visualization/SpikeObject.cpp; sourceTree = SOURCE_ROOT; };
-		B0A6A0635113C4B4CD424BEC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeObject.h; path = ../../Source/Processors/Visualization/SpikeObject.h; sourceTree = SOURCE_ROOT; };
-		7A9A31FC1AE8FB238FAE995E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayCanvas.cpp; path = ../../Source/Processors/Visualization/SpikeDisplayCanvas.cpp; sourceTree = SOURCE_ROOT; };
-		9E884AEDB6035FFC74886EE8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayCanvas.h; path = ../../Source/Processors/Visualization/SpikeDisplayCanvas.h; sourceTree = SOURCE_ROOT; };
-		9ACFB6A181D09434268CE006 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Visualizer.h; path = ../../Source/Processors/Visualization/Visualizer.h; sourceTree = SOURCE_ROOT; };
-		ED179D5A10DD051DDB3ECB8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataWindow.cpp; path = ../../Source/Processors/Visualization/DataWindow.cpp; sourceTree = SOURCE_ROOT; };
-		63C18F4066C75D3C312877D8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataWindow.h; path = ../../Source/Processors/Visualization/DataWindow.h; sourceTree = SOURCE_ROOT; };
-		2E96DA81EE37A0ECE471A928 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayCanvas.cpp; path = ../../Source/Processors/Visualization/LfpDisplayCanvas.cpp; sourceTree = SOURCE_ROOT; };
-		A9C2C7AF037050228CD2E026 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayCanvas.h; path = ../../Source/Processors/Visualization/LfpDisplayCanvas.h; sourceTree = SOURCE_ROOT; };
-		0C5335B0E57C9DC92FC57E5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLCanvas.cpp; path = ../../Source/Processors/Visualization/OpenGLCanvas.cpp; sourceTree = SOURCE_ROOT; };
-		7738F51AE0EC63D76EE0F761 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGLCanvas.h; path = ../../Source/Processors/Visualization/OpenGLCanvas.h; sourceTree = SOURCE_ROOT; };
-		3DD0741FCFBC7563EC722D9B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDetector.cpp; path = ../../Source/Processors/SpikeDetector.cpp; sourceTree = SOURCE_ROOT; };
-		6E4B37AA4BFEB5A37E3AC250 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDetector.h; path = ../../Source/Processors/SpikeDetector.h; sourceTree = SOURCE_ROOT; };
-		B7750B27E4F3748ECCCCF69D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioNode.cpp; path = ../../Source/Processors/AudioNode.cpp; sourceTree = SOURCE_ROOT; };
-		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; };
-		E177F2FF11601F6E11498390 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResamplingNodeEditor.h; path = ../../Source/Processors/Editors/ResamplingNodeEditor.h; sourceTree = SOURCE_ROOT; };
-		7738196148E539781B237854 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAOutputEditor.cpp; path = ../../Source/Processors/Editors/FPGAOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
-		5F43022E89D254273CF827A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAOutputEditor.h; path = ../../Source/Processors/Editors/FPGAOutputEditor.h; sourceTree = SOURCE_ROOT; };
-		DAFD5D2E1F875321584C7147 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ArduinoOutputEditor.cpp; path = ../../Source/Processors/Editors/ArduinoOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
-		5F0DC90995C8E7BB7E3176F7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArduinoOutputEditor.h; path = ../../Source/Processors/Editors/ArduinoOutputEditor.h; sourceTree = SOURCE_ROOT; };
-		51D2678E9F30DC261CCB61B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChannelSelector.cpp; path = ../../Source/Processors/Editors/ChannelSelector.cpp; sourceTree = SOURCE_ROOT; };
-		1A64B7009173729093BA3D96 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChannelSelector.h; path = ../../Source/Processors/Editors/ChannelSelector.h; sourceTree = SOURCE_ROOT; };
-		47ECF9384C1D27EB2FBEBF9E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ParameterEditor.cpp; path = ../../Source/Processors/Editors/ParameterEditor.cpp; sourceTree = SOURCE_ROOT; };
-		07363B9FB8F988D45C4F0FE2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParameterEditor.h; path = ../../Source/Processors/Editors/ParameterEditor.h; sourceTree = SOURCE_ROOT; };
-		F0B09605D4108F0F94EF3B57 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayEditor.cpp; path = ../../Source/Processors/Editors/SpikeDisplayEditor.cpp; sourceTree = SOURCE_ROOT; };
-		2A46D8E3EC7207D969A2B202 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayEditor.h; path = ../../Source/Processors/Editors/SpikeDisplayEditor.h; sourceTree = SOURCE_ROOT; };
-		9A3976537C96B39716B5312D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = VisualizerEditor.cpp; path = ../../Source/Processors/Editors/VisualizerEditor.cpp; sourceTree = SOURCE_ROOT; };
-		C546D55EDE65ADDD95C6A6F5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VisualizerEditor.h; path = ../../Source/Processors/Editors/VisualizerEditor.h; sourceTree = SOURCE_ROOT; };
-		AD73EA6B24378294003DC2D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MergerEditor.cpp; path = ../../Source/Processors/Editors/MergerEditor.cpp; sourceTree = SOURCE_ROOT; };
-		B7FD86B9DA02771D3519FAA0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MergerEditor.h; path = ../../Source/Processors/Editors/MergerEditor.h; sourceTree = SOURCE_ROOT; };
-		544DA1EF90EBBDB6FF2DE0A5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImageIcon.cpp; path = ../../Source/Processors/Editors/ImageIcon.cpp; sourceTree = SOURCE_ROOT; };
-		04AD8DDD47597AE0875ACDD1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ImageIcon.h; path = ../../Source/Processors/Editors/ImageIcon.h; sourceTree = SOURCE_ROOT; };
-		2B11714BCE362D4EA7E377F5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WiFiOutputEditor.cpp; path = ../../Source/Processors/Editors/WiFiOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
-		4E67CFE458501E763FF3AE94 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WiFiOutputEditor.h; path = ../../Source/Processors/Editors/WiFiOutputEditor.h; sourceTree = SOURCE_ROOT; };
-		36393F2D58480F61ECDEB5E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventNodeEditor.cpp; path = ../../Source/Processors/Editors/EventNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
-		A80433BF9686B4E2542C580C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventNodeEditor.h; path = ../../Source/Processors/Editors/EventNodeEditor.h; sourceTree = SOURCE_ROOT; };
-		087136FA6A7A0E01738EEF03 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalGeneratorEditor.cpp; path = ../../Source/Processors/Editors/SignalGeneratorEditor.cpp; sourceTree = SOURCE_ROOT; };
-		10F82563E4A633BC234B2800 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalGeneratorEditor.h; path = ../../Source/Processors/Editors/SignalGeneratorEditor.h; sourceTree = SOURCE_ROOT; };
-		CF9878CE31A1B41406C3457B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayEditor.cpp; path = ../../Source/Processors/Editors/LfpDisplayEditor.cpp; sourceTree = SOURCE_ROOT; };
-		C02C160190E417B42F73680A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayEditor.h; path = ../../Source/Processors/Editors/LfpDisplayEditor.h; sourceTree = SOURCE_ROOT; };
-		FC5939F3D2A31BB43EA3E393 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SourceNodeEditor.cpp; path = ../../Source/Processors/Editors/SourceNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
-		62DA962299323A2FA134203D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SourceNodeEditor.h; path = ../../Source/Processors/Editors/SourceNodeEditor.h; sourceTree = SOURCE_ROOT; };
-		C2ED801EA28FBA9764E76349 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SplitterEditor.cpp; path = ../../Source/Processors/Editors/SplitterEditor.cpp; sourceTree = SOURCE_ROOT; };
-		C177B371A0CEC8E7B9131865 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SplitterEditor.h; path = ../../Source/Processors/Editors/SplitterEditor.h; sourceTree = SOURCE_ROOT; };
-		399CBACE291A425A2B9497EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDetectorEditor.cpp; path = ../../Source/Processors/Editors/SpikeDetectorEditor.cpp; sourceTree = SOURCE_ROOT; };
-		7FC3C64A06A9FA2C828F8744 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDetectorEditor.h; path = ../../Source/Processors/Editors/SpikeDetectorEditor.h; sourceTree = SOURCE_ROOT; };
-		5DDBEE64DC706CE804E5F0AA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioEditor.cpp; path = ../../Source/Processors/Editors/AudioEditor.cpp; sourceTree = SOURCE_ROOT; };
-		303B2522EAC7CD3C33EF150C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioEditor.h; path = ../../Source/Processors/Editors/AudioEditor.h; sourceTree = SOURCE_ROOT; };
-		35AFD01064BF29D90EEDF413 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterEditor.cpp; path = ../../Source/Processors/Editors/FilterEditor.cpp; sourceTree = SOURCE_ROOT; };
-		AD4BF1BC602902B20AEBF49C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterEditor.h; path = ../../Source/Processors/Editors/FilterEditor.h; sourceTree = SOURCE_ROOT; };
-		22FD0613BADE6C36A6A7A25C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericEditor.cpp; path = ../../Source/Processors/Editors/GenericEditor.cpp; sourceTree = SOURCE_ROOT; };
-		F0B8C75B1AA6E8D1BC620653 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericEditor.h; path = ../../Source/Processors/Editors/GenericEditor.h; sourceTree = SOURCE_ROOT; };
-		0D2903C450AE862C2C0060AA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FileReaderThread.cpp; path = ../../Source/Processors/DataThreads/FileReaderThread.cpp; sourceTree = SOURCE_ROOT; };
-		BD07C36AC2ECF10942F0A229 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReaderThread.h; path = ../../Source/Processors/DataThreads/FileReaderThread.h; sourceTree = SOURCE_ROOT; };
-		24616D6D2297C87D371B0363 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = okFrontPanelDLL.cpp; path = ../../Source/Processors/DataThreads/okFrontPanelDLL.cpp; sourceTree = SOURCE_ROOT; };
-		AA7B88F969CE43331035DE98 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = okFrontPanelDLL.h; path = ../../Source/Processors/DataThreads/okFrontPanelDLL.h; sourceTree = SOURCE_ROOT; };
-		6B156D132738F6C7C948378F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkThread.cpp; path = ../../Source/Processors/DataThreads/NetworkThread.cpp; sourceTree = SOURCE_ROOT; };
-		7BD204C890F9A2F301B15128 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkThread.h; path = ../../Source/Processors/DataThreads/NetworkThread.h; sourceTree = SOURCE_ROOT; };
-		A9142BFEFE7EB34D919ED0A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAThread.cpp; path = ../../Source/Processors/DataThreads/FPGAThread.cpp; sourceTree = SOURCE_ROOT; };
-		46E436D1B9538DB8487F0D8D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAThread.h; path = ../../Source/Processors/DataThreads/FPGAThread.h; sourceTree = SOURCE_ROOT; };
-		F20726FD9F586FDE2CB42901 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataBuffer.cpp; path = ../../Source/Processors/DataThreads/DataBuffer.cpp; sourceTree = SOURCE_ROOT; };
-		F062CCE0FB40E6C65A6493F4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataBuffer.h; path = ../../Source/Processors/DataThreads/DataBuffer.h; sourceTree = SOURCE_ROOT; };
-		6D94C2733E967EC6A91B719A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IntanThread.cpp; path = ../../Source/Processors/DataThreads/IntanThread.cpp; sourceTree = SOURCE_ROOT; };
-		21C560B017F1C0A48B950155 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IntanThread.h; path = ../../Source/Processors/DataThreads/IntanThread.h; sourceTree = SOURCE_ROOT; };
-		72123888A7DD78159AA032AF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataThread.cpp; path = ../../Source/Processors/DataThreads/DataThread.cpp; sourceTree = SOURCE_ROOT; };
-		2164BFCDF57A5AA752CAA3A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataThread.h; path = ../../Source/Processors/DataThreads/DataThread.h; sourceTree = SOURCE_ROOT; };
-		B96BF02034F29DE033F16D89 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordNode.cpp; path = ../../Source/Processors/RecordNode.cpp; sourceTree = SOURCE_ROOT; };
-		FC83C3CD6DC717911B2C3C20 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordNode.h; path = ../../Source/Processors/RecordNode.h; sourceTree = SOURCE_ROOT; };
-		EBB0E5058615EA1FEDADF189 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalGenerator.cpp; path = ../../Source/Processors/SignalGenerator.cpp; sourceTree = SOURCE_ROOT; };
-		E0883576683119727BD54A81 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalGenerator.h; path = ../../Source/Processors/SignalGenerator.h; sourceTree = SOURCE_ROOT; };
-		5AE7693391C43B4AE475789C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ResamplingNode.cpp; path = ../../Source/Processors/ResamplingNode.cpp; sourceTree = SOURCE_ROOT; };
-		C87B84BA79CB9EE547E8762C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResamplingNode.h; path = ../../Source/Processors/ResamplingNode.h; sourceTree = SOURCE_ROOT; };
-		D2342EA3BD783D3A81006606 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterNode.cpp; path = ../../Source/Processors/FilterNode.cpp; sourceTree = SOURCE_ROOT; };
-		2CCD3BBDF86EA8D149DAD758 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterNode.h; path = ../../Source/Processors/FilterNode.h; sourceTree = SOURCE_ROOT; };
-		7EAD8082130C2384BA9E1206 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SourceNode.cpp; path = ../../Source/Processors/SourceNode.cpp; sourceTree = SOURCE_ROOT; };
-		7BD1C1A7C30ED736F4816C31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SourceNode.h; path = ../../Source/Processors/SourceNode.h; sourceTree = SOURCE_ROOT; };
-		CECE2AB5D5F36CADBC3219A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericProcessor.cpp; path = ../../Source/Processors/GenericProcessor.cpp; sourceTree = SOURCE_ROOT; };
-		C4197FDA1B4D4F1D58F6A5A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericProcessor.h; path = ../../Source/Processors/GenericProcessor.h; sourceTree = SOURCE_ROOT; };
-		C4DA9685E5637B03F00E5E79 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessorGraph.cpp; path = ../../Source/Processors/ProcessorGraph.cpp; sourceTree = SOURCE_ROOT; };
-		3B60787E97C74E78853DC90F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProcessorGraph.h; path = ../../Source/Processors/ProcessorGraph.h; sourceTree = SOURCE_ROOT; };
-		E1C6E67757EC5D68093BD760 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditorViewportButtons.cpp; path = ../../Source/UI/EditorViewportButtons.cpp; sourceTree = SOURCE_ROOT; };
-		2BC65E923E245AE23AE7BB8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorViewportButtons.h; path = ../../Source/UI/EditorViewportButtons.h; sourceTree = SOURCE_ROOT; };
-		6CD0D896FEB77B261C62447E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalChainManager.cpp; path = ../../Source/UI/SignalChainManager.cpp; sourceTree = SOURCE_ROOT; };
-		182F8F9073A2007403C10C51 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalChainManager.h; path = ../../Source/UI/SignalChainManager.h; sourceTree = SOURCE_ROOT; };
-		EB824B60F600C19193ADFA5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditorViewport.cpp; path = ../../Source/UI/EditorViewport.cpp; sourceTree = SOURCE_ROOT; };
-		54A33424E41D55153F6EB422 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorViewport.h; path = ../../Source/UI/EditorViewport.h; sourceTree = SOURCE_ROOT; };
-		B28CC9409188C9A200AAAFFC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessorList.cpp; path = ../../Source/UI/ProcessorList.cpp; sourceTree = SOURCE_ROOT; };
-		242E7E62B8641B1224E25442 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProcessorList.h; path = ../../Source/UI/ProcessorList.h; sourceTree = SOURCE_ROOT; };
-		A32D8455B95FD230EBFD7891 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CustomLookAndFeel.cpp; path = ../../Source/UI/CustomLookAndFeel.cpp; sourceTree = SOURCE_ROOT; };
-		F70641473A3E7C0DC5168858 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CustomLookAndFeel.h; path = ../../Source/UI/CustomLookAndFeel.h; sourceTree = SOURCE_ROOT; };
-		AA00883DC021E36B7EFDAC43 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InfoLabel.cpp; path = ../../Source/UI/InfoLabel.cpp; sourceTree = SOURCE_ROOT; };
-		1561F28CD560AB8F2E177628 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InfoLabel.h; path = ../../Source/UI/InfoLabel.h; sourceTree = SOURCE_ROOT; };
-		B977C2809B309C8038CB5D95 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataViewport.cpp; path = ../../Source/UI/DataViewport.cpp; sourceTree = SOURCE_ROOT; };
-		877F9F9DA7A1B51D3EDCBC07 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataViewport.h; path = ../../Source/UI/DataViewport.h; sourceTree = SOURCE_ROOT; };
-		EEDA71600D817BF9444FE3E7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MessageCenter.cpp; path = ../../Source/UI/MessageCenter.cpp; sourceTree = SOURCE_ROOT; };
-		4EE6CA70F229EDE04E7E320B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MessageCenter.h; path = ../../Source/UI/MessageCenter.h; sourceTree = SOURCE_ROOT; };
-		5AB4A3A63B9FDEAB09EEC9C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ControlPanel.cpp; path = ../../Source/UI/ControlPanel.cpp; sourceTree = SOURCE_ROOT; };
-		3B70B21129D91B16A2F1CE80 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ControlPanel.h; path = ../../Source/UI/ControlPanel.h; sourceTree = SOURCE_ROOT; };
-		2A78F719BAFBDCD63AE9A88A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UIComponent.cpp; path = ../../Source/UI/UIComponent.cpp; sourceTree = SOURCE_ROOT; };
-		DB605BA15852F367DF625300 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UIComponent.h; path = ../../Source/UI/UIComponent.h; sourceTree = SOURCE_ROOT; };
-		77F2E2E7A2419CB172C0B1EA = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainWindow.cpp; path = ../../Source/MainWindow.cpp; sourceTree = SOURCE_ROOT; };
-		3E3E4F25C71B800C97AC63B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainWindow.h; path = ../../Source/MainWindow.h; sourceTree = SOURCE_ROOT; };
-		19D5134F99CC551B01D5A7EF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
-		BDB56CA7F08DC7EFABBF7846 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
-		753133530248EC4F00CBECA6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
-		B56D08AB6374C811F59D760C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
-		9BFC7532965901165C9DDB07 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
-		898385F65E64BF6D609B3BF2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
-		C3B95EF26B5F3281447FCF42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
-		1CD026FD773BB5A428624381 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
-		55F7FFF9942627D7FC46C6C1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
-		2D8E1C366F21D3C8FE662382 = { isa = PBXGroup; children = (
-				79892A4E41809A09A4711AC3,
-				1B2C20F6F1F1BCF9115F8D53,
-				C586714DD22C96F569FDC716,
-				8E7AA0EF1B95BC771FBB10A0,
-				E79C104CD58BBBD5368EEF5A,
-				060C55E19A414F464C499A47,
-				50F20268C4572493BB04D269,
-				50D4782F4555FED294F40705,
-				4974E0E46141648F106A818F,
-				35352AD0E7B59E35BC3B5F59,
-				44303AB487040AE4B60DCAD5,
-				C2A7939DF5ED600BBB2F30C4,
-				F8CAE2412B173788F325BD8B,
-				363B59958615D35C5C948300 ); name = Fonts; sourceTree = "<group>"; };
-		891C5A157F059822288EDC9F = { isa = PBXGroup; children = (
-				C2C96A81B4033338679E6EFB,
-				A582462316439858552387F7,
-				9CAD123471BE2E6ED4A96C3B,
-				4DB02C352236D9D030E01205,
-				EEAB043F90902D8F9D1102C2,
-				8086EC3AFDEA802E0B43F19E,
-				2171C4356B44D4CD6865E06B,
-				C25CAC3FC9AE387CD597DF37,
-				59CAEFDE36164ABB19B3CA76,
-				E0587F61AD4A92C2661E5073,
-				87F60F05136FEBD8A36AE670,
-				1E849F999A8333FFF0B57C6D,
-				A5231F3D01B88C063D10026A,
-				40A802FCEDFDE7B2FFEBDEA8,
-				8A3AE5CF9D452810BA48A3EF,
-				B3CDC8825DAD5A7D75956726,
-				ED50AB550D058BEB30F12C7D,
-				17E38F29BD6CBC490B5EF1B4,
-				D95C78F42494CD5995FBC15E,
-				20B50BC2221C593AC67D80F8,
-				771E8D912F94E52AF7E05F91,
-				CE771F502D1D710B28632E3A,
-				05D0A12F2A850EEC48D5EDD4,
-				8F8F55DD042F61BB213AFC0B,
-				7C09194091360867C4CAB0E8,
-				126B0DE9B8D4E42DA7D57AAB,
-				BDFFB5B0A8E8A022C25D7FDB,
-				3D20C932FB058CC20989B129,
-				8E041C8C49F1A5B710CC812C,
-				2A1D9144C59B92B32483924B,
-				D99F56FB46F631F67AF23F2C,
-				66C7E42D7FDE3600982A1F46,
-				A4C8AB3F5E7A708350F72E7C ); name = Icons; sourceTree = "<group>"; };
-		3392BC2D90C96126B6D3EDA0 = { isa = PBXGroup; children = (
-				BD0900C3A85F58C34FA91D16,
-				1BDA9647E0AA33F642E162BE,
-				D2D308542534D043BB12C801,
-				9CD0E7C2C7E49A0DBF301B0F,
-				BAAA02122ADD1D5D0670A684,
-				73A7E17FDD8DD717F99E0882,
-				2A54E3D28E10F5D50498BB77,
-				294B78ADA337603DE3C87BF9,
-				8AD9A0F023B727B34348B95E,
-				89CF25CB48EEA21B226869E1 ); name = Buttons; sourceTree = "<group>"; };
-		4E8DA551A1B5D7A2B1229181 = { isa = PBXGroup; children = (
-				891C5A157F059822288EDC9F,
-				3392BC2D90C96126B6D3EDA0 ); name = Images; sourceTree = "<group>"; };
-		1640CC946EDFD5EC9A321954 = { isa = PBXGroup; children = (
-				2D8E1C366F21D3C8FE662382,
-				4E8DA551A1B5D7A2B1229181 ); name = Resources; sourceTree = "<group>"; };
-		21721C7CD4451993F10354CB = { isa = PBXGroup; children = (  ); name = Plugins; sourceTree = "<group>"; };
-		8F98BACF97340868397BA4BB = { isa = PBXGroup; children = (
-				673778A175624FC9F52E7A15,
-				2EAE0475B719C3233AD8BB35 ); name = Network; sourceTree = "<group>"; };
-		B3AB794228C0205240A8F72E = { isa = PBXGroup; children = (
-				B30EF131FE61BAA4C1818102,
-				D55947E71EB4AF25C1FC7089,
-				07AE46453303977ED64E38ED,
-				9EBBC43B9522EC9E6B607493,
-				73C6FF74D6A31CA13C0D7C5C,
-				8B70886CFCD13A761567DE7B,
-				742284C84C72C882E02E7974,
-				2B8E059E57EB92EAC589C6B4,
-				D44DBE2FF15A98834F222766,
-				553E92DB60C7D5104B780781,
-				1F9836FC5A8FDF2293C9A232,
-				833030703B66CDD9DA94155B,
-				F7620D8D567CCE463ADDE0A6,
-				93FACAE1DC7A236505359477,
-				E4AEAC4AD1D1C6A80A2CD70A,
-				3E8E2F9C583077B298525FD1,
-				CD05957EC804348231739108,
-				E8214D83845C25F39EEC13CD,
-				21E5288817625724406FD3A1,
-				293B003BD6E113C5AD1BB131,
-				60F060DBD5ACF36E0A407BC1,
-				A9AF10F6A89F85989C62F856,
-				7C225F446A96BED7F585F66B,
-				314D53C7C13C28A25588ABCF,
-				706CBE9178440675868F2379,
-				1EC547C25C29FE679BAF8B4D,
-				4D63E86C8A9F721B9C0FA95E,
-				BF8EB3483F66AA7F61E6D863,
-				1E0F3076D1689E83422F6B4E,
-				137CF1AB4144076D79D50975,
-				5B1D08D98AD9F623962A38B2,
-				E6FF4D4C70794123A52B9E82,
-				E8503A3E123FCFBFA317EAE6,
-				F4A53064BA75472765338C1D,
-				1D1DF895F34C981407EDB8E8,
-				1F5435604926FF2C06575DCC,
-				0D20C3399D0492771F7A808A,
-				186F011C1ABC55DB39717105,
-				92C241C7F87B5933B0E6E03F,
-				E27B5891A52FDAB2B00901A0 ); name = Dsp; sourceTree = "<group>"; };
-		FFA2631FEEE7932BE08907A6 = { isa = PBXGroup; children = (
-				F74662D3D82975EDB5AD42E0,
-				FA55B9FDE138CCB1F16BA905 ); name = Audio; sourceTree = "<group>"; };
-		49AED3DB3EC67F7DF624D4D9 = { isa = PBXGroup; children = (
-				06AB64E97A05B800349E7E23,
-				482AFCBBC28835A9548101B1,
-				96D33A963CAAEEAB8770F2A3,
-				3022191E4C192BC10670B935,
-				AED49EC9B45C93F39002B4B9 ); name = Serial; sourceTree = "<group>"; };
-		20FFF487B65BF8567EFE70F8 = { isa = PBXGroup; children = (
-				9EE49894F14895CEA36FD0F4,
-				0998E3F08E61271CE0FA930C,
-				3973173C7FA07073B4F86B29,
-				7977CAB4A151C41F4140FE1A,
-				9A47B52E5E1CD17DC9C72B53,
-				B92E8189F69E0B926C73B654 ); name = Utilities; sourceTree = "<group>"; };
-		1255E9B28ADAA1A1CADC4A6E = { isa = PBXGroup; children = (
-				C96A8F49EA22919F09486B96,
-				06B051747D84858D9C5C0444,
-				41591F74A761BAC908FA8AD8,
-				9C8EA29582DBFF6E5A14B8A3,
-				24C6D768C87E1C42C644C4BD,
-				BCBB865ED53E8AFD278D1A53,
-				B195AD6CEB9B6E3625C8D087,
-				521FECC75E9DDB0D34B22AF8,
-				2FA2FA826CBAD9C639A61E4A,
-				B1CF7BFC5F1892735D4FA1EE,
-				50E7B88E8140BB293B27ED67,
-				9F208A66C09E80D14F087CB1,
-				A3F978AE6999903C47650173 ); name = SpikePlotting; sourceTree = "<group>"; };
-		15543D7982B26B70879960F4 = { isa = PBXGroup; children = (
-				1255E9B28ADAA1A1CADC4A6E,
-				E7247F5EE9588903C924994F,
-				B0A6A0635113C4B4CD424BEC,
-				7A9A31FC1AE8FB238FAE995E,
-				9E884AEDB6035FFC74886EE8,
-				9ACFB6A181D09434268CE006,
-				ED179D5A10DD051DDB3ECB8B,
-				63C18F4066C75D3C312877D8,
-				2E96DA81EE37A0ECE471A928,
-				A9C2C7AF037050228CD2E026,
-				0C5335B0E57C9DC92FC57E5F,
-				7738F51AE0EC63D76EE0F761 ); name = Visualization; sourceTree = "<group>"; };
-		953CC35B9116404D6AA8D1C7 = { isa = PBXGroup; children = (
-				AF4469EAC57A21DD7241C9A4,
-				61CA6A2E58E2025508D42FCF,
-				4D0B72C9F22FDB15C608CF20,
-				E545022A6355CD2E92DE67C5,
-				EE3AAE8BD520868168064D38,
-				E177F2FF11601F6E11498390,
-				7738196148E539781B237854,
-				5F43022E89D254273CF827A5,
-				DAFD5D2E1F875321584C7147,
-				5F0DC90995C8E7BB7E3176F7,
-				51D2678E9F30DC261CCB61B0,
-				1A64B7009173729093BA3D96,
-				47ECF9384C1D27EB2FBEBF9E,
-				07363B9FB8F988D45C4F0FE2,
-				F0B09605D4108F0F94EF3B57,
-				2A46D8E3EC7207D969A2B202,
-				9A3976537C96B39716B5312D,
-				C546D55EDE65ADDD95C6A6F5,
-				AD73EA6B24378294003DC2D0,
-				B7FD86B9DA02771D3519FAA0,
-				544DA1EF90EBBDB6FF2DE0A5,
-				04AD8DDD47597AE0875ACDD1,
-				2B11714BCE362D4EA7E377F5,
-				4E67CFE458501E763FF3AE94,
-				36393F2D58480F61ECDEB5E5,
-				A80433BF9686B4E2542C580C,
-				087136FA6A7A0E01738EEF03,
-				10F82563E4A633BC234B2800,
-				CF9878CE31A1B41406C3457B,
-				C02C160190E417B42F73680A,
-				FC5939F3D2A31BB43EA3E393,
-				62DA962299323A2FA134203D,
-				C2ED801EA28FBA9764E76349,
-				C177B371A0CEC8E7B9131865,
-				399CBACE291A425A2B9497EF,
-				7FC3C64A06A9FA2C828F8744,
-				5DDBEE64DC706CE804E5F0AA,
-				303B2522EAC7CD3C33EF150C,
-				35AFD01064BF29D90EEDF413,
-				AD4BF1BC602902B20AEBF49C,
-				22FD0613BADE6C36A6A7A25C,
-				F0B8C75B1AA6E8D1BC620653 ); name = Editors; sourceTree = "<group>"; };
-		A1AD89D398583E71F6ED8A6E = { isa = PBXGroup; children = (
-				0D2903C450AE862C2C0060AA,
-				BD07C36AC2ECF10942F0A229,
-				24616D6D2297C87D371B0363,
-				AA7B88F969CE43331035DE98,
-				6B156D132738F6C7C948378F,
-				7BD204C890F9A2F301B15128,
-				A9142BFEFE7EB34D919ED0A0,
-				46E436D1B9538DB8487F0D8D,
-				F20726FD9F586FDE2CB42901,
-				F062CCE0FB40E6C65A6493F4,
-				6D94C2733E967EC6A91B719A,
-				21C560B017F1C0A48B950155,
-				72123888A7DD78159AA032AF,
-				2164BFCDF57A5AA752CAA3A2 ); name = DataThreads; sourceTree = "<group>"; };
-		33A88A7C3FF426F051834D6A = { isa = PBXGroup; children = (
-				3E794D3BDE12790A2373836A,
-				092C479F4C92AF2FEBE5A11A,
-				EF2AF97E68B2C2428A835836,
-				552B1370E46646B6B1D40CF8,
-				2AFAED9379D050629F34C033,
-				530B262BE169DC42E8F505EA,
-				F040256D2E74A61F4F08B148,
-				8C8C2A42B36655796DCFBAC2,
-				49AED3DB3EC67F7DF624D4D9,
-				90E8F4BDA3DBA5F8D78A2AB0,
-				5E2258F02911313F494357BF,
-				3261B4AE147B49EEE9341CF8,
-				C04E6EDA980CDC09DF061D66,
-				C42446F8ABB3627870E9677D,
-				5779673F042A62E02C4AC06B,
-				751C52F2BEA7F1328ED13333,
-				7B825983F25D8984E02F6FFB,
-				4AEDD076CCA918481C6F9CF2,
-				671CC5EA3DF4F21E9A7E392B,
-				268005410FB62BCB9099A762,
-				32959675287F77DD9B7FA96B,
-				5935F823A2EE45AC36A0201F,
-				B00F207EBEED525FB686AD98,
-				20FFF487B65BF8567EFE70F8,
-				15543D7982B26B70879960F4,
-				3DD0741FCFBC7563EC722D9B,
-				6E4B37AA4BFEB5A37E3AC250,
-				B7750B27E4F3748ECCCCF69D,
-				12866D44BE115E8837468F48,
-				FA57CE4F63FF1592D6B3F9B5,
-				32163C956C8A6F5C1DD7FE7F,
-				953CC35B9116404D6AA8D1C7,
-				A1AD89D398583E71F6ED8A6E,
-				B96BF02034F29DE033F16D89,
-				FC83C3CD6DC717911B2C3C20,
-				EBB0E5058615EA1FEDADF189,
-				E0883576683119727BD54A81,
-				5AE7693391C43B4AE475789C,
-				C87B84BA79CB9EE547E8762C,
-				D2342EA3BD783D3A81006606,
-				2CCD3BBDF86EA8D149DAD758,
-				7EAD8082130C2384BA9E1206,
-				7BD1C1A7C30ED736F4816C31,
-				CECE2AB5D5F36CADBC3219A2,
-				C4197FDA1B4D4F1D58F6A5A0,
-				C4DA9685E5637B03F00E5E79,
-				3B60787E97C74E78853DC90F ); name = Processors; sourceTree = "<group>"; };
-		DA0DBF6B29B99364A145484A = { isa = PBXGroup; children = (
-				E1C6E67757EC5D68093BD760,
-				2BC65E923E245AE23AE7BB8B,
-				6CD0D896FEB77B261C62447E,
-				182F8F9073A2007403C10C51,
-				EB824B60F600C19193ADFA5F,
-				54A33424E41D55153F6EB422,
-				B28CC9409188C9A200AAAFFC,
-				242E7E62B8641B1224E25442,
-				A32D8455B95FD230EBFD7891,
-				F70641473A3E7C0DC5168858,
-				AA00883DC021E36B7EFDAC43,
-				1561F28CD560AB8F2E177628,
-				B977C2809B309C8038CB5D95,
-				877F9F9DA7A1B51D3EDCBC07,
-				EEDA71600D817BF9444FE3E7,
-				4EE6CA70F229EDE04E7E320B,
-				5AB4A3A63B9FDEAB09EEC9C8,
-				3B70B21129D91B16A2F1CE80,
-				2A78F719BAFBDCD63AE9A88A,
-				DB605BA15852F367DF625300 ); name = UI; sourceTree = "<group>"; };
-		98D3BECE25EB3CF1F64F54B4 = { isa = PBXGroup; children = (
-				21721C7CD4451993F10354CB,
-				CA0A1584725D21237DBCD70A,
-				63992CB3AC42F91A51135EAC,
-				8F98BACF97340868397BA4BB,
-				B3AB794228C0205240A8F72E,
-				FFA2631FEEE7932BE08907A6,
-				33A88A7C3FF426F051834D6A,
-				DA0DBF6B29B99364A145484A,
-				77F2E2E7A2419CB172C0B1EA,
-				3E3E4F25C71B800C97AC63B9,
-				19D5134F99CC551B01D5A7EF ); name = Source; sourceTree = "<group>"; };
-		1BAC20F9B88EE03AB534ED66 = { isa = PBXGroup; children = (
-				BDB56CA7F08DC7EFABBF7846,
-				753133530248EC4F00CBECA6,
-				B56D08AB6374C811F59D760C,
-				9BFC7532965901165C9DDB07,
-				898385F65E64BF6D609B3BF2,
-				C3B95EF26B5F3281447FCF42,
-				1CD026FD773BB5A428624381,
-				55F7FFF9942627D7FC46C6C1 ); name = "Juce Library Code"; sourceTree = "<group>"; };
-		D01A90ED1DFB15778648E288 = { isa = PBXGroup; children = (
-				D91BA61C12BFEBE59B577805 ); name = Resources; sourceTree = "<group>"; };
-		F3C957A2F364B760F6959DE9 = { isa = PBXGroup; children = (
-				FAB58A8AE7DCBAC0CF311D14,
-				39FAF9808D0EFB6C8170D8B8,
-				0B661DF3EFF63CFFCCA76AF4,
-				A9B11C1B693E380C29F53F78,
-				D08C5BF3FF3AC38C2BB5F921,
-				6A67346CD9B6D590108C7B6E,
-				9AFA895DFA2087804F47ECF9,
-				54662C69F6AA71B55D68F12E,
-				191441B631182A346D494BB5,
-				1CBCB9D2FE5B967D93785E75,
-				BF41F256D0C244C2C02AE6E1 ); name = Frameworks; sourceTree = "<group>"; };
-		0ECE243E52A42297D09AE145 = { isa = PBXGroup; children = (
-				0837481AD187A1E6CBCAC577 ); name = Products; sourceTree = "<group>"; };
-		4EC15B00A5B83F4BF29C25C5 = { isa = PBXGroup; children = (
-				1640CC946EDFD5EC9A321954,
-				98D3BECE25EB3CF1F64F54B4,
-				1BAC20F9B88EE03AB534ED66,
-				D01A90ED1DFB15778648E288,
-				F3C957A2F364B760F6959DE9,
-				0ECE243E52A42297D09AE145 ); name = Source; sourceTree = "<group>"; };
-		C3E8FB47D6069235EA9D6FD7 = { isa = XCBuildConfiguration; buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
-				PREBINDING = NO;
-				HEADER_SEARCH_PATHS = "/usr/local/include /usr/local/include/freetype2 $(inherited)";
-				GCC_OPTIMIZATION_LEVEL = 0;
-				INFOPLIST_FILE = Info.plist;
-				INSTALL_PATH = "$(HOME)/Applications";
-				MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
-				OTHER_LDFLAGS = "-lftdi -lftgl";
-				ONLY_ACTIVE_ARCH = YES;
-				COPY_PHASE_STRIP = NO;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-				"_DEBUG=1",
-				"DEBUG=1",
-				"JUCE_ObjCExtraSuffix=fea2mT",
-				"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; };
-		5D7484BAF16E272FF0E9EEAE = { isa = XCBuildConfiguration; buildSettings = {
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
-				PREBINDING = NO;
-				HEADER_SEARCH_PATHS = "/usr/local/include /usr/local/include/freetype2 $(inherited)";
-				GCC_OPTIMIZATION_LEVEL = 3;
-				INFOPLIST_FILE = Info.plist;
-				INSTALL_PATH = "$(HOME)/Applications";
-				MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
-				OTHER_LDFLAGS = "-lftdi -lftgl";
-				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-				"_NDEBUG=1",
-				"NDEBUG=1",
-				"JUCE_ObjCExtraSuffix=fea2mT",
-				"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Release; };
-		4E274274B609972E0988736B = { isa = XCBuildConfiguration; buildSettings = {
+/* Begin PBXBuildFile section */
+		03932AC6269AFA895DFA2087 /* ResamplingNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5AE7693391C43B4AE475789C /* ResamplingNode.cpp */; };
+		05339DCA8C59B707E61F1F2E /* JuceLibraryCode4.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55F7FFF9942627D7FC46C6C1 /* JuceLibraryCode4.mm */; };
+		073B178E7EF1759BA0AACCCE /* OpenGLCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0C5335B0E57C9DC92FC57E5F /* OpenGLCanvas.cpp */; };
+		08B501E0D7764C6B613AF529 /* AudioNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B7750B27E4F3748ECCCCF69D /* AudioNode.cpp */; };
+		09AC8D29A08EE1FFBC4ADB23 /* JuceLibraryCode3.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CD026FD773BB5A428624381 /* JuceLibraryCode3.mm */; };
+		09E5633D492B59E418AC11C9 /* AccessClass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CA0A1584725D21237DBCD70A /* AccessClass.cpp */; };
+		0BBDB7C2B8CE82F1B0844B70 /* Documentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E8214D83845C25F39EEC13CD /* Documentation.cpp */; };
+		116BB2F62451986C75586F9D /* ControlPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5AB4A3A63B9FDEAB09EEC9C8 /* ControlPanel.cpp */; };
+		11885833D32D03BA7E17138A /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AFA895DFA2087804F47ECF9 /* DiscRecording.framework */; };
+		125C853C87498E12942A898C /* ReferenceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E794D3BDE12790A2373836A /* ReferenceNode.cpp */; };
+		13457B3248E7646270A4FF88 /* CustomLookAndFeel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A32D8455B95FD230EBFD7891 /* CustomLookAndFeel.cpp */; };
+		14BE1E76E7BB3593A5F66DCC /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF41F256D0C244C2C02AE6E1 /* QuickTime.framework */; };
+		14E9BBD79F22198FE23EB88A /* RBJ.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6FF4D4C70794123A52B9E82 /* RBJ.cpp */; };
+		1F301384375DA0F3652C01DA /* UIComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A78F719BAFBDCD63AE9A88A /* UIComponent.cpp */; };
+		1F67A9ACD509FB4DC5A633DF /* SpikeDisplayNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AEDD076CCA918481C6F9CF2 /* SpikeDisplayNode.cpp */; };
+		203EA3786F7928C0386FFAC2 /* SplitterEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2ED801EA28FBA9764E76349 /* SplitterEditor.cpp */; };
+		25D4C87F4C7C842B0522DA5F /* okFrontPanelDLL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24616D6D2297C87D371B0363 /* okFrontPanelDLL.cpp */; };
+		28E4724351374881E83BD69C /* SpikeDetectorEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 399CBACE291A425A2B9497EF /* SpikeDetectorEditor.cpp */; };
+		2ADE508EC26B703176ED915C /* EventNodeEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36393F2D58480F61ECDEB5E5 /* EventNodeEditor.cpp */; };
+		2C6D200191B27DDF088B3089 /* Bessel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B30EF131FE61BAA4C1818102 /* Bessel.cpp */; };
+		2EC3E064E5849D2FDD9BBDBE /* SignalChainManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6CD0D896FEB77B261C62447E /* SignalChainManager.cpp */; };
+		2F21546229BEF148C74ECA45 /* FPGAThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9142BFEFE7EB34D919ED0A0 /* FPGAThread.cpp */; };
+		37F9B7C362F6F31231D10927 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9B11C1B693E380C29F53F78 /* CoreAudio.framework */; };
+		3B146B8898CEE9965A9A0FB8 /* FilterEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35AFD01064BF29D90EEDF413 /* FilterEditor.cpp */; };
+		3D3A992E10308BA189CECE05 /* SpikePlot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C96A8F49EA22919F09486B96 /* SpikePlot.cpp */; };
+		40FFED3C981ED12AA4EA0AA0 /* Legendre.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 706CBE9178440675868F2379 /* Legendre.cpp */; };
+		448F8ACAAE9A5354E4E013E8 /* AudioResamplingNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2AFAED9379D050629F34C033 /* AudioResamplingNode.cpp */; };
+		49DA796E77871A124D5F49C1 /* Param.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF8EB3483F66AA7F61E6D863 /* Param.cpp */; };
+		49F046C8BE137BF77338DD7B /* PlotUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B195AD6CEB9B6E3625C8D087 /* PlotUtils.cpp */; };
+		4A00153E1E69A74BC6B7D8A6 /* Merger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3973173C7FA07073B4F86B29 /* Merger.cpp */; };
+		4ACF816CB5CDB285D8005AB8 /* AudioComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F74662D3D82975EDB5AD42E0 /* AudioComponent.cpp */; };
+		4BE0DDA01B73223EF0BD934A /* SpikeDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DD0741FCFBC7563EC722D9B /* SpikeDetector.cpp */; };
+		4DA172021AB3AB88E70FAF99 /* MainWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77F2E2E7A2419CB172C0B1EA /* MainWindow.cpp */; };
+		513EF1439498856E0C8C697E /* SignalGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBB0E5058615EA1FEDADF189 /* SignalGenerator.cpp */; };
+		55A240CCFCD604CA8DF8FC8C /* BaseUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41591F74A761BAC908FA8AD8 /* BaseUIElement.cpp */; };
+		566E42D2B7105CFB4DB45170 /* ProjectionAxes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FA2FA826CBAD9C639A61E4A /* ProjectionAxes.cpp */; };
+		5D5CAF52A5498EEFB8EA924D /* SourceNodeEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FC5939F3D2A31BB43EA3E393 /* SourceNodeEditor.cpp */; };
+		5E07E54EEF69F5BEDE84D535 /* EditorViewportButtons.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1C6E67757EC5D68093BD760 /* EditorViewportButtons.cpp */; };
+		5EE932D782BFB7100D014399 /* Cascade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 742284C84C72C882E02E7974 /* Cascade.cpp */; };
+		5F102AE69FB814467A298A97 /* BinaryData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B56D08AB6374C811F59D760C /* BinaryData.cpp */; };
+		5F13B8FFB1584BFF6C05AD39 /* Splitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A47B52E5E1CD17DC9C72B53 /* Splitter.cpp */; };
+		60FF6BBFC1E9255F190C3146 /* RecordNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B96BF02034F29DE033F16D89 /* RecordNode.cpp */; };
+		6125D1F24D314D771E3A350E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAB58A8AE7DCBAC0CF311D14 /* Cocoa.framework */; };
+		632C915D01C42D27E828BFA9 /* ParameterEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47ECF9384C1D27EB2FBEBF9E /* ParameterEditor.cpp */; };
+		63E5D65E7B097CADB277DBB6 /* GenericProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CECE2AB5D5F36CADBC3219A2 /* GenericProcessor.cpp */; };
+		67343B589F0FF80FF8750F29 /* ofArduino.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 06AB64E97A05B800349E7E23 /* ofArduino.cpp */; };
+		6F41ED502815AAF2F2EAB8B7 /* ResamplingNodeEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE3AAE8BD520868168064D38 /* ResamplingNodeEditor.cpp */; };
+		717D108DC8B2379D556C4B2F /* Parameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 751C52F2BEA7F1328ED13333 /* Parameter.cpp */; };
+		7659F31912D12C91E9554909 /* SpikeDisplayCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A9A31FC1AE8FB238FAE995E /* SpikeDisplayCanvas.cpp */; };
+		8025F04ED261C7F7D2DC0F06 /* GenericAxes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24C6D768C87E1C42C644C4BD /* GenericAxes.cpp */; };
+		881EDBF5D2D6FD7B53B71182 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CBCB9D2FE5B967D93785E75 /* QTKit.framework */; };
+		8B55C700ED8484944FED1EB1 /* SignalGeneratorEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 087136FA6A7A0E01738EEF03 /* SignalGeneratorEditor.cpp */; };
+		8E138283FC265B58D252AAC3 /* RootFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4A53064BA75472765338C1D /* RootFinder.cpp */; };
+		903C5F83BB9E6DEA71A0D6E5 /* Butterworth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 73C6FF74D6A31CA13C0D7C5C /* Butterworth.cpp */; };
+		90C038F480F790988D0F928E /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54662C69F6AA71B55D68F12E /* OpenGL.framework */; };
+		9145D84C7D665BCAFE698432 /* SpikeObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E7247F5EE9588903C924994F /* SpikeObject.cpp */; };
+		93A3E6284F2DAED3F491332B /* MergerEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD73EA6B24378294003DC2D0 /* MergerEditor.cpp */; };
+		9549DA2D2FF0614B155990A0 /* DataBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F20726FD9F586FDE2CB42901 /* DataBuffer.cpp */; };
+		9C77BFFE7BA865E20121E707 /* FPGAOutputEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7738196148E539781B237854 /* FPGAOutputEditor.cpp */; };
+		9CBA3837CC8CAA03A03F2D9C /* EventNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA57CE4F63FF1592D6B3F9B5 /* EventNode.cpp */; };
+		9D687F73F2FD2462C5D5588C /* DataWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ED179D5A10DD051DDB3ECB8B /* DataWindow.cpp */; };
+		A126280FF39A61DEFD3ABFE5 /* WiFiOutputEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B11714BCE362D4EA7E377F5 /* WiFiOutputEditor.cpp */; };
+		A1B4D286AC7ED372742C41B2 /* FileReaderThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0D2903C450AE862C2C0060AA /* FileReaderThread.cpp */; };
+		A84DF9525DC988520F7C3217 /* ofSerial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3022191E4C192BC10670B935 /* ofSerial.cpp */; };
+		AAC4D8DB08B2A05A576A5F17 /* RecordControlEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AF4469EAC57A21DD7241C9A4 /* RecordControlEditor.cpp */; };
+		AD58AC45D09BA8A736B3D67C /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39FAF9808D0EFB6C8170D8B8 /* Carbon.framework */; };
+		AD6DD37DB41B1177F9F77F51 /* FilterNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D2342EA3BD783D3A81006606 /* FilterNode.cpp */; };
+		AEA369E154CA607D8D62CC2E /* ChebyshevI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D44DBE2FF15A98834F222766 /* ChebyshevI.cpp */; };
+		AEB65E53845FA668D89CE15E /* ArduinoOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C42446F8ABB3627870E9677D /* ArduinoOutput.cpp */; };
+		AEE153DB070AD3023780DAED /* PhaseDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EF2AF97E68B2C2428A835836 /* PhaseDetector.cpp */; };
+		B092C479F4C92AF2FEBE5A11 /* AudioEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5DDBEE64DC706CE804E5F0AA /* AudioEditor.cpp */; };
+		B13883377C9316B9603336B4 /* LfpDisplayCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E96DA81EE37A0ECE471A928 /* LfpDisplayCanvas.cpp */; };
+		B2BE56A1260E9C87DECD2E4F /* ProcessorGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C4DA9685E5637B03F00E5E79 /* ProcessorGraph.cpp */; };
+		B8BF3036DDF5BD761CAF416A /* Custom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FACAE1DC7A236505359477 /* Custom.cpp */; };
+		B992DDBFF8928A985EEE1557 /* WiFiOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268005410FB62BCB9099A762 /* WiFiOutput.cpp */; };
+		BA64AA28A3E0DC10AB0A9380 /* ArduinoOutputEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DAFD5D2E1F875321584C7147 /* ArduinoOutputEditor.cpp */; };
+		BBE4B49A8E596B53CE157EAD /* Design.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E8E2F9C583077B298525FD1 /* Design.cpp */; };
+		BCA6FAB5DADF0AF804E83F6E /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D08C5BF3FF3AC38C2BB5F921 /* CoreMIDI.framework */; };
+		BCB6C021A03F0AB0248C7F8A /* ChannelSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D2678E9F30DC261CCB61B0 /* ChannelSelector.cpp */; };
+		BCD7C4797178C8EF65CDC2D7 /* WaveAxes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F208A66C09E80D14F087CB1 /* WaveAxes.cpp */; };
+		BD15E927FB571B9D2F93F82C /* Filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9AF10F6A89F85989C62F856 /* Filter.cpp */; };
+		BF78E6E9903CF5A5C53789B9 /* Biquad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07AE46453303977ED64E38ED /* Biquad.cpp */; };
+		C038A696FD85E64E249AF737 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 191441B631182A346D494BB5 /* QuartzCore.framework */; };
+		C170A763D33146C74ED4CE4B /* MessageCenter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEDA71600D817BF9444FE3E7 /* MessageCenter.cpp */; };
+		CB77C89226102EF30F85E3EC /* ImageIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 544DA1EF90EBBDB6FF2DE0A5 /* ImageIcon.cpp */; };
+		CF0149E6ECBA264A264C7BB3 /* SourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EAD8082130C2384BA9E1206 /* SourceNode.cpp */; };
+		CFE62980E342BE2875BB3586 /* GenericEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22FD0613BADE6C36A6A7A25C /* GenericEditor.cpp */; };
+		D060C0893EDAE6CBC86A5FE2 /* InfoLabel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA00883DC021E36B7EFDAC43 /* InfoLabel.cpp */; };
+		D24C62FA0307F51185EE3481 /* FPGAOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3261B4AE147B49EEE9341CF8 /* FPGAOutput.cpp */; };
+		D379BC3417418182ECFA5716 /* PracticalSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 673778A175624FC9F52E7A15 /* PracticalSocket.cpp */; };
+		D3B54B20674A6BA87CE6FDEC /* LfpDisplayEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF9878CE31A1B41406C3457B /* LfpDisplayEditor.cpp */; };
+		D54F398EBE746D5BCC86FB78 /* ReferenceNodeEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D0B72C9F22FDB15C608CF20 /* ReferenceNodeEditor.cpp */; };
+		DB7C2DF80130B2D0D8DD9BD2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A67346CD9B6D590108C7B6E /* WebKit.framework */; };
+		DD043D069210932477F01A30 /* EventDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 90E8F4BDA3DBA5F8D78A2AB0 /* EventDetector.cpp */; };
+		DD22A06702F4CF995893DD5C /* SpikeDisplayEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F0B09605D4108F0F94EF3B57 /* SpikeDisplayEditor.cpp */; };
+		DF15E1683A3722FE88EE5C7F /* IntanThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6D94C2733E967EC6A91B719A /* IntanThread.cpp */; };
+		E36C0018635A85E09D4EDE01 /* DataViewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B977C2809B309C8038CB5D95 /* DataViewport.cpp */; };
+		E82FBA173C87CE2AADB84942 /* NetworkThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B156D132738F6C7C948378F /* NetworkThread.cpp */; };
+		E96CEDA0BFB8ED12B26B5AD5 /* Channel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F040256D2E74A61F4F08B148 /* Channel.cpp */; };
+		EAE9186154287129292E7982 /* RecordControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EE49894F14895CEA36FD0F4 /* RecordControl.cpp */; };
+		ECBA3D0CB756E83C4DA9685E /* ProcessorList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B28CC9409188C9A200AAAFFC /* ProcessorList.cpp */; };
+		ED44C2F2AA0DC81161075167 /* PoleFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 137CF1AB4144076D79D50975 /* PoleFilter.cpp */; };
+		EE1DC0B09AE0727BC7A5A99C /* State.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0D20C3399D0492771F7A808A /* State.cpp */; };
+		F0EB404ED0A4EEAB0F238BDC /* ChebyshevII.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1F9836FC5A8FDF2293C9A232 /* ChebyshevII.cpp */; };
+		F1268EC5E783EC8ECEBCA5D3 /* LfpDisplayNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5935F823A2EE45AC36A0201F /* LfpDisplayNode.cpp */; };
+		F18F6DF7E80854DE6780531D /* JuceLibraryCode1.mm in Sources */ = {isa = PBXBuildFile; fileRef = 898385F65E64BF6D609B3BF2 /* JuceLibraryCode1.mm */; };
+		F3F3E688834C724BC35231F1 /* EditorViewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EB824B60F600C19193ADFA5F /* EditorViewport.cpp */; };
+		F4CEF74DDCD7EFA0891249B5 /* VisualizerEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A3976537C96B39716B5312D /* VisualizerEditor.cpp */; };
+		F80F061AE618AD08407BCA9A /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19D5134F99CC551B01D5A7EF /* Main.cpp */; };
+		F8751DCE1BCF3EC9C7A46154 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B661DF3EFF63CFFCCA76AF4 /* IOKit.framework */; };
+		FA6CF7D26F81253A3E1D13CB /* Elliptic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 293B003BD6E113C5AD1BB131 /* Elliptic.cpp */; };
+		FCD66EA8735FE1CCA522B7C5 /* DataThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72123888A7DD78159AA032AF /* DataThread.cpp */; };
+		FD157D98C4C31AE782659718 /* JuceLibraryCode2.mm in Sources */ = {isa = PBXBuildFile; fileRef = C3B95EF26B5F3281447FCF42 /* JuceLibraryCode2.mm */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		04AD8DDD47597AE0875ACDD1 /* ImageIcon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ImageIcon.h; path = ../../Source/Processors/Editors/ImageIcon.h; sourceTree = SOURCE_ROOT; };
+		05D0A12F2A850EEC48D5EDD4 /* RadioButtons_selected_over-05.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-05.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-05.png"; sourceTree = SOURCE_ROOT; };
+		060C55E19A414F464C499A47 /* miso-bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-bold.ttf"; path = "../../Resources/Fonts/miso-bold.ttf"; sourceTree = SOURCE_ROOT; };
+		06AB64E97A05B800349E7E23 /* ofArduino.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ofArduino.cpp; path = ../../Source/Processors/Serial/ofArduino.cpp; sourceTree = SOURCE_ROOT; };
+		06B051747D84858D9C5C0444 /* SpikePlot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikePlot.h; path = ../../Source/Processors/Visualization/SpikePlotting/SpikePlot.h; sourceTree = SOURCE_ROOT; };
+		07363B9FB8F988D45C4F0FE2 /* ParameterEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParameterEditor.h; path = ../../Source/Processors/Editors/ParameterEditor.h; sourceTree = SOURCE_ROOT; };
+		07AE46453303977ED64E38ED /* Biquad.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Biquad.cpp; path = ../../Source/Dsp/Biquad.cpp; sourceTree = SOURCE_ROOT; };
+		0837481AD187A1E6CBCAC577 /* open-ephys.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "open-ephys.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		087136FA6A7A0E01738EEF03 /* SignalGeneratorEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalGeneratorEditor.cpp; path = ../../Source/Processors/Editors/SignalGeneratorEditor.cpp; sourceTree = SOURCE_ROOT; };
+		092C479F4C92AF2FEBE5A11A /* ReferenceNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ReferenceNode.h; path = ../../Source/Processors/ReferenceNode.h; sourceTree = SOURCE_ROOT; };
+		0998E3F08E61271CE0FA930C /* RecordControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordControl.h; path = ../../Source/Processors/Utilities/RecordControl.h; sourceTree = SOURCE_ROOT; };
+		0B661DF3EFF63CFFCCA76AF4 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+		0C5335B0E57C9DC92FC57E5F /* OpenGLCanvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OpenGLCanvas.cpp; path = ../../Source/Processors/Visualization/OpenGLCanvas.cpp; sourceTree = SOURCE_ROOT; };
+		0D20C3399D0492771F7A808A /* State.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = State.cpp; path = ../../Source/Dsp/State.cpp; sourceTree = SOURCE_ROOT; };
+		0D2903C450AE862C2C0060AA /* FileReaderThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FileReaderThread.cpp; path = ../../Source/Processors/DataThreads/FileReaderThread.cpp; sourceTree = SOURCE_ROOT; };
+		10F82563E4A633BC234B2800 /* SignalGeneratorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalGeneratorEditor.h; path = ../../Source/Processors/Editors/SignalGeneratorEditor.h; sourceTree = SOURCE_ROOT; };
+		126B0DE9B8D4E42DA7D57AAB /* sine_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = sine_wave.png; path = ../../Resources/Images/Icons/sine_wave.png; sourceTree = SOURCE_ROOT; };
+		12866D44BE115E8837468F48 /* AudioNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioNode.h; path = ../../Source/Processors/AudioNode.h; sourceTree = SOURCE_ROOT; };
+		137CF1AB4144076D79D50975 /* PoleFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PoleFilter.cpp; path = ../../Source/Dsp/PoleFilter.cpp; sourceTree = SOURCE_ROOT; };
+		1561F28CD560AB8F2E177628 /* InfoLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InfoLabel.h; path = ../../Source/UI/InfoLabel.h; sourceTree = SOURCE_ROOT; };
+		17E38F29BD6CBC490B5EF1B4 /* RadioButtons_selected-05.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-05.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-05.png"; sourceTree = SOURCE_ROOT; };
+		182F8F9073A2007403C10C51 /* SignalChainManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalChainManager.h; path = ../../Source/UI/SignalChainManager.h; sourceTree = SOURCE_ROOT; };
+		186F011C1ABC55DB39717105 /* State.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = State.h; path = ../../Source/Dsp/State.h; sourceTree = SOURCE_ROOT; };
+		191441B631182A346D494BB5 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		19D5134F99CC551B01D5A7EF /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
+		1A64B7009173729093BA3D96 /* ChannelSelector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChannelSelector.h; path = ../../Source/Processors/Editors/ChannelSelector.h; sourceTree = SOURCE_ROOT; };
+		1B2C20F6F1F1BCF9115F8D53 /* cpmono_bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_bold.otf; path = ../../Resources/Fonts/cpmono_bold.otf; sourceTree = SOURCE_ROOT; };
+		1BDA9647E0AA33F642E162BE /* muteon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = muteon.png; path = ../../Resources/Images/Buttons/muteon.png; sourceTree = SOURCE_ROOT; };
+		1CBCB9D2FE5B967D93785E75 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
+		1CD026FD773BB5A428624381 /* JuceLibraryCode3.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
+		1D1DF895F34C981407EDB8E8 /* RootFinder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RootFinder.h; path = ../../Source/Dsp/RootFinder.h; sourceTree = SOURCE_ROOT; };
+		1E0F3076D1689E83422F6B4E /* Params.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Params.h; path = ../../Source/Dsp/Params.h; sourceTree = SOURCE_ROOT; };
+		1E849F999A8333FFF0B57C6D /* RadioButtons_neutral-04.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-04.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-04.png"; sourceTree = SOURCE_ROOT; };
+		1EC547C25C29FE679BAF8B4D /* Legendre.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Legendre.h; path = ../../Source/Dsp/Legendre.h; sourceTree = SOURCE_ROOT; };
+		1F5435604926FF2C06575DCC /* SmoothedFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SmoothedFilter.h; path = ../../Source/Dsp/SmoothedFilter.h; sourceTree = SOURCE_ROOT; };
+		1F9836FC5A8FDF2293C9A232 /* ChebyshevII.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChebyshevII.cpp; path = ../../Source/Dsp/ChebyshevII.cpp; sourceTree = SOURCE_ROOT; };
+		20B50BC2221C593AC67D80F8 /* RadioButtons_selected_over-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-02.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-02.png"; sourceTree = SOURCE_ROOT; };
+		2164BFCDF57A5AA752CAA3A2 /* DataThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataThread.h; path = ../../Source/Processors/DataThreads/DataThread.h; sourceTree = SOURCE_ROOT; };
+		2171C4356B44D4CD6865E06B /* RadioButtons-04.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-04.png"; path = "../../Resources/Images/Icons/RadioButtons-04.png"; sourceTree = SOURCE_ROOT; };
+		21C560B017F1C0A48B950155 /* IntanThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IntanThread.h; path = ../../Source/Processors/DataThreads/IntanThread.h; sourceTree = SOURCE_ROOT; };
+		21E5288817625724406FD3A1 /* Dsp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dsp.h; path = ../../Source/Dsp/Dsp.h; sourceTree = SOURCE_ROOT; };
+		22FD0613BADE6C36A6A7A25C /* GenericEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericEditor.cpp; path = ../../Source/Processors/Editors/GenericEditor.cpp; sourceTree = SOURCE_ROOT; };
+		242E7E62B8641B1224E25442 /* ProcessorList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProcessorList.h; path = ../../Source/UI/ProcessorList.h; sourceTree = SOURCE_ROOT; };
+		24616D6D2297C87D371B0363 /* okFrontPanelDLL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = okFrontPanelDLL.cpp; path = ../../Source/Processors/DataThreads/okFrontPanelDLL.cpp; sourceTree = SOURCE_ROOT; };
+		24C6D768C87E1C42C644C4BD /* GenericAxes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/GenericAxes.cpp; sourceTree = SOURCE_ROOT; };
+		268005410FB62BCB9099A762 /* WiFiOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WiFiOutput.cpp; path = ../../Source/Processors/WiFiOutput.cpp; sourceTree = SOURCE_ROOT; };
+		293B003BD6E113C5AD1BB131 /* Elliptic.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Elliptic.cpp; path = ../../Source/Dsp/Elliptic.cpp; sourceTree = SOURCE_ROOT; };
+		294B78ADA337603DE3C87BF9 /* PipelineA-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineA-02.png"; path = "../../Resources/Images/Buttons/PipelineA-02.png"; sourceTree = SOURCE_ROOT; };
+		2A1D9144C59B92B32483924B /* SourceDrop.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = SourceDrop.png; path = ../../Resources/Images/Icons/SourceDrop.png; sourceTree = SOURCE_ROOT; };
+		2A46D8E3EC7207D969A2B202 /* SpikeDisplayEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayEditor.h; path = ../../Source/Processors/Editors/SpikeDisplayEditor.h; sourceTree = SOURCE_ROOT; };
+		2A54E3D28E10F5D50498BB77 /* PipelineA-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineA-01.png"; path = "../../Resources/Images/Buttons/PipelineA-01.png"; sourceTree = SOURCE_ROOT; };
+		2A78F719BAFBDCD63AE9A88A /* UIComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UIComponent.cpp; path = ../../Source/UI/UIComponent.cpp; sourceTree = SOURCE_ROOT; };
+		2AFAED9379D050629F34C033 /* AudioResamplingNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioResamplingNode.cpp; path = ../../Source/Processors/AudioResamplingNode.cpp; sourceTree = SOURCE_ROOT; };
+		2B11714BCE362D4EA7E377F5 /* WiFiOutputEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WiFiOutputEditor.cpp; path = ../../Source/Processors/Editors/WiFiOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
+		2B8E059E57EB92EAC589C6B4 /* Cascade.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Cascade.h; path = ../../Source/Dsp/Cascade.h; sourceTree = SOURCE_ROOT; };
+		2BC65E923E245AE23AE7BB8B /* EditorViewportButtons.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorViewportButtons.h; path = ../../Source/UI/EditorViewportButtons.h; sourceTree = SOURCE_ROOT; };
+		2CCD3BBDF86EA8D149DAD758 /* FilterNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterNode.h; path = ../../Source/Processors/FilterNode.h; sourceTree = SOURCE_ROOT; };
+		2E96DA81EE37A0ECE471A928 /* LfpDisplayCanvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayCanvas.cpp; path = ../../Source/Processors/Visualization/LfpDisplayCanvas.cpp; sourceTree = SOURCE_ROOT; };
+		2EAE0475B719C3233AD8BB35 /* PracticalSocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PracticalSocket.h; path = ../../Source/Network/PracticalSocket.h; sourceTree = SOURCE_ROOT; };
+		2FA2FA826CBAD9C639A61E4A /* ProjectionAxes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProjectionAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/ProjectionAxes.cpp; sourceTree = SOURCE_ROOT; };
+		3022191E4C192BC10670B935 /* ofSerial.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ofSerial.cpp; path = ../../Source/Processors/Serial/ofSerial.cpp; sourceTree = SOURCE_ROOT; };
+		303B2522EAC7CD3C33EF150C /* AudioEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioEditor.h; path = ../../Source/Processors/Editors/AudioEditor.h; sourceTree = SOURCE_ROOT; };
+		314D53C7C13C28A25588ABCF /* Layout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Layout.h; path = ../../Source/Dsp/Layout.h; sourceTree = SOURCE_ROOT; };
+		32163C956C8A6F5C1DD7FE7F /* EventNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventNode.h; path = ../../Source/Processors/EventNode.h; sourceTree = SOURCE_ROOT; };
+		3261B4AE147B49EEE9341CF8 /* FPGAOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAOutput.cpp; path = ../../Source/Processors/FPGAOutput.cpp; sourceTree = SOURCE_ROOT; };
+		32959675287F77DD9B7FA96B /* WiFiOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WiFiOutput.h; path = ../../Source/Processors/WiFiOutput.h; sourceTree = SOURCE_ROOT; };
+		35352AD0E7B59E35BC3B5F59 /* nordic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = nordic.ttf; path = ../../Resources/Fonts/nordic.ttf; sourceTree = SOURCE_ROOT; };
+		35AFD01064BF29D90EEDF413 /* FilterEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterEditor.cpp; path = ../../Source/Processors/Editors/FilterEditor.cpp; sourceTree = SOURCE_ROOT; };
+		36393F2D58480F61ECDEB5E5 /* EventNodeEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventNodeEditor.cpp; path = ../../Source/Processors/Editors/EventNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
+		363B59958615D35C5C948300 /* unibody-8.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = "unibody-8.otf"; path = "../../Resources/Fonts/unibody-8.otf"; sourceTree = SOURCE_ROOT; };
+		3973173C7FA07073B4F86B29 /* Merger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Merger.cpp; path = ../../Source/Processors/Utilities/Merger.cpp; sourceTree = SOURCE_ROOT; };
+		399CBACE291A425A2B9497EF /* SpikeDetectorEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDetectorEditor.cpp; path = ../../Source/Processors/Editors/SpikeDetectorEditor.cpp; sourceTree = SOURCE_ROOT; };
+		39FAF9808D0EFB6C8170D8B8 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+		3B60787E97C74E78853DC90F /* ProcessorGraph.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProcessorGraph.h; path = ../../Source/Processors/ProcessorGraph.h; sourceTree = SOURCE_ROOT; };
+		3B70B21129D91B16A2F1CE80 /* ControlPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ControlPanel.h; path = ../../Source/UI/ControlPanel.h; sourceTree = SOURCE_ROOT; };
+		3D20C932FB058CC20989B129 /* triangle_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = triangle_wave.png; path = ../../Resources/Images/Icons/triangle_wave.png; sourceTree = SOURCE_ROOT; };
+		3DD0741FCFBC7563EC722D9B /* SpikeDetector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDetector.cpp; path = ../../Source/Processors/SpikeDetector.cpp; sourceTree = SOURCE_ROOT; };
+		3E3E4F25C71B800C97AC63B9 /* MainWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainWindow.h; path = ../../Source/MainWindow.h; sourceTree = SOURCE_ROOT; };
+		3E794D3BDE12790A2373836A /* ReferenceNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ReferenceNode.cpp; path = ../../Source/Processors/ReferenceNode.cpp; sourceTree = SOURCE_ROOT; };
+		3E8E2F9C583077B298525FD1 /* Design.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Design.cpp; path = ../../Source/Dsp/Design.cpp; sourceTree = SOURCE_ROOT; };
+		40A802FCEDFDE7B2FFEBDEA8 /* RadioButtons_selected-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-01.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-01.png"; sourceTree = SOURCE_ROOT; };
+		41591F74A761BAC908FA8AD8 /* BaseUIElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BaseUIElement.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/BaseUIElement.cpp; sourceTree = SOURCE_ROOT; };
+		44303AB487040AE4B60DCAD5 /* ostrich.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = ostrich.ttf; path = ../../Resources/Fonts/ostrich.ttf; sourceTree = SOURCE_ROOT; };
+		46E436D1B9538DB8487F0D8D /* FPGAThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAThread.h; path = ../../Source/Processors/DataThreads/FPGAThread.h; sourceTree = SOURCE_ROOT; };
+		47ECF9384C1D27EB2FBEBF9E /* ParameterEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ParameterEditor.cpp; path = ../../Source/Processors/Editors/ParameterEditor.cpp; sourceTree = SOURCE_ROOT; };
+		482AFCBBC28835A9548101B1 /* ofArduino.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofArduino.h; path = ../../Source/Processors/Serial/ofArduino.h; sourceTree = SOURCE_ROOT; };
+		4974E0E46141648F106A818F /* miso-serialized */ = {isa = PBXFileReference; lastKnownFileType = file; name = "miso-serialized"; path = "../../Resources/Fonts/miso-serialized"; sourceTree = SOURCE_ROOT; };
+		4AEDD076CCA918481C6F9CF2 /* SpikeDisplayNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayNode.cpp; path = ../../Source/Processors/SpikeDisplayNode.cpp; sourceTree = SOURCE_ROOT; };
+		4D0B72C9F22FDB15C608CF20 /* ReferenceNodeEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ReferenceNodeEditor.cpp; path = ../../Source/Processors/Editors/ReferenceNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
+		4D63E86C8A9F721B9C0FA95E /* MathSupplement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MathSupplement.h; path = ../../Source/Dsp/MathSupplement.h; sourceTree = SOURCE_ROOT; };
+		4DB02C352236D9D030E01205 /* RadioButtons-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-01.png"; path = "../../Resources/Images/Icons/RadioButtons-01.png"; sourceTree = SOURCE_ROOT; };
+		4E67CFE458501E763FF3AE94 /* WiFiOutputEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WiFiOutputEditor.h; path = ../../Source/Processors/Editors/WiFiOutputEditor.h; sourceTree = SOURCE_ROOT; };
+		4EE6CA70F229EDE04E7E320B /* MessageCenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MessageCenter.h; path = ../../Source/UI/MessageCenter.h; sourceTree = SOURCE_ROOT; };
+		50D4782F4555FED294F40705 /* miso-regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-regular.ttf"; path = "../../Resources/Fonts/miso-regular.ttf"; sourceTree = SOURCE_ROOT; };
+		50E7B88E8140BB293B27ED67 /* SimpleKeyEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SimpleKeyEvent.h; path = ../../Source/Processors/Visualization/SpikePlotting/SimpleKeyEvent.h; sourceTree = SOURCE_ROOT; };
+		50F20268C4572493BB04D269 /* miso-light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "miso-light.ttf"; path = "../../Resources/Fonts/miso-light.ttf"; sourceTree = SOURCE_ROOT; };
+		51D2678E9F30DC261CCB61B0 /* ChannelSelector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChannelSelector.cpp; path = ../../Source/Processors/Editors/ChannelSelector.cpp; sourceTree = SOURCE_ROOT; };
+		521FECC75E9DDB0D34B22AF8 /* PlotUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PlotUtils.h; path = ../../Source/Processors/Visualization/SpikePlotting/PlotUtils.h; sourceTree = SOURCE_ROOT; };
+		530B262BE169DC42E8F505EA /* AudioResamplingNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioResamplingNode.h; path = ../../Source/Processors/AudioResamplingNode.h; sourceTree = SOURCE_ROOT; };
+		544DA1EF90EBBDB6FF2DE0A5 /* ImageIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ImageIcon.cpp; path = ../../Source/Processors/Editors/ImageIcon.cpp; sourceTree = SOURCE_ROOT; };
+		54662C69F6AA71B55D68F12E /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+		54A33424E41D55153F6EB422 /* EditorViewport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EditorViewport.h; path = ../../Source/UI/EditorViewport.h; sourceTree = SOURCE_ROOT; };
+		552B1370E46646B6B1D40CF8 /* PhaseDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PhaseDetector.h; path = ../../Source/Processors/PhaseDetector.h; sourceTree = SOURCE_ROOT; };
+		553E92DB60C7D5104B780781 /* ChebyshevI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChebyshevI.h; path = ../../Source/Dsp/ChebyshevI.h; sourceTree = SOURCE_ROOT; };
+		55F7FFF9942627D7FC46C6C1 /* JuceLibraryCode4.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
+		5779673F042A62E02C4AC06B /* ArduinoOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArduinoOutput.h; path = ../../Source/Processors/ArduinoOutput.h; sourceTree = SOURCE_ROOT; };
+		5935F823A2EE45AC36A0201F /* LfpDisplayNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayNode.cpp; path = ../../Source/Processors/LfpDisplayNode.cpp; sourceTree = SOURCE_ROOT; };
+		59CAEFDE36164ABB19B3CA76 /* RadioButtons_neutral-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-01.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-01.png"; sourceTree = SOURCE_ROOT; };
+		5AB4A3A63B9FDEAB09EEC9C8 /* ControlPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ControlPanel.cpp; path = ../../Source/UI/ControlPanel.cpp; sourceTree = SOURCE_ROOT; };
+		5AE7693391C43B4AE475789C /* ResamplingNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ResamplingNode.cpp; path = ../../Source/Processors/ResamplingNode.cpp; sourceTree = SOURCE_ROOT; };
+		5B1D08D98AD9F623962A38B2 /* PoleFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PoleFilter.h; path = ../../Source/Dsp/PoleFilter.h; sourceTree = SOURCE_ROOT; };
+		5DDBEE64DC706CE804E5F0AA /* AudioEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioEditor.cpp; path = ../../Source/Processors/Editors/AudioEditor.cpp; sourceTree = SOURCE_ROOT; };
+		5E2258F02911313F494357BF /* EventDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventDetector.h; path = ../../Source/Processors/EventDetector.h; sourceTree = SOURCE_ROOT; };
+		5F0DC90995C8E7BB7E3176F7 /* ArduinoOutputEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ArduinoOutputEditor.h; path = ../../Source/Processors/Editors/ArduinoOutputEditor.h; sourceTree = SOURCE_ROOT; };
+		5F43022E89D254273CF827A5 /* FPGAOutputEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAOutputEditor.h; path = ../../Source/Processors/Editors/FPGAOutputEditor.h; sourceTree = SOURCE_ROOT; };
+		60F060DBD5ACF36E0A407BC1 /* Elliptic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Elliptic.h; path = ../../Source/Dsp/Elliptic.h; sourceTree = SOURCE_ROOT; };
+		61CA6A2E58E2025508D42FCF /* RecordControlEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordControlEditor.h; path = ../../Source/Processors/Editors/RecordControlEditor.h; sourceTree = SOURCE_ROOT; };
+		62DA962299323A2FA134203D /* SourceNodeEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SourceNodeEditor.h; path = ../../Source/Processors/Editors/SourceNodeEditor.h; sourceTree = SOURCE_ROOT; };
+		63992CB3AC42F91A51135EAC /* AccessClass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccessClass.h; path = ../../Source/AccessClass.h; sourceTree = SOURCE_ROOT; };
+		63C18F4066C75D3C312877D8 /* DataWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataWindow.h; path = ../../Source/Processors/Visualization/DataWindow.h; sourceTree = SOURCE_ROOT; };
+		66C7E42D7FDE3600982A1F46 /* FileReaderIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = FileReaderIcon.png; path = ../../Resources/Images/Icons/FileReaderIcon.png; sourceTree = SOURCE_ROOT; };
+		671CC5EA3DF4F21E9A7E392B /* SpikeDisplayNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayNode.h; path = ../../Source/Processors/SpikeDisplayNode.h; sourceTree = SOURCE_ROOT; };
+		673778A175624FC9F52E7A15 /* PracticalSocket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PracticalSocket.cpp; path = ../../Source/Network/PracticalSocket.cpp; sourceTree = SOURCE_ROOT; };
+		6A67346CD9B6D590108C7B6E /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+		6B156D132738F6C7C948378F /* NetworkThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkThread.cpp; path = ../../Source/Processors/DataThreads/NetworkThread.cpp; sourceTree = SOURCE_ROOT; };
+		6CD0D896FEB77B261C62447E /* SignalChainManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalChainManager.cpp; path = ../../Source/UI/SignalChainManager.cpp; sourceTree = SOURCE_ROOT; };
+		6D94C2733E967EC6A91B719A /* IntanThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IntanThread.cpp; path = ../../Source/Processors/DataThreads/IntanThread.cpp; sourceTree = SOURCE_ROOT; };
+		6E4B37AA4BFEB5A37E3AC250 /* SpikeDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDetector.h; path = ../../Source/Processors/SpikeDetector.h; sourceTree = SOURCE_ROOT; };
+		706CBE9178440675868F2379 /* Legendre.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Legendre.cpp; path = ../../Source/Dsp/Legendre.cpp; sourceTree = SOURCE_ROOT; };
+		72123888A7DD78159AA032AF /* DataThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataThread.cpp; path = ../../Source/Processors/DataThreads/DataThread.cpp; sourceTree = SOURCE_ROOT; };
+		73A7E17FDD8DD717F99E0882 /* MergerB-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerB-02.png"; path = "../../Resources/Images/Buttons/MergerB-02.png"; sourceTree = SOURCE_ROOT; };
+		73C6FF74D6A31CA13C0D7C5C /* Butterworth.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Butterworth.cpp; path = ../../Source/Dsp/Butterworth.cpp; sourceTree = SOURCE_ROOT; };
+		742284C84C72C882E02E7974 /* Cascade.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Cascade.cpp; path = ../../Source/Dsp/Cascade.cpp; sourceTree = SOURCE_ROOT; };
+		751C52F2BEA7F1328ED13333 /* Parameter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Parameter.cpp; path = ../../Source/Processors/Parameter.cpp; sourceTree = SOURCE_ROOT; };
+		753133530248EC4F00CBECA6 /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
+		771E8D912F94E52AF7E05F91 /* RadioButtons_selected_over-03.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-03.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-03.png"; sourceTree = SOURCE_ROOT; };
+		7738196148E539781B237854 /* FPGAOutputEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAOutputEditor.cpp; path = ../../Source/Processors/Editors/FPGAOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
+		7738F51AE0EC63D76EE0F761 /* OpenGLCanvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGLCanvas.h; path = ../../Source/Processors/Visualization/OpenGLCanvas.h; sourceTree = SOURCE_ROOT; };
+		77F2E2E7A2419CB172C0B1EA /* MainWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainWindow.cpp; path = ../../Source/MainWindow.cpp; sourceTree = SOURCE_ROOT; };
+		7977CAB4A151C41F4140FE1A /* Merger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Merger.h; path = ../../Source/Processors/Utilities/Merger.h; sourceTree = SOURCE_ROOT; };
+		79892A4E41809A09A4711AC3 /* BebasNeue.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = BebasNeue.otf; path = ../../Resources/Fonts/BebasNeue.otf; sourceTree = SOURCE_ROOT; };
+		7A9A31FC1AE8FB238FAE995E /* SpikeDisplayCanvas.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayCanvas.cpp; path = ../../Source/Processors/Visualization/SpikeDisplayCanvas.cpp; sourceTree = SOURCE_ROOT; };
+		7B825983F25D8984E02F6FFB /* Parameter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Parameter.h; path = ../../Source/Processors/Parameter.h; sourceTree = SOURCE_ROOT; };
+		7BD1C1A7C30ED736F4816C31 /* SourceNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SourceNode.h; path = ../../Source/Processors/SourceNode.h; sourceTree = SOURCE_ROOT; };
+		7BD204C890F9A2F301B15128 /* NetworkThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkThread.h; path = ../../Source/Processors/DataThreads/NetworkThread.h; sourceTree = SOURCE_ROOT; };
+		7C09194091360867C4CAB0E8 /* saw_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = saw_wave.png; path = ../../Resources/Images/Icons/saw_wave.png; sourceTree = SOURCE_ROOT; };
+		7C225F446A96BED7F585F66B /* Filter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Filter.h; path = ../../Source/Dsp/Filter.h; sourceTree = SOURCE_ROOT; };
+		7EAD8082130C2384BA9E1206 /* SourceNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SourceNode.cpp; path = ../../Source/Processors/SourceNode.cpp; sourceTree = SOURCE_ROOT; };
+		7FC3C64A06A9FA2C828F8744 /* SpikeDetectorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDetectorEditor.h; path = ../../Source/Processors/Editors/SpikeDetectorEditor.h; sourceTree = SOURCE_ROOT; };
+		8086EC3AFDEA802E0B43F19E /* RadioButtons-03.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-03.png"; path = "../../Resources/Images/Icons/RadioButtons-03.png"; sourceTree = SOURCE_ROOT; };
+		833030703B66CDD9DA94155B /* ChebyshevII.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ChebyshevII.h; path = ../../Source/Dsp/ChebyshevII.h; sourceTree = SOURCE_ROOT; };
+		877F9F9DA7A1B51D3EDCBC07 /* DataViewport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataViewport.h; path = ../../Source/UI/DataViewport.h; sourceTree = SOURCE_ROOT; };
+		87F60F05136FEBD8A36AE670 /* RadioButtons_neutral-03.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-03.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-03.png"; sourceTree = SOURCE_ROOT; };
+		898385F65E64BF6D609B3BF2 /* JuceLibraryCode1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
+		89CF25CB48EEA21B226869E1 /* PipelineB-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineB-02.png"; path = "../../Resources/Images/Buttons/PipelineB-02.png"; sourceTree = SOURCE_ROOT; };
+		8A3AE5CF9D452810BA48A3EF /* RadioButtons_selected-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-02.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-02.png"; sourceTree = SOURCE_ROOT; };
+		8AD9A0F023B727B34348B95E /* PipelineB-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PipelineB-01.png"; path = "../../Resources/Images/Buttons/PipelineB-01.png"; sourceTree = SOURCE_ROOT; };
+		8B70886CFCD13A761567DE7B /* Butterworth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Butterworth.h; path = ../../Source/Dsp/Butterworth.h; sourceTree = SOURCE_ROOT; };
+		8C8C2A42B36655796DCFBAC2 /* Channel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Channel.h; path = ../../Source/Processors/Channel.h; sourceTree = SOURCE_ROOT; };
+		8E041C8C49F1A5B710CC812C /* wifi.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = wifi.png; path = ../../Resources/Images/Icons/wifi.png; sourceTree = SOURCE_ROOT; };
+		8E7AA0EF1B95BC771FBB10A0 /* cpmono_light.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_light.otf; path = ../../Resources/Fonts/cpmono_light.otf; sourceTree = SOURCE_ROOT; };
+		8F8F55DD042F61BB213AFC0B /* noise_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = noise_wave.png; path = ../../Resources/Images/Icons/noise_wave.png; sourceTree = SOURCE_ROOT; };
+		90E8F4BDA3DBA5F8D78A2AB0 /* EventDetector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventDetector.cpp; path = ../../Source/Processors/EventDetector.cpp; sourceTree = SOURCE_ROOT; };
+		92C241C7F87B5933B0E6E03F /* Types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Types.h; path = ../../Source/Dsp/Types.h; sourceTree = SOURCE_ROOT; };
+		93FACAE1DC7A236505359477 /* Custom.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Custom.cpp; path = ../../Source/Dsp/Custom.cpp; sourceTree = SOURCE_ROOT; };
+		96D33A963CAAEEAB8770F2A3 /* ofConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofConstants.h; path = ../../Source/Processors/Serial/ofConstants.h; sourceTree = SOURCE_ROOT; };
+		9A3976537C96B39716B5312D /* VisualizerEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = VisualizerEditor.cpp; path = ../../Source/Processors/Editors/VisualizerEditor.cpp; sourceTree = SOURCE_ROOT; };
+		9A47B52E5E1CD17DC9C72B53 /* Splitter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Splitter.cpp; path = ../../Source/Processors/Utilities/Splitter.cpp; sourceTree = SOURCE_ROOT; };
+		9ACFB6A181D09434268CE006 /* Visualizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Visualizer.h; path = ../../Source/Processors/Visualization/Visualizer.h; sourceTree = SOURCE_ROOT; };
+		9AFA895DFA2087804F47ECF9 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
+		9BFC7532965901165C9DDB07 /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; };
+		9C8EA29582DBFF6E5A14B8A3 /* BaseUIElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BaseUIElement.h; path = ../../Source/Processors/Visualization/SpikePlotting/BaseUIElement.h; sourceTree = SOURCE_ROOT; };
+		9CAD123471BE2E6ED4A96C3B /* OpenEphysBoardLogoGray.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = OpenEphysBoardLogoGray.png; path = ../../Resources/Images/Icons/OpenEphysBoardLogoGray.png; sourceTree = SOURCE_ROOT; };
+		9CD0E7C2C7E49A0DBF301B0F /* MergerA-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerA-02.png"; path = "../../Resources/Images/Buttons/MergerA-02.png"; sourceTree = SOURCE_ROOT; };
+		9E884AEDB6035FFC74886EE8 /* SpikeDisplayCanvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeDisplayCanvas.h; path = ../../Source/Processors/Visualization/SpikeDisplayCanvas.h; sourceTree = SOURCE_ROOT; };
+		9EBBC43B9522EC9E6B607493 /* Biquad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Biquad.h; path = ../../Source/Dsp/Biquad.h; sourceTree = SOURCE_ROOT; };
+		9EE49894F14895CEA36FD0F4 /* RecordControl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordControl.cpp; path = ../../Source/Processors/Utilities/RecordControl.cpp; sourceTree = SOURCE_ROOT; };
+		9F208A66C09E80D14F087CB1 /* WaveAxes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WaveAxes.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/WaveAxes.cpp; sourceTree = SOURCE_ROOT; };
+		A32D8455B95FD230EBFD7891 /* CustomLookAndFeel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CustomLookAndFeel.cpp; path = ../../Source/UI/CustomLookAndFeel.cpp; sourceTree = SOURCE_ROOT; };
+		A3F978AE6999903C47650173 /* WaveAxes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WaveAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/WaveAxes.h; sourceTree = SOURCE_ROOT; };
+		A4C8AB3F5E7A708350F72E7C /* IntanIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = IntanIcon.png; path = ../../Resources/Images/Icons/IntanIcon.png; sourceTree = SOURCE_ROOT; };
+		A5231F3D01B88C063D10026A /* RadioButtons_neutral-05.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-05.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-05.png"; sourceTree = SOURCE_ROOT; };
+		A582462316439858552387F7 /* OpenEphysBoardLogoBlack.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = OpenEphysBoardLogoBlack.png; path = ../../Resources/Images/Icons/OpenEphysBoardLogoBlack.png; sourceTree = SOURCE_ROOT; };
+		A80433BF9686B4E2542C580C /* EventNodeEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EventNodeEditor.h; path = ../../Source/Processors/Editors/EventNodeEditor.h; sourceTree = SOURCE_ROOT; };
+		A9142BFEFE7EB34D919ED0A0 /* FPGAThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FPGAThread.cpp; path = ../../Source/Processors/DataThreads/FPGAThread.cpp; sourceTree = SOURCE_ROOT; };
+		A9AF10F6A89F85989C62F856 /* Filter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Filter.cpp; path = ../../Source/Dsp/Filter.cpp; sourceTree = SOURCE_ROOT; };
+		A9B11C1B693E380C29F53F78 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+		A9C2C7AF037050228CD2E026 /* LfpDisplayCanvas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayCanvas.h; path = ../../Source/Processors/Visualization/LfpDisplayCanvas.h; sourceTree = SOURCE_ROOT; };
+		AA00883DC021E36B7EFDAC43 /* InfoLabel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InfoLabel.cpp; path = ../../Source/UI/InfoLabel.cpp; sourceTree = SOURCE_ROOT; };
+		AA7B88F969CE43331035DE98 /* okFrontPanelDLL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = okFrontPanelDLL.h; path = ../../Source/Processors/DataThreads/okFrontPanelDLL.h; sourceTree = SOURCE_ROOT; };
+		AD4BF1BC602902B20AEBF49C /* FilterEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterEditor.h; path = ../../Source/Processors/Editors/FilterEditor.h; sourceTree = SOURCE_ROOT; };
+		AD73EA6B24378294003DC2D0 /* MergerEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MergerEditor.cpp; path = ../../Source/Processors/Editors/MergerEditor.cpp; sourceTree = SOURCE_ROOT; };
+		AED49EC9B45C93F39002B4B9 /* ofSerial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ofSerial.h; path = ../../Source/Processors/Serial/ofSerial.h; sourceTree = SOURCE_ROOT; };
+		AF4469EAC57A21DD7241C9A4 /* RecordControlEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordControlEditor.cpp; path = ../../Source/Processors/Editors/RecordControlEditor.cpp; sourceTree = SOURCE_ROOT; };
+		B00F207EBEED525FB686AD98 /* LfpDisplayNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayNode.h; path = ../../Source/Processors/LfpDisplayNode.h; sourceTree = SOURCE_ROOT; };
+		B0A6A0635113C4B4CD424BEC /* SpikeObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SpikeObject.h; path = ../../Source/Processors/Visualization/SpikeObject.h; sourceTree = SOURCE_ROOT; };
+		B195AD6CEB9B6E3625C8D087 /* PlotUtils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PlotUtils.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/PlotUtils.cpp; sourceTree = SOURCE_ROOT; };
+		B1CF7BFC5F1892735D4FA1EE /* ProjectionAxes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProjectionAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/ProjectionAxes.h; sourceTree = SOURCE_ROOT; };
+		B28CC9409188C9A200AAAFFC /* ProcessorList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessorList.cpp; path = ../../Source/UI/ProcessorList.cpp; sourceTree = SOURCE_ROOT; };
+		B30EF131FE61BAA4C1818102 /* Bessel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Bessel.cpp; path = ../../Source/Dsp/Bessel.cpp; sourceTree = SOURCE_ROOT; };
+		B3CDC8825DAD5A7D75956726 /* RadioButtons_selected-03.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-03.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-03.png"; sourceTree = SOURCE_ROOT; };
+		B56D08AB6374C811F59D760C /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; };
+		B7750B27E4F3748ECCCCF69D /* AudioNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioNode.cpp; path = ../../Source/Processors/AudioNode.cpp; sourceTree = SOURCE_ROOT; };
+		B7FD86B9DA02771D3519FAA0 /* MergerEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MergerEditor.h; path = ../../Source/Processors/Editors/MergerEditor.h; sourceTree = SOURCE_ROOT; };
+		B92E8189F69E0B926C73B654 /* Splitter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Splitter.h; path = ../../Source/Processors/Utilities/Splitter.h; sourceTree = SOURCE_ROOT; };
+		B96BF02034F29DE033F16D89 /* RecordNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RecordNode.cpp; path = ../../Source/Processors/RecordNode.cpp; sourceTree = SOURCE_ROOT; };
+		B977C2809B309C8038CB5D95 /* DataViewport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataViewport.cpp; path = ../../Source/UI/DataViewport.cpp; sourceTree = SOURCE_ROOT; };
+		BAAA02122ADD1D5D0670A684 /* MergerB-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerB-01.png"; path = "../../Resources/Images/Buttons/MergerB-01.png"; sourceTree = SOURCE_ROOT; };
+		BCBB865ED53E8AFD278D1A53 /* GenericAxes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericAxes.h; path = ../../Source/Processors/Visualization/SpikePlotting/GenericAxes.h; sourceTree = SOURCE_ROOT; };
+		BD07C36AC2ECF10942F0A229 /* FileReaderThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileReaderThread.h; path = ../../Source/Processors/DataThreads/FileReaderThread.h; sourceTree = SOURCE_ROOT; };
+		BD0900C3A85F58C34FA91D16 /* muteoff.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = muteoff.png; path = ../../Resources/Images/Buttons/muteoff.png; sourceTree = SOURCE_ROOT; };
+		BDB56CA7F08DC7EFABBF7846 /* AppConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
+		BDFFB5B0A8E8A022C25D7FDB /* square_wave.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = square_wave.png; path = ../../Resources/Images/Icons/square_wave.png; sourceTree = SOURCE_ROOT; };
+		BF41F256D0C244C2C02AE6E1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
+		BF8EB3483F66AA7F61E6D863 /* Param.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Param.cpp; path = ../../Source/Dsp/Param.cpp; sourceTree = SOURCE_ROOT; };
+		C02C160190E417B42F73680A /* LfpDisplayEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LfpDisplayEditor.h; path = ../../Source/Processors/Editors/LfpDisplayEditor.h; sourceTree = SOURCE_ROOT; };
+		C04E6EDA980CDC09DF061D66 /* FPGAOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FPGAOutput.h; path = ../../Source/Processors/FPGAOutput.h; sourceTree = SOURCE_ROOT; };
+		C177B371A0CEC8E7B9131865 /* SplitterEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SplitterEditor.h; path = ../../Source/Processors/Editors/SplitterEditor.h; sourceTree = SOURCE_ROOT; };
+		C25CAC3FC9AE387CD597DF37 /* RadioButtons-05.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-05.png"; path = "../../Resources/Images/Icons/RadioButtons-05.png"; sourceTree = SOURCE_ROOT; };
+		C2A7939DF5ED600BBB2F30C4 /* silkscreen-serialized */ = {isa = PBXFileReference; lastKnownFileType = file; name = "silkscreen-serialized"; path = "../../Resources/Fonts/silkscreen-serialized"; sourceTree = SOURCE_ROOT; };
+		C2C96A81B4033338679E6EFB /* ArduinoIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ArduinoIcon.png; path = ../../Resources/Images/Icons/ArduinoIcon.png; sourceTree = SOURCE_ROOT; };
+		C2ED801EA28FBA9764E76349 /* SplitterEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SplitterEditor.cpp; path = ../../Source/Processors/Editors/SplitterEditor.cpp; sourceTree = SOURCE_ROOT; };
+		C3B95EF26B5F3281447FCF42 /* JuceLibraryCode2.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
+		C4197FDA1B4D4F1D58F6A5A0 /* GenericProcessor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericProcessor.h; path = ../../Source/Processors/GenericProcessor.h; sourceTree = SOURCE_ROOT; };
+		C42446F8ABB3627870E9677D /* ArduinoOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ArduinoOutput.cpp; path = ../../Source/Processors/ArduinoOutput.cpp; sourceTree = SOURCE_ROOT; };
+		C4DA9685E5637B03F00E5E79 /* ProcessorGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProcessorGraph.cpp; path = ../../Source/Processors/ProcessorGraph.cpp; sourceTree = SOURCE_ROOT; };
+		C546D55EDE65ADDD95C6A6F5 /* VisualizerEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VisualizerEditor.h; path = ../../Source/Processors/Editors/VisualizerEditor.h; sourceTree = SOURCE_ROOT; };
+		C586714DD22C96F569FDC716 /* cpmono_extra_light.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_extra_light.otf; path = ../../Resources/Fonts/cpmono_extra_light.otf; sourceTree = SOURCE_ROOT; };
+		C87B84BA79CB9EE547E8762C /* ResamplingNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResamplingNode.h; path = ../../Source/Processors/ResamplingNode.h; sourceTree = SOURCE_ROOT; };
+		C96A8F49EA22919F09486B96 /* SpikePlot.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikePlot.cpp; path = ../../Source/Processors/Visualization/SpikePlotting/SpikePlot.cpp; sourceTree = SOURCE_ROOT; };
+		CA0A1584725D21237DBCD70A /* AccessClass.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AccessClass.cpp; path = ../../Source/AccessClass.cpp; sourceTree = SOURCE_ROOT; };
+		CD05957EC804348231739108 /* Design.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Design.h; path = ../../Source/Dsp/Design.h; sourceTree = SOURCE_ROOT; };
+		CE771F502D1D710B28632E3A /* RadioButtons_selected_over-04.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-04.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-04.png"; sourceTree = SOURCE_ROOT; };
+		CECE2AB5D5F36CADBC3219A2 /* GenericProcessor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GenericProcessor.cpp; path = ../../Source/Processors/GenericProcessor.cpp; sourceTree = SOURCE_ROOT; };
+		CF9878CE31A1B41406C3457B /* LfpDisplayEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LfpDisplayEditor.cpp; path = ../../Source/Processors/Editors/LfpDisplayEditor.cpp; sourceTree = SOURCE_ROOT; };
+		D08C5BF3FF3AC38C2BB5F921 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+		D2342EA3BD783D3A81006606 /* FilterNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterNode.cpp; path = ../../Source/Processors/FilterNode.cpp; sourceTree = SOURCE_ROOT; };
+		D2D308542534D043BB12C801 /* MergerA-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "MergerA-01.png"; path = "../../Resources/Images/Buttons/MergerA-01.png"; sourceTree = SOURCE_ROOT; };
+		D44DBE2FF15A98834F222766 /* ChebyshevI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ChebyshevI.cpp; path = ../../Source/Dsp/ChebyshevI.cpp; sourceTree = SOURCE_ROOT; };
+		D55947E71EB4AF25C1FC7089 /* Bessel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bessel.h; path = ../../Source/Dsp/Bessel.h; sourceTree = SOURCE_ROOT; };
+		D91BA61C12BFEBE59B577805 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
+		D95C78F42494CD5995FBC15E /* RadioButtons_selected_over-01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected_over-01.png"; path = "../../Resources/Images/Icons/RadioButtons_selected_over-01.png"; sourceTree = SOURCE_ROOT; };
+		D99F56FB46F631F67AF23F2C /* DefaultDataSource.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = DefaultDataSource.png; path = ../../Resources/Images/Icons/DefaultDataSource.png; sourceTree = SOURCE_ROOT; };
+		DAFD5D2E1F875321584C7147 /* ArduinoOutputEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ArduinoOutputEditor.cpp; path = ../../Source/Processors/Editors/ArduinoOutputEditor.cpp; sourceTree = SOURCE_ROOT; };
+		DB605BA15852F367DF625300 /* UIComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = UIComponent.h; path = ../../Source/UI/UIComponent.h; sourceTree = SOURCE_ROOT; };
+		E0587F61AD4A92C2661E5073 /* RadioButtons_neutral-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_neutral-02.png"; path = "../../Resources/Images/Icons/RadioButtons_neutral-02.png"; sourceTree = SOURCE_ROOT; };
+		E0883576683119727BD54A81 /* SignalGenerator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SignalGenerator.h; path = ../../Source/Processors/SignalGenerator.h; sourceTree = SOURCE_ROOT; };
+		E177F2FF11601F6E11498390 /* ResamplingNodeEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ResamplingNodeEditor.h; path = ../../Source/Processors/Editors/ResamplingNodeEditor.h; sourceTree = SOURCE_ROOT; };
+		E1C6E67757EC5D68093BD760 /* EditorViewportButtons.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditorViewportButtons.cpp; path = ../../Source/UI/EditorViewportButtons.cpp; sourceTree = SOURCE_ROOT; };
+		E27B5891A52FDAB2B00901A0 /* Utilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Utilities.h; path = ../../Source/Dsp/Utilities.h; sourceTree = SOURCE_ROOT; };
+		E4AEAC4AD1D1C6A80A2CD70A /* Custom.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Custom.h; path = ../../Source/Dsp/Custom.h; sourceTree = SOURCE_ROOT; };
+		E545022A6355CD2E92DE67C5 /* ReferenceNodeEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ReferenceNodeEditor.h; path = ../../Source/Processors/Editors/ReferenceNodeEditor.h; sourceTree = SOURCE_ROOT; };
+		E6FF4D4C70794123A52B9E82 /* RBJ.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RBJ.cpp; path = ../../Source/Dsp/RBJ.cpp; sourceTree = SOURCE_ROOT; };
+		E7247F5EE9588903C924994F /* SpikeObject.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeObject.cpp; path = ../../Source/Processors/Visualization/SpikeObject.cpp; sourceTree = SOURCE_ROOT; };
+		E79C104CD58BBBD5368EEF5A /* cpmono_plain.otf */ = {isa = PBXFileReference; lastKnownFileType = file.otf; name = cpmono_plain.otf; path = ../../Resources/Fonts/cpmono_plain.otf; sourceTree = SOURCE_ROOT; };
+		E8214D83845C25F39EEC13CD /* Documentation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Documentation.cpp; path = ../../Source/Dsp/Documentation.cpp; sourceTree = SOURCE_ROOT; };
+		E8503A3E123FCFBFA317EAE6 /* RBJ.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RBJ.h; path = ../../Source/Dsp/RBJ.h; sourceTree = SOURCE_ROOT; };
+		EB824B60F600C19193ADFA5F /* EditorViewport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EditorViewport.cpp; path = ../../Source/UI/EditorViewport.cpp; sourceTree = SOURCE_ROOT; };
+		EBB0E5058615EA1FEDADF189 /* SignalGenerator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SignalGenerator.cpp; path = ../../Source/Processors/SignalGenerator.cpp; sourceTree = SOURCE_ROOT; };
+		ED179D5A10DD051DDB3ECB8B /* DataWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataWindow.cpp; path = ../../Source/Processors/Visualization/DataWindow.cpp; sourceTree = SOURCE_ROOT; };
+		ED50AB550D058BEB30F12C7D /* RadioButtons_selected-04.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons_selected-04.png"; path = "../../Resources/Images/Icons/RadioButtons_selected-04.png"; sourceTree = SOURCE_ROOT; };
+		EE3AAE8BD520868168064D38 /* ResamplingNodeEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ResamplingNodeEditor.cpp; path = ../../Source/Processors/Editors/ResamplingNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
+		EEAB043F90902D8F9D1102C2 /* RadioButtons-02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "RadioButtons-02.png"; path = "../../Resources/Images/Icons/RadioButtons-02.png"; sourceTree = SOURCE_ROOT; };
+		EEDA71600D817BF9444FE3E7 /* MessageCenter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MessageCenter.cpp; path = ../../Source/UI/MessageCenter.cpp; sourceTree = SOURCE_ROOT; };
+		EF2AF97E68B2C2428A835836 /* PhaseDetector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PhaseDetector.cpp; path = ../../Source/Processors/PhaseDetector.cpp; sourceTree = SOURCE_ROOT; };
+		F040256D2E74A61F4F08B148 /* Channel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Channel.cpp; path = ../../Source/Processors/Channel.cpp; sourceTree = SOURCE_ROOT; };
+		F062CCE0FB40E6C65A6493F4 /* DataBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataBuffer.h; path = ../../Source/Processors/DataThreads/DataBuffer.h; sourceTree = SOURCE_ROOT; };
+		F0B09605D4108F0F94EF3B57 /* SpikeDisplayEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SpikeDisplayEditor.cpp; path = ../../Source/Processors/Editors/SpikeDisplayEditor.cpp; sourceTree = SOURCE_ROOT; };
+		F0B8C75B1AA6E8D1BC620653 /* GenericEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GenericEditor.h; path = ../../Source/Processors/Editors/GenericEditor.h; sourceTree = SOURCE_ROOT; };
+		F20726FD9F586FDE2CB42901 /* DataBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DataBuffer.cpp; path = ../../Source/Processors/DataThreads/DataBuffer.cpp; sourceTree = SOURCE_ROOT; };
+		F4A53064BA75472765338C1D /* RootFinder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RootFinder.cpp; path = ../../Source/Dsp/RootFinder.cpp; sourceTree = SOURCE_ROOT; };
+		F70641473A3E7C0DC5168858 /* CustomLookAndFeel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CustomLookAndFeel.h; path = ../../Source/UI/CustomLookAndFeel.h; sourceTree = SOURCE_ROOT; };
+		F74662D3D82975EDB5AD42E0 /* AudioComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AudioComponent.cpp; path = ../../Source/Audio/AudioComponent.cpp; sourceTree = SOURCE_ROOT; };
+		F7620D8D567CCE463ADDE0A6 /* Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Common.h; path = ../../Source/Dsp/Common.h; sourceTree = SOURCE_ROOT; };
+		F8CAE2412B173788F325BD8B /* silkscreen.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = silkscreen.ttf; path = ../../Resources/Fonts/silkscreen.ttf; sourceTree = SOURCE_ROOT; };
+		FA55B9FDE138CCB1F16BA905 /* AudioComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AudioComponent.h; path = ../../Source/Audio/AudioComponent.h; sourceTree = SOURCE_ROOT; };
+		FA57CE4F63FF1592D6B3F9B5 /* EventNode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EventNode.cpp; path = ../../Source/Processors/EventNode.cpp; sourceTree = SOURCE_ROOT; };
+		FAB58A8AE7DCBAC0CF311D14 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+		FC5939F3D2A31BB43EA3E393 /* SourceNodeEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SourceNodeEditor.cpp; path = ../../Source/Processors/Editors/SourceNodeEditor.cpp; sourceTree = SOURCE_ROOT; };
+		FC83C3CD6DC717911B2C3C20 /* RecordNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RecordNode.h; path = ../../Source/Processors/RecordNode.h; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		FDDDE8762356EE886B1C1C9E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				6125D1F24D314D771E3A350E /* Cocoa.framework in Frameworks */,
+				AD58AC45D09BA8A736B3D67C /* Carbon.framework in Frameworks */,
+				F8751DCE1BCF3EC9C7A46154 /* IOKit.framework in Frameworks */,
+				37F9B7C362F6F31231D10927 /* CoreAudio.framework in Frameworks */,
+				BCA6FAB5DADF0AF804E83F6E /* CoreMIDI.framework in Frameworks */,
+				DB7C2DF80130B2D0D8DD9BD2 /* WebKit.framework in Frameworks */,
+				11885833D32D03BA7E17138A /* DiscRecording.framework in Frameworks */,
+				90C038F480F790988D0F928E /* OpenGL.framework in Frameworks */,
+				C038A696FD85E64E249AF737 /* QuartzCore.framework in Frameworks */,
+				881EDBF5D2D6FD7B53B71182 /* QTKit.framework in Frameworks */,
+				14BE1E76E7BB3593A5F66DCC /* QuickTime.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		0ECE243E52A42297D09AE145 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				0837481AD187A1E6CBCAC577 /* open-ephys.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		1255E9B28ADAA1A1CADC4A6E /* SpikePlotting */ = {
+			isa = PBXGroup;
+			children = (
+				C96A8F49EA22919F09486B96 /* SpikePlot.cpp */,
+				06B051747D84858D9C5C0444 /* SpikePlot.h */,
+				41591F74A761BAC908FA8AD8 /* BaseUIElement.cpp */,
+				9C8EA29582DBFF6E5A14B8A3 /* BaseUIElement.h */,
+				24C6D768C87E1C42C644C4BD /* GenericAxes.cpp */,
+				BCBB865ED53E8AFD278D1A53 /* GenericAxes.h */,
+				B195AD6CEB9B6E3625C8D087 /* PlotUtils.cpp */,
+				521FECC75E9DDB0D34B22AF8 /* PlotUtils.h */,
+				2FA2FA826CBAD9C639A61E4A /* ProjectionAxes.cpp */,
+				B1CF7BFC5F1892735D4FA1EE /* ProjectionAxes.h */,
+				50E7B88E8140BB293B27ED67 /* SimpleKeyEvent.h */,
+				9F208A66C09E80D14F087CB1 /* WaveAxes.cpp */,
+				A3F978AE6999903C47650173 /* WaveAxes.h */,
+			);
+			name = SpikePlotting;
+			sourceTree = "<group>";
+		};
+		15543D7982B26B70879960F4 /* Visualization */ = {
+			isa = PBXGroup;
+			children = (
+				1255E9B28ADAA1A1CADC4A6E /* SpikePlotting */,
+				E7247F5EE9588903C924994F /* SpikeObject.cpp */,
+				B0A6A0635113C4B4CD424BEC /* SpikeObject.h */,
+				7A9A31FC1AE8FB238FAE995E /* SpikeDisplayCanvas.cpp */,
+				9E884AEDB6035FFC74886EE8 /* SpikeDisplayCanvas.h */,
+				9ACFB6A181D09434268CE006 /* Visualizer.h */,
+				ED179D5A10DD051DDB3ECB8B /* DataWindow.cpp */,
+				63C18F4066C75D3C312877D8 /* DataWindow.h */,
+				2E96DA81EE37A0ECE471A928 /* LfpDisplayCanvas.cpp */,
+				A9C2C7AF037050228CD2E026 /* LfpDisplayCanvas.h */,
+				0C5335B0E57C9DC92FC57E5F /* OpenGLCanvas.cpp */,
+				7738F51AE0EC63D76EE0F761 /* OpenGLCanvas.h */,
+			);
+			name = Visualization;
+			sourceTree = "<group>";
+		};
+		1640CC946EDFD5EC9A321954 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				2D8E1C366F21D3C8FE662382 /* Fonts */,
+				4E8DA551A1B5D7A2B1229181 /* Images */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		1BAC20F9B88EE03AB534ED66 /* Juce Library Code */ = {
+			isa = PBXGroup;
+			children = (
+				BDB56CA7F08DC7EFABBF7846 /* AppConfig.h */,
+				753133530248EC4F00CBECA6 /* JuceHeader.h */,
+				B56D08AB6374C811F59D760C /* BinaryData.cpp */,
+				9BFC7532965901165C9DDB07 /* BinaryData.h */,
+				898385F65E64BF6D609B3BF2 /* JuceLibraryCode1.mm */,
+				C3B95EF26B5F3281447FCF42 /* JuceLibraryCode2.mm */,
+				1CD026FD773BB5A428624381 /* JuceLibraryCode3.mm */,
+				55F7FFF9942627D7FC46C6C1 /* JuceLibraryCode4.mm */,
+			);
+			name = "Juce Library Code";
+			sourceTree = "<group>";
+		};
+		20FFF487B65BF8567EFE70F8 /* Utilities */ = {
+			isa = PBXGroup;
+			children = (
+				9EE49894F14895CEA36FD0F4 /* RecordControl.cpp */,
+				0998E3F08E61271CE0FA930C /* RecordControl.h */,
+				3973173C7FA07073B4F86B29 /* Merger.cpp */,
+				7977CAB4A151C41F4140FE1A /* Merger.h */,
+				9A47B52E5E1CD17DC9C72B53 /* Splitter.cpp */,
+				B92E8189F69E0B926C73B654 /* Splitter.h */,
+			);
+			name = Utilities;
+			sourceTree = "<group>";
+		};
+		21721C7CD4451993F10354CB /* Plugins */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = Plugins;
+			sourceTree = "<group>";
+		};
+		2D8E1C366F21D3C8FE662382 /* Fonts */ = {
+			isa = PBXGroup;
+			children = (
+				79892A4E41809A09A4711AC3 /* BebasNeue.otf */,
+				1B2C20F6F1F1BCF9115F8D53 /* cpmono_bold.otf */,
+				C586714DD22C96F569FDC716 /* cpmono_extra_light.otf */,
+				8E7AA0EF1B95BC771FBB10A0 /* cpmono_light.otf */,
+				E79C104CD58BBBD5368EEF5A /* cpmono_plain.otf */,
+				060C55E19A414F464C499A47 /* miso-bold.ttf */,
+				50F20268C4572493BB04D269 /* miso-light.ttf */,
+				50D4782F4555FED294F40705 /* miso-regular.ttf */,
+				4974E0E46141648F106A818F /* miso-serialized */,
+				35352AD0E7B59E35BC3B5F59 /* nordic.ttf */,
+				44303AB487040AE4B60DCAD5 /* ostrich.ttf */,
+				C2A7939DF5ED600BBB2F30C4 /* silkscreen-serialized */,
+				F8CAE2412B173788F325BD8B /* silkscreen.ttf */,
+				363B59958615D35C5C948300 /* unibody-8.otf */,
+			);
+			name = Fonts;
+			sourceTree = "<group>";
+		};
+		3392BC2D90C96126B6D3EDA0 /* Buttons */ = {
+			isa = PBXGroup;
+			children = (
+				BD0900C3A85F58C34FA91D16 /* muteoff.png */,
+				1BDA9647E0AA33F642E162BE /* muteon.png */,
+				D2D308542534D043BB12C801 /* MergerA-01.png */,
+				9CD0E7C2C7E49A0DBF301B0F /* MergerA-02.png */,
+				BAAA02122ADD1D5D0670A684 /* MergerB-01.png */,
+				73A7E17FDD8DD717F99E0882 /* MergerB-02.png */,
+				2A54E3D28E10F5D50498BB77 /* PipelineA-01.png */,
+				294B78ADA337603DE3C87BF9 /* PipelineA-02.png */,
+				8AD9A0F023B727B34348B95E /* PipelineB-01.png */,
+				89CF25CB48EEA21B226869E1 /* PipelineB-02.png */,
+			);
+			name = Buttons;
+			sourceTree = "<group>";
+		};
+		33A88A7C3FF426F051834D6A /* Processors */ = {
+			isa = PBXGroup;
+			children = (
+				3E794D3BDE12790A2373836A /* ReferenceNode.cpp */,
+				092C479F4C92AF2FEBE5A11A /* ReferenceNode.h */,
+				EF2AF97E68B2C2428A835836 /* PhaseDetector.cpp */,
+				552B1370E46646B6B1D40CF8 /* PhaseDetector.h */,
+				2AFAED9379D050629F34C033 /* AudioResamplingNode.cpp */,
+				530B262BE169DC42E8F505EA /* AudioResamplingNode.h */,
+				F040256D2E74A61F4F08B148 /* Channel.cpp */,
+				8C8C2A42B36655796DCFBAC2 /* Channel.h */,
+				49AED3DB3EC67F7DF624D4D9 /* Serial */,
+				90E8F4BDA3DBA5F8D78A2AB0 /* EventDetector.cpp */,
+				5E2258F02911313F494357BF /* EventDetector.h */,
+				3261B4AE147B49EEE9341CF8 /* FPGAOutput.cpp */,
+				C04E6EDA980CDC09DF061D66 /* FPGAOutput.h */,
+				C42446F8ABB3627870E9677D /* ArduinoOutput.cpp */,
+				5779673F042A62E02C4AC06B /* ArduinoOutput.h */,
+				751C52F2BEA7F1328ED13333 /* Parameter.cpp */,
+				7B825983F25D8984E02F6FFB /* Parameter.h */,
+				4AEDD076CCA918481C6F9CF2 /* SpikeDisplayNode.cpp */,
+				671CC5EA3DF4F21E9A7E392B /* SpikeDisplayNode.h */,
+				268005410FB62BCB9099A762 /* WiFiOutput.cpp */,
+				32959675287F77DD9B7FA96B /* WiFiOutput.h */,
+				5935F823A2EE45AC36A0201F /* LfpDisplayNode.cpp */,
+				B00F207EBEED525FB686AD98 /* LfpDisplayNode.h */,
+				20FFF487B65BF8567EFE70F8 /* Utilities */,
+				15543D7982B26B70879960F4 /* Visualization */,
+				3DD0741FCFBC7563EC722D9B /* SpikeDetector.cpp */,
+				6E4B37AA4BFEB5A37E3AC250 /* SpikeDetector.h */,
+				B7750B27E4F3748ECCCCF69D /* AudioNode.cpp */,
+				12866D44BE115E8837468F48 /* AudioNode.h */,
+				FA57CE4F63FF1592D6B3F9B5 /* EventNode.cpp */,
+				32163C956C8A6F5C1DD7FE7F /* EventNode.h */,
+				953CC35B9116404D6AA8D1C7 /* Editors */,
+				A1AD89D398583E71F6ED8A6E /* DataThreads */,
+				B96BF02034F29DE033F16D89 /* RecordNode.cpp */,
+				FC83C3CD6DC717911B2C3C20 /* RecordNode.h */,
+				EBB0E5058615EA1FEDADF189 /* SignalGenerator.cpp */,
+				E0883576683119727BD54A81 /* SignalGenerator.h */,
+				5AE7693391C43B4AE475789C /* ResamplingNode.cpp */,
+				C87B84BA79CB9EE547E8762C /* ResamplingNode.h */,
+				D2342EA3BD783D3A81006606 /* FilterNode.cpp */,
+				2CCD3BBDF86EA8D149DAD758 /* FilterNode.h */,
+				7EAD8082130C2384BA9E1206 /* SourceNode.cpp */,
+				7BD1C1A7C30ED736F4816C31 /* SourceNode.h */,
+				CECE2AB5D5F36CADBC3219A2 /* GenericProcessor.cpp */,
+				C4197FDA1B4D4F1D58F6A5A0 /* GenericProcessor.h */,
+				C4DA9685E5637B03F00E5E79 /* ProcessorGraph.cpp */,
+				3B60787E97C74E78853DC90F /* ProcessorGraph.h */,
+			);
+			name = Processors;
+			sourceTree = "<group>";
+		};
+		49AED3DB3EC67F7DF624D4D9 /* Serial */ = {
+			isa = PBXGroup;
+			children = (
+				06AB64E97A05B800349E7E23 /* ofArduino.cpp */,
+				482AFCBBC28835A9548101B1 /* ofArduino.h */,
+				96D33A963CAAEEAB8770F2A3 /* ofConstants.h */,
+				3022191E4C192BC10670B935 /* ofSerial.cpp */,
+				AED49EC9B45C93F39002B4B9 /* ofSerial.h */,
+			);
+			name = Serial;
+			sourceTree = "<group>";
+		};
+		4E8DA551A1B5D7A2B1229181 /* Images */ = {
+			isa = PBXGroup;
+			children = (
+				891C5A157F059822288EDC9F /* Icons */,
+				3392BC2D90C96126B6D3EDA0 /* Buttons */,
+			);
+			name = Images;
+			sourceTree = "<group>";
+		};
+		4EC15B00A5B83F4BF29C25C5 /* Source */ = {
+			isa = PBXGroup;
+			children = (
+				1640CC946EDFD5EC9A321954 /* Resources */,
+				98D3BECE25EB3CF1F64F54B4 /* Source */,
+				1BAC20F9B88EE03AB534ED66 /* Juce Library Code */,
+				D01A90ED1DFB15778648E288 /* Resources */,
+				F3C957A2F364B760F6959DE9 /* Frameworks */,
+				0ECE243E52A42297D09AE145 /* Products */,
+			);
+			name = Source;
+			sourceTree = "<group>";
+		};
+		891C5A157F059822288EDC9F /* Icons */ = {
+			isa = PBXGroup;
+			children = (
+				C2C96A81B4033338679E6EFB /* ArduinoIcon.png */,
+				A582462316439858552387F7 /* OpenEphysBoardLogoBlack.png */,
+				9CAD123471BE2E6ED4A96C3B /* OpenEphysBoardLogoGray.png */,
+				4DB02C352236D9D030E01205 /* RadioButtons-01.png */,
+				EEAB043F90902D8F9D1102C2 /* RadioButtons-02.png */,
+				8086EC3AFDEA802E0B43F19E /* RadioButtons-03.png */,
+				2171C4356B44D4CD6865E06B /* RadioButtons-04.png */,
+				C25CAC3FC9AE387CD597DF37 /* RadioButtons-05.png */,
+				59CAEFDE36164ABB19B3CA76 /* RadioButtons_neutral-01.png */,
+				E0587F61AD4A92C2661E5073 /* RadioButtons_neutral-02.png */,
+				87F60F05136FEBD8A36AE670 /* RadioButtons_neutral-03.png */,
+				1E849F999A8333FFF0B57C6D /* RadioButtons_neutral-04.png */,
+				A5231F3D01B88C063D10026A /* RadioButtons_neutral-05.png */,
+				40A802FCEDFDE7B2FFEBDEA8 /* RadioButtons_selected-01.png */,
+				8A3AE5CF9D452810BA48A3EF /* RadioButtons_selected-02.png */,
+				B3CDC8825DAD5A7D75956726 /* RadioButtons_selected-03.png */,
+				ED50AB550D058BEB30F12C7D /* RadioButtons_selected-04.png */,
+				17E38F29BD6CBC490B5EF1B4 /* RadioButtons_selected-05.png */,
+				D95C78F42494CD5995FBC15E /* RadioButtons_selected_over-01.png */,
+				20B50BC2221C593AC67D80F8 /* RadioButtons_selected_over-02.png */,
+				771E8D912F94E52AF7E05F91 /* RadioButtons_selected_over-03.png */,
+				CE771F502D1D710B28632E3A /* RadioButtons_selected_over-04.png */,
+				05D0A12F2A850EEC48D5EDD4 /* RadioButtons_selected_over-05.png */,
+				8F8F55DD042F61BB213AFC0B /* noise_wave.png */,
+				7C09194091360867C4CAB0E8 /* saw_wave.png */,
+				126B0DE9B8D4E42DA7D57AAB /* sine_wave.png */,
+				BDFFB5B0A8E8A022C25D7FDB /* square_wave.png */,
+				3D20C932FB058CC20989B129 /* triangle_wave.png */,
+				8E041C8C49F1A5B710CC812C /* wifi.png */,
+				2A1D9144C59B92B32483924B /* SourceDrop.png */,
+				D99F56FB46F631F67AF23F2C /* DefaultDataSource.png */,
+				66C7E42D7FDE3600982A1F46 /* FileReaderIcon.png */,
+				A4C8AB3F5E7A708350F72E7C /* IntanIcon.png */,
+			);
+			name = Icons;
+			sourceTree = "<group>";
+		};
+		8F98BACF97340868397BA4BB /* Network */ = {
+			isa = PBXGroup;
+			children = (
+				673778A175624FC9F52E7A15 /* PracticalSocket.cpp */,
+				2EAE0475B719C3233AD8BB35 /* PracticalSocket.h */,
+			);
+			name = Network;
+			sourceTree = "<group>";
+		};
+		953CC35B9116404D6AA8D1C7 /* Editors */ = {
+			isa = PBXGroup;
+			children = (
+				AF4469EAC57A21DD7241C9A4 /* RecordControlEditor.cpp */,
+				61CA6A2E58E2025508D42FCF /* RecordControlEditor.h */,
+				4D0B72C9F22FDB15C608CF20 /* ReferenceNodeEditor.cpp */,
+				E545022A6355CD2E92DE67C5 /* ReferenceNodeEditor.h */,
+				EE3AAE8BD520868168064D38 /* ResamplingNodeEditor.cpp */,
+				E177F2FF11601F6E11498390 /* ResamplingNodeEditor.h */,
+				7738196148E539781B237854 /* FPGAOutputEditor.cpp */,
+				5F43022E89D254273CF827A5 /* FPGAOutputEditor.h */,
+				DAFD5D2E1F875321584C7147 /* ArduinoOutputEditor.cpp */,
+				5F0DC90995C8E7BB7E3176F7 /* ArduinoOutputEditor.h */,
+				51D2678E9F30DC261CCB61B0 /* ChannelSelector.cpp */,
+				1A64B7009173729093BA3D96 /* ChannelSelector.h */,
+				47ECF9384C1D27EB2FBEBF9E /* ParameterEditor.cpp */,
+				07363B9FB8F988D45C4F0FE2 /* ParameterEditor.h */,
+				F0B09605D4108F0F94EF3B57 /* SpikeDisplayEditor.cpp */,
+				2A46D8E3EC7207D969A2B202 /* SpikeDisplayEditor.h */,
+				9A3976537C96B39716B5312D /* VisualizerEditor.cpp */,
+				C546D55EDE65ADDD95C6A6F5 /* VisualizerEditor.h */,
+				AD73EA6B24378294003DC2D0 /* MergerEditor.cpp */,
+				B7FD86B9DA02771D3519FAA0 /* MergerEditor.h */,
+				544DA1EF90EBBDB6FF2DE0A5 /* ImageIcon.cpp */,
+				04AD8DDD47597AE0875ACDD1 /* ImageIcon.h */,
+				2B11714BCE362D4EA7E377F5 /* WiFiOutputEditor.cpp */,
+				4E67CFE458501E763FF3AE94 /* WiFiOutputEditor.h */,
+				36393F2D58480F61ECDEB5E5 /* EventNodeEditor.cpp */,
+				A80433BF9686B4E2542C580C /* EventNodeEditor.h */,
+				087136FA6A7A0E01738EEF03 /* SignalGeneratorEditor.cpp */,
+				10F82563E4A633BC234B2800 /* SignalGeneratorEditor.h */,
+				CF9878CE31A1B41406C3457B /* LfpDisplayEditor.cpp */,
+				C02C160190E417B42F73680A /* LfpDisplayEditor.h */,
+				FC5939F3D2A31BB43EA3E393 /* SourceNodeEditor.cpp */,
+				62DA962299323A2FA134203D /* SourceNodeEditor.h */,
+				C2ED801EA28FBA9764E76349 /* SplitterEditor.cpp */,
+				C177B371A0CEC8E7B9131865 /* SplitterEditor.h */,
+				399CBACE291A425A2B9497EF /* SpikeDetectorEditor.cpp */,
+				7FC3C64A06A9FA2C828F8744 /* SpikeDetectorEditor.h */,
+				5DDBEE64DC706CE804E5F0AA /* AudioEditor.cpp */,
+				303B2522EAC7CD3C33EF150C /* AudioEditor.h */,
+				35AFD01064BF29D90EEDF413 /* FilterEditor.cpp */,
+				AD4BF1BC602902B20AEBF49C /* FilterEditor.h */,
+				22FD0613BADE6C36A6A7A25C /* GenericEditor.cpp */,
+				F0B8C75B1AA6E8D1BC620653 /* GenericEditor.h */,
+			);
+			name = Editors;
+			sourceTree = "<group>";
+		};
+		98D3BECE25EB3CF1F64F54B4 /* Source */ = {
+			isa = PBXGroup;
+			children = (
+				21721C7CD4451993F10354CB /* Plugins */,
+				CA0A1584725D21237DBCD70A /* AccessClass.cpp */,
+				63992CB3AC42F91A51135EAC /* AccessClass.h */,
+				8F98BACF97340868397BA4BB /* Network */,
+				B3AB794228C0205240A8F72E /* Dsp */,
+				FFA2631FEEE7932BE08907A6 /* Audio */,
+				33A88A7C3FF426F051834D6A /* Processors */,
+				DA0DBF6B29B99364A145484A /* UI */,
+				77F2E2E7A2419CB172C0B1EA /* MainWindow.cpp */,
+				3E3E4F25C71B800C97AC63B9 /* MainWindow.h */,
+				19D5134F99CC551B01D5A7EF /* Main.cpp */,
+			);
+			name = Source;
+			sourceTree = "<group>";
+		};
+		A1AD89D398583E71F6ED8A6E /* DataThreads */ = {
+			isa = PBXGroup;
+			children = (
+				0D2903C450AE862C2C0060AA /* FileReaderThread.cpp */,
+				BD07C36AC2ECF10942F0A229 /* FileReaderThread.h */,
+				24616D6D2297C87D371B0363 /* okFrontPanelDLL.cpp */,
+				AA7B88F969CE43331035DE98 /* okFrontPanelDLL.h */,
+				6B156D132738F6C7C948378F /* NetworkThread.cpp */,
+				7BD204C890F9A2F301B15128 /* NetworkThread.h */,
+				A9142BFEFE7EB34D919ED0A0 /* FPGAThread.cpp */,
+				46E436D1B9538DB8487F0D8D /* FPGAThread.h */,
+				F20726FD9F586FDE2CB42901 /* DataBuffer.cpp */,
+				F062CCE0FB40E6C65A6493F4 /* DataBuffer.h */,
+				6D94C2733E967EC6A91B719A /* IntanThread.cpp */,
+				21C560B017F1C0A48B950155 /* IntanThread.h */,
+				72123888A7DD78159AA032AF /* DataThread.cpp */,
+				2164BFCDF57A5AA752CAA3A2 /* DataThread.h */,
+			);
+			name = DataThreads;
+			sourceTree = "<group>";
+		};
+		B3AB794228C0205240A8F72E /* Dsp */ = {
+			isa = PBXGroup;
+			children = (
+				B30EF131FE61BAA4C1818102 /* Bessel.cpp */,
+				D55947E71EB4AF25C1FC7089 /* Bessel.h */,
+				07AE46453303977ED64E38ED /* Biquad.cpp */,
+				9EBBC43B9522EC9E6B607493 /* Biquad.h */,
+				73C6FF74D6A31CA13C0D7C5C /* Butterworth.cpp */,
+				8B70886CFCD13A761567DE7B /* Butterworth.h */,
+				742284C84C72C882E02E7974 /* Cascade.cpp */,
+				2B8E059E57EB92EAC589C6B4 /* Cascade.h */,
+				D44DBE2FF15A98834F222766 /* ChebyshevI.cpp */,
+				553E92DB60C7D5104B780781 /* ChebyshevI.h */,
+				1F9836FC5A8FDF2293C9A232 /* ChebyshevII.cpp */,
+				833030703B66CDD9DA94155B /* ChebyshevII.h */,
+				F7620D8D567CCE463ADDE0A6 /* Common.h */,
+				93FACAE1DC7A236505359477 /* Custom.cpp */,
+				E4AEAC4AD1D1C6A80A2CD70A /* Custom.h */,
+				3E8E2F9C583077B298525FD1 /* Design.cpp */,
+				CD05957EC804348231739108 /* Design.h */,
+				E8214D83845C25F39EEC13CD /* Documentation.cpp */,
+				21E5288817625724406FD3A1 /* Dsp.h */,
+				293B003BD6E113C5AD1BB131 /* Elliptic.cpp */,
+				60F060DBD5ACF36E0A407BC1 /* Elliptic.h */,
+				A9AF10F6A89F85989C62F856 /* Filter.cpp */,
+				7C225F446A96BED7F585F66B /* Filter.h */,
+				314D53C7C13C28A25588ABCF /* Layout.h */,
+				706CBE9178440675868F2379 /* Legendre.cpp */,
+				1EC547C25C29FE679BAF8B4D /* Legendre.h */,
+				4D63E86C8A9F721B9C0FA95E /* MathSupplement.h */,
+				BF8EB3483F66AA7F61E6D863 /* Param.cpp */,
+				1E0F3076D1689E83422F6B4E /* Params.h */,
+				137CF1AB4144076D79D50975 /* PoleFilter.cpp */,
+				5B1D08D98AD9F623962A38B2 /* PoleFilter.h */,
+				E6FF4D4C70794123A52B9E82 /* RBJ.cpp */,
+				E8503A3E123FCFBFA317EAE6 /* RBJ.h */,
+				F4A53064BA75472765338C1D /* RootFinder.cpp */,
+				1D1DF895F34C981407EDB8E8 /* RootFinder.h */,
+				1F5435604926FF2C06575DCC /* SmoothedFilter.h */,
+				0D20C3399D0492771F7A808A /* State.cpp */,
+				186F011C1ABC55DB39717105 /* State.h */,
+				92C241C7F87B5933B0E6E03F /* Types.h */,
+				E27B5891A52FDAB2B00901A0 /* Utilities.h */,
+			);
+			name = Dsp;
+			sourceTree = "<group>";
+		};
+		D01A90ED1DFB15778648E288 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				D91BA61C12BFEBE59B577805 /* Info.plist */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		DA0DBF6B29B99364A145484A /* UI */ = {
+			isa = PBXGroup;
+			children = (
+				E1C6E67757EC5D68093BD760 /* EditorViewportButtons.cpp */,
+				2BC65E923E245AE23AE7BB8B /* EditorViewportButtons.h */,
+				6CD0D896FEB77B261C62447E /* SignalChainManager.cpp */,
+				182F8F9073A2007403C10C51 /* SignalChainManager.h */,
+				EB824B60F600C19193ADFA5F /* EditorViewport.cpp */,
+				54A33424E41D55153F6EB422 /* EditorViewport.h */,
+				B28CC9409188C9A200AAAFFC /* ProcessorList.cpp */,
+				242E7E62B8641B1224E25442 /* ProcessorList.h */,
+				A32D8455B95FD230EBFD7891 /* CustomLookAndFeel.cpp */,
+				F70641473A3E7C0DC5168858 /* CustomLookAndFeel.h */,
+				AA00883DC021E36B7EFDAC43 /* InfoLabel.cpp */,
+				1561F28CD560AB8F2E177628 /* InfoLabel.h */,
+				B977C2809B309C8038CB5D95 /* DataViewport.cpp */,
+				877F9F9DA7A1B51D3EDCBC07 /* DataViewport.h */,
+				EEDA71600D817BF9444FE3E7 /* MessageCenter.cpp */,
+				4EE6CA70F229EDE04E7E320B /* MessageCenter.h */,
+				5AB4A3A63B9FDEAB09EEC9C8 /* ControlPanel.cpp */,
+				3B70B21129D91B16A2F1CE80 /* ControlPanel.h */,
+				2A78F719BAFBDCD63AE9A88A /* UIComponent.cpp */,
+				DB605BA15852F367DF625300 /* UIComponent.h */,
+			);
+			name = UI;
+			sourceTree = "<group>";
+		};
+		F3C957A2F364B760F6959DE9 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				FAB58A8AE7DCBAC0CF311D14 /* Cocoa.framework */,
+				39FAF9808D0EFB6C8170D8B8 /* Carbon.framework */,
+				0B661DF3EFF63CFFCCA76AF4 /* IOKit.framework */,
+				A9B11C1B693E380C29F53F78 /* CoreAudio.framework */,
+				D08C5BF3FF3AC38C2BB5F921 /* CoreMIDI.framework */,
+				6A67346CD9B6D590108C7B6E /* WebKit.framework */,
+				9AFA895DFA2087804F47ECF9 /* DiscRecording.framework */,
+				54662C69F6AA71B55D68F12E /* OpenGL.framework */,
+				191441B631182A346D494BB5 /* QuartzCore.framework */,
+				1CBCB9D2FE5B967D93785E75 /* QTKit.framework */,
+				BF41F256D0C244C2C02AE6E1 /* QuickTime.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		FFA2631FEEE7932BE08907A6 /* Audio */ = {
+			isa = PBXGroup;
+			children = (
+				F74662D3D82975EDB5AD42E0 /* AudioComponent.cpp */,
+				FA55B9FDE138CCB1F16BA905 /* AudioComponent.h */,
+			);
+			name = Audio;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		C1E94289C8EA03969CA6896C /* open-ephys */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 91E2BBD5023776511AE6753C /* Build configuration list for PBXNativeTarget "open-ephys" */;
+			buildPhases = (
+				7D11CCCE7B7FAA037837E9F0 /* Resources */,
+				49B8C83C4A6BA460E2492EAD /* Sources */,
+				FDDDE8762356EE886B1C1C9E /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "open-ephys";
+			productInstallPath = "$(HOME)/Applications";
+			productName = "open-ephys";
+			productReference = 0837481AD187A1E6CBCAC577 /* open-ephys.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		CC82D4D2B9F0219708ACBEB3 /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = FAAFAE9A22D4CD0A7BE65048 /* Build configuration list for PBXProject "open-ephys" */;
+			compatibilityVersion = "Xcode 3.0";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+			);
+			mainGroup = 4EC15B00A5B83F4BF29C25C5 /* Source */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				C1E94289C8EA03969CA6896C /* open-ephys */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		7D11CCCE7B7FAA037837E9F0 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		49B8C83C4A6BA460E2492EAD /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				09E5633D492B59E418AC11C9 /* AccessClass.cpp in Sources */,
+				D379BC3417418182ECFA5716 /* PracticalSocket.cpp in Sources */,
+				2C6D200191B27DDF088B3089 /* Bessel.cpp in Sources */,
+				BF78E6E9903CF5A5C53789B9 /* Biquad.cpp in Sources */,
+				903C5F83BB9E6DEA71A0D6E5 /* Butterworth.cpp in Sources */,
+				5EE932D782BFB7100D014399 /* Cascade.cpp in Sources */,
+				AEA369E154CA607D8D62CC2E /* ChebyshevI.cpp in Sources */,
+				F0EB404ED0A4EEAB0F238BDC /* ChebyshevII.cpp in Sources */,
+				B8BF3036DDF5BD761CAF416A /* Custom.cpp in Sources */,
+				BBE4B49A8E596B53CE157EAD /* Design.cpp in Sources */,
+				0BBDB7C2B8CE82F1B0844B70 /* Documentation.cpp in Sources */,
+				FA6CF7D26F81253A3E1D13CB /* Elliptic.cpp in Sources */,
+				BD15E927FB571B9D2F93F82C /* Filter.cpp in Sources */,
+				40FFED3C981ED12AA4EA0AA0 /* Legendre.cpp in Sources */,
+				49DA796E77871A124D5F49C1 /* Param.cpp in Sources */,
+				ED44C2F2AA0DC81161075167 /* PoleFilter.cpp in Sources */,
+				14E9BBD79F22198FE23EB88A /* RBJ.cpp in Sources */,
+				8E138283FC265B58D252AAC3 /* RootFinder.cpp in Sources */,
+				EE1DC0B09AE0727BC7A5A99C /* State.cpp in Sources */,
+				4ACF816CB5CDB285D8005AB8 /* AudioComponent.cpp in Sources */,
+				125C853C87498E12942A898C /* ReferenceNode.cpp in Sources */,
+				AEE153DB070AD3023780DAED /* PhaseDetector.cpp in Sources */,
+				448F8ACAAE9A5354E4E013E8 /* AudioResamplingNode.cpp in Sources */,
+				E96CEDA0BFB8ED12B26B5AD5 /* Channel.cpp in Sources */,
+				67343B589F0FF80FF8750F29 /* ofArduino.cpp in Sources */,
+				A84DF9525DC988520F7C3217 /* ofSerial.cpp in Sources */,
+				DD043D069210932477F01A30 /* EventDetector.cpp in Sources */,
+				D24C62FA0307F51185EE3481 /* FPGAOutput.cpp in Sources */,
+				AEB65E53845FA668D89CE15E /* ArduinoOutput.cpp in Sources */,
+				717D108DC8B2379D556C4B2F /* Parameter.cpp in Sources */,
+				1F67A9ACD509FB4DC5A633DF /* SpikeDisplayNode.cpp in Sources */,
+				B992DDBFF8928A985EEE1557 /* WiFiOutput.cpp in Sources */,
+				F1268EC5E783EC8ECEBCA5D3 /* LfpDisplayNode.cpp in Sources */,
+				EAE9186154287129292E7982 /* RecordControl.cpp in Sources */,
+				4A00153E1E69A74BC6B7D8A6 /* Merger.cpp in Sources */,
+				5F13B8FFB1584BFF6C05AD39 /* Splitter.cpp in Sources */,
+				3D3A992E10308BA189CECE05 /* SpikePlot.cpp in Sources */,
+				55A240CCFCD604CA8DF8FC8C /* BaseUIElement.cpp in Sources */,
+				8025F04ED261C7F7D2DC0F06 /* GenericAxes.cpp in Sources */,
+				49F046C8BE137BF77338DD7B /* PlotUtils.cpp in Sources */,
+				566E42D2B7105CFB4DB45170 /* ProjectionAxes.cpp in Sources */,
+				BCD7C4797178C8EF65CDC2D7 /* WaveAxes.cpp in Sources */,
+				9145D84C7D665BCAFE698432 /* SpikeObject.cpp in Sources */,
+				7659F31912D12C91E9554909 /* SpikeDisplayCanvas.cpp in Sources */,
+				9D687F73F2FD2462C5D5588C /* DataWindow.cpp in Sources */,
+				B13883377C9316B9603336B4 /* LfpDisplayCanvas.cpp in Sources */,
+				073B178E7EF1759BA0AACCCE /* OpenGLCanvas.cpp in Sources */,
+				4BE0DDA01B73223EF0BD934A /* SpikeDetector.cpp in Sources */,
+				08B501E0D7764C6B613AF529 /* AudioNode.cpp in Sources */,
+				9CBA3837CC8CAA03A03F2D9C /* EventNode.cpp in Sources */,
+				AAC4D8DB08B2A05A576A5F17 /* RecordControlEditor.cpp in Sources */,
+				D54F398EBE746D5BCC86FB78 /* ReferenceNodeEditor.cpp in Sources */,
+				6F41ED502815AAF2F2EAB8B7 /* ResamplingNodeEditor.cpp in Sources */,
+				9C77BFFE7BA865E20121E707 /* FPGAOutputEditor.cpp in Sources */,
+				BA64AA28A3E0DC10AB0A9380 /* ArduinoOutputEditor.cpp in Sources */,
+				BCB6C021A03F0AB0248C7F8A /* ChannelSelector.cpp in Sources */,
+				632C915D01C42D27E828BFA9 /* ParameterEditor.cpp in Sources */,
+				DD22A06702F4CF995893DD5C /* SpikeDisplayEditor.cpp in Sources */,
+				F4CEF74DDCD7EFA0891249B5 /* VisualizerEditor.cpp in Sources */,
+				93A3E6284F2DAED3F491332B /* MergerEditor.cpp in Sources */,
+				CB77C89226102EF30F85E3EC /* ImageIcon.cpp in Sources */,
+				A126280FF39A61DEFD3ABFE5 /* WiFiOutputEditor.cpp in Sources */,
+				2ADE508EC26B703176ED915C /* EventNodeEditor.cpp in Sources */,
+				8B55C700ED8484944FED1EB1 /* SignalGeneratorEditor.cpp in Sources */,
+				D3B54B20674A6BA87CE6FDEC /* LfpDisplayEditor.cpp in Sources */,
+				5D5CAF52A5498EEFB8EA924D /* SourceNodeEditor.cpp in Sources */,
+				203EA3786F7928C0386FFAC2 /* SplitterEditor.cpp in Sources */,
+				28E4724351374881E83BD69C /* SpikeDetectorEditor.cpp in Sources */,
+				B092C479F4C92AF2FEBE5A11 /* AudioEditor.cpp in Sources */,
+				3B146B8898CEE9965A9A0FB8 /* FilterEditor.cpp in Sources */,
+				CFE62980E342BE2875BB3586 /* GenericEditor.cpp in Sources */,
+				A1B4D286AC7ED372742C41B2 /* FileReaderThread.cpp in Sources */,
+				25D4C87F4C7C842B0522DA5F /* okFrontPanelDLL.cpp in Sources */,
+				E82FBA173C87CE2AADB84942 /* NetworkThread.cpp in Sources */,
+				2F21546229BEF148C74ECA45 /* FPGAThread.cpp in Sources */,
+				9549DA2D2FF0614B155990A0 /* DataBuffer.cpp in Sources */,
+				DF15E1683A3722FE88EE5C7F /* IntanThread.cpp in Sources */,
+				FCD66EA8735FE1CCA522B7C5 /* DataThread.cpp in Sources */,
+				60FF6BBFC1E9255F190C3146 /* RecordNode.cpp in Sources */,
+				513EF1439498856E0C8C697E /* SignalGenerator.cpp in Sources */,
+				03932AC6269AFA895DFA2087 /* ResamplingNode.cpp in Sources */,
+				AD6DD37DB41B1177F9F77F51 /* FilterNode.cpp in Sources */,
+				CF0149E6ECBA264A264C7BB3 /* SourceNode.cpp in Sources */,
+				63E5D65E7B097CADB277DBB6 /* GenericProcessor.cpp in Sources */,
+				B2BE56A1260E9C87DECD2E4F /* ProcessorGraph.cpp in Sources */,
+				5E07E54EEF69F5BEDE84D535 /* EditorViewportButtons.cpp in Sources */,
+				2EC3E064E5849D2FDD9BBDBE /* SignalChainManager.cpp in Sources */,
+				F3F3E688834C724BC35231F1 /* EditorViewport.cpp in Sources */,
+				ECBA3D0CB756E83C4DA9685E /* ProcessorList.cpp in Sources */,
+				13457B3248E7646270A4FF88 /* CustomLookAndFeel.cpp in Sources */,
+				D060C0893EDAE6CBC86A5FE2 /* InfoLabel.cpp in Sources */,
+				E36C0018635A85E09D4EDE01 /* DataViewport.cpp in Sources */,
+				C170A763D33146C74ED4CE4B /* MessageCenter.cpp in Sources */,
+				116BB2F62451986C75586F9D /* ControlPanel.cpp in Sources */,
+				1F301384375DA0F3652C01DA /* UIComponent.cpp in Sources */,
+				4DA172021AB3AB88E70FAF99 /* MainWindow.cpp in Sources */,
+				F80F061AE618AD08407BCA9A /* Main.cpp in Sources */,
+				5F102AE69FB814467A298A97 /* BinaryData.cpp in Sources */,
+				F18F6DF7E80854DE6780531D /* JuceLibraryCode1.mm in Sources */,
+				FD157D98C4C31AE782659718 /* JuceLibraryCode2.mm in Sources */,
+				09AC8D29A08EE1FFBC4ADB23 /* JuceLibraryCode3.mm in Sources */,
+				05339DCA8C59B707E61F1F2E /* JuceLibraryCode4.mm in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		31BDF5E09EB0A9A32E66857E /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+				GCC_MODEL_TUNING = G5;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_MISSING_PARENTHESES = YES;
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
-				WARNING_CFLAGS = -Wreorder;
-				GCC_MODEL_TUNING = G5;
-				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRODUCT_NAME = "open-ephys";
+				WARNING_CFLAGS = "-Wreorder";
 				ZERO_LINK = NO;
-				DEBUG_INFORMATION_FORMAT = "dwarf";
-				PRODUCT_NAME = "open-ephys"; }; name = Debug; };
-		31BDF5E09EB0A9A32E66857E = { isa = XCBuildConfiguration; buildSettings = {
+			};
+			name = Release;
+		};
+		4E274274B609972E0988736B /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
 				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+				GCC_MODEL_TUNING = G5;
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
 				GCC_WARN_MISSING_PARENTHESES = YES;
 				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
 				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
-				WARNING_CFLAGS = -Wreorder;
-				GCC_MODEL_TUNING = G5;
-				GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRODUCT_NAME = "open-ephys";
+				WARNING_CFLAGS = "-Wreorder";
 				ZERO_LINK = NO;
-				DEBUG_INFORMATION_FORMAT = "dwarf";
-				PRODUCT_NAME = "open-ephys"; }; name = Release; };
-		FAAFAE9A22D4CD0A7BE65048 = { isa = XCConfigurationList; buildConfigurations = (
-				4E274274B609972E0988736B,
-				31BDF5E09EB0A9A32E66857E ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
-		91E2BBD5023776511AE6753C = { isa = XCConfigurationList; buildConfigurations = (
-				C3E8FB47D6069235EA9D6FD7,
-				5D7484BAF16E272FF0E9EEAE ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
-		7D11CCCE7B7FAA037837E9F0 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (  ); runOnlyForDeploymentPostprocessing = 0; };
-		49B8C83C4A6BA460E2492EAD = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
-				09E5633D492B59E418AC11C9,
-				D379BC3417418182ECFA5716,
-				2C6D200191B27DDF088B3089,
-				BF78E6E9903CF5A5C53789B9,
-				903C5F83BB9E6DEA71A0D6E5,
-				5EE932D782BFB7100D014399,
-				AEA369E154CA607D8D62CC2E,
-				F0EB404ED0A4EEAB0F238BDC,
-				B8BF3036DDF5BD761CAF416A,
-				BBE4B49A8E596B53CE157EAD,
-				0BBDB7C2B8CE82F1B0844B70,
-				FA6CF7D26F81253A3E1D13CB,
-				BD15E927FB571B9D2F93F82C,
-				40FFED3C981ED12AA4EA0AA0,
-				49DA796E77871A124D5F49C1,
-				ED44C2F2AA0DC81161075167,
-				14E9BBD79F22198FE23EB88A,
-				8E138283FC265B58D252AAC3,
-				EE1DC0B09AE0727BC7A5A99C,
-				4ACF816CB5CDB285D8005AB8,
-				125C853C87498E12942A898C,
-				AEE153DB070AD3023780DAED,
-				448F8ACAAE9A5354E4E013E8,
-				E96CEDA0BFB8ED12B26B5AD5,
-				67343B589F0FF80FF8750F29,
-				A84DF9525DC988520F7C3217,
-				DD043D069210932477F01A30,
-				D24C62FA0307F51185EE3481,
-				AEB65E53845FA668D89CE15E,
-				717D108DC8B2379D556C4B2F,
-				1F67A9ACD509FB4DC5A633DF,
-				B992DDBFF8928A985EEE1557,
-				F1268EC5E783EC8ECEBCA5D3,
-				EAE9186154287129292E7982,
-				4A00153E1E69A74BC6B7D8A6,
-				5F13B8FFB1584BFF6C05AD39,
-				3D3A992E10308BA189CECE05,
-				55A240CCFCD604CA8DF8FC8C,
-				8025F04ED261C7F7D2DC0F06,
-				49F046C8BE137BF77338DD7B,
-				566E42D2B7105CFB4DB45170,
-				BCD7C4797178C8EF65CDC2D7,
-				9145D84C7D665BCAFE698432,
-				7659F31912D12C91E9554909,
-				9D687F73F2FD2462C5D5588C,
-				B13883377C9316B9603336B4,
-				073B178E7EF1759BA0AACCCE,
-				4BE0DDA01B73223EF0BD934A,
-				08B501E0D7764C6B613AF529,
-				9CBA3837CC8CAA03A03F2D9C,
-				AAC4D8DB08B2A05A576A5F17,
-				D54F398EBE746D5BCC86FB78,
-				6F41ED502815AAF2F2EAB8B7,
-				9C77BFFE7BA865E20121E707,
-				BA64AA28A3E0DC10AB0A9380,
-				BCB6C021A03F0AB0248C7F8A,
-				632C915D01C42D27E828BFA9,
-				DD22A06702F4CF995893DD5C,
-				F4CEF74DDCD7EFA0891249B5,
-				93A3E6284F2DAED3F491332B,
-				CB77C89226102EF30F85E3EC,
-				A126280FF39A61DEFD3ABFE5,
-				2ADE508EC26B703176ED915C,
-				8B55C700ED8484944FED1EB1,
-				D3B54B20674A6BA87CE6FDEC,
-				5D5CAF52A5498EEFB8EA924D,
-				203EA3786F7928C0386FFAC2,
-				28E4724351374881E83BD69C,
-				B092C479F4C92AF2FEBE5A11,
-				3B146B8898CEE9965A9A0FB8,
-				CFE62980E342BE2875BB3586,
-				A1B4D286AC7ED372742C41B2,
-				25D4C87F4C7C842B0522DA5F,
-				E82FBA173C87CE2AADB84942,
-				2F21546229BEF148C74ECA45,
-				9549DA2D2FF0614B155990A0,
-				DF15E1683A3722FE88EE5C7F,
-				FCD66EA8735FE1CCA522B7C5,
-				60FF6BBFC1E9255F190C3146,
-				513EF1439498856E0C8C697E,
-				03932AC6269AFA895DFA2087,
-				AD6DD37DB41B1177F9F77F51,
-				CF0149E6ECBA264A264C7BB3,
-				63E5D65E7B097CADB277DBB6,
-				B2BE56A1260E9C87DECD2E4F,
-				5E07E54EEF69F5BEDE84D535,
-				2EC3E064E5849D2FDD9BBDBE,
-				F3F3E688834C724BC35231F1,
-				ECBA3D0CB756E83C4DA9685E,
-				13457B3248E7646270A4FF88,
-				D060C0893EDAE6CBC86A5FE2,
-				E36C0018635A85E09D4EDE01,
-				C170A763D33146C74ED4CE4B,
-				116BB2F62451986C75586F9D,
-				1F301384375DA0F3652C01DA,
-				4DA172021AB3AB88E70FAF99,
-				F80F061AE618AD08407BCA9A,
-				5F102AE69FB814467A298A97,
-				F18F6DF7E80854DE6780531D,
-				FD157D98C4C31AE782659718,
-				09AC8D29A08EE1FFBC4ADB23,
-				05339DCA8C59B707E61F1F2E ); runOnlyForDeploymentPostprocessing = 0; };
-		FDDDE8762356EE886B1C1C9E = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
-				6125D1F24D314D771E3A350E,
-				AD58AC45D09BA8A736B3D67C,
-				F8751DCE1BCF3EC9C7A46154,
-				37F9B7C362F6F31231D10927,
-				BCA6FAB5DADF0AF804E83F6E,
-				DB7C2DF80130B2D0D8DD9BD2,
-				11885833D32D03BA7E17138A,
-				90C038F480F790988D0F928E,
-				C038A696FD85E64E249AF737,
-				881EDBF5D2D6FD7B53B71182,
-				14BE1E76E7BB3593A5F66DCC ); runOnlyForDeploymentPostprocessing = 0; };
-		C1E94289C8EA03969CA6896C = { isa = PBXNativeTarget; buildConfigurationList = 91E2BBD5023776511AE6753C; buildPhases = (
-				7D11CCCE7B7FAA037837E9F0,
-				49B8C83C4A6BA460E2492EAD,
-				FDDDE8762356EE886B1C1C9E ); buildRules = ( ); dependencies = ( ); name = "open-ephys"; productName = "open-ephys"; productReference = 0837481AD187A1E6CBCAC577; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
-		CC82D4D2B9F0219708ACBEB3 = { isa = PBXProject; buildConfigurationList = FAAFAE9A22D4CD0A7BE65048; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = 4EC15B00A5B83F4BF29C25C5; projectDirPath = ""; projectRoot = ""; targets = ( C1E94289C8EA03969CA6896C ); };
+			};
+			name = Debug;
+		};
+		5D7484BAF16E272FF0E9EEAE /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1)";
+				ARCHS_STANDARD_64_BIT_PRE_XCODE_3_1 = x86_64;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+				GCC_OPTIMIZATION_LEVEL = 3;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"_NDEBUG=1",
+					"NDEBUG=1",
+					"JUCE_ObjCExtraSuffix=fea2mT",
+					"JUCER_XCODE_MAC_F6D2F4CF=1",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+				HEADER_SEARCH_PATHS = (
+					/usr/local/include,
+					/usr/local/include/freetype2,
+					"$(inherited)",
+					/opt/local/include,
+				);
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				LIBRARY_SEARCH_PATHS = /opt/local/lib;
+				MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+				OTHER_LDFLAGS = (
+					"-lftdi",
+					"-lftgl",
+				);
+				PREBINDING = NO;
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		C3E8FB47D6069235EA9D6FD7 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)";
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"_DEBUG=1",
+					"DEBUG=1",
+					"JUCE_ObjCExtraSuffix=fea2mT",
+					"JUCER_XCODE_MAC_F6D2F4CF=1",
+				);
+				HEADER_SEARCH_PATHS = (
+					/usr/local/include,
+					/usr/local/include/freetype2,
+					"$(inherited)",
+					/opt/local/include,
+				);
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				LIBRARY_SEARCH_PATHS = /opt/local/lib;
+				MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+				ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH_64)";
+				OTHER_LDFLAGS = (
+					"-lftdi",
+					"-lftgl",
+				);
+				PREBINDING = NO;
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		91E2BBD5023776511AE6753C /* Build configuration list for PBXNativeTarget "open-ephys" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C3E8FB47D6069235EA9D6FD7 /* Debug */,
+				5D7484BAF16E272FF0E9EEAE /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Debug;
+		};
+		FAAFAE9A22D4CD0A7BE65048 /* Build configuration list for PBXProject "open-ephys" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4E274274B609972E0988736B /* Debug */,
+				31BDF5E09EB0A9A32E66857E /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Debug;
+		};
+/* End XCConfigurationList section */
 	};
-	rootObject = CC82D4D2B9F0219708ACBEB3;
+	rootObject = CC82D4D2B9F0219708ACBEB3 /* Project object */;
 }
diff --git a/Builds/MacOSX/open-ephys.xcodeproj/project.xcworkspace/xcuserdata/Josh.xcuserdatad/UserInterfaceState.xcuserstate b/Builds/MacOSX/open-ephys.xcodeproj/project.xcworkspace/xcuserdata/Josh.xcuserdatad/UserInterfaceState.xcuserstate
index a90d0461589413e26684eb87716d6f26abe2b8d6..a04f073a2e2f76d5382b9ef59b8b8a0e5c4d52f8 100755
Binary files a/Builds/MacOSX/open-ephys.xcodeproj/project.xcworkspace/xcuserdata/Josh.xcuserdatad/UserInterfaceState.xcuserstate and b/Builds/MacOSX/open-ephys.xcodeproj/project.xcworkspace/xcuserdata/Josh.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/JuceLibraryCode/BinaryData.cpp b/JuceLibraryCode/BinaryData.cpp
index bf45225b0d85503e24a196c4971a5c9ea6d99a12..8244d14a47c0bb7ed9da7a000bfbd2a3debc2b15 100644
--- a/JuceLibraryCode/BinaryData.cpp
+++ b/JuceLibraryCode/BinaryData.cpp
@@ -1312,7 +1312,7 @@ static const unsigned char temp_c0c45b75[] =
 const char* BinaryData::cpmonoplainserialized = (const char*) temp_c0c45b75;
 
 //================== BebasNeue.otf ==================
-static const unsigned char temp_6bd12552[] =
+static const unsigned char temp_7b880677[] =
 { 79,84,84,79,0,11,0,128,0,3,0,48,67,70,70,32,57,136,64,140,0,0,39,76,0,0,70,154,71,80,79,83,223,12,110,56,0,0,116,248,0,0,73,16,71,83,85,66,114,203,114,178,0,0,116,0,0,0,0,246,79,83,47,50,102,169,27,20,0,0,1,32,0,0,0,96,99,109,97,112,211,17,247,228,0,
 0,35,232,0,0,3,68,104,101,97,100,243,84,238,113,0,0,0,188,0,0,0,54,104,104,101,97,6,215,3,186,0,0,0,244,0,0,0,36,104,109,116,120,67,128,39,22,0,0,109,232,0,0,6,24,109,97,120,112,1,134,80,0,0,0,1,24,0,0,0,6,110,97,109,101,230,56,31,140,0,0,1,128,0,0,34,
 101,112,111,115,116,255,184,0,50,0,0,39,44,0,0,0,32,0,1,0,0,0,1,0,131,131,184,68,27,95,15,60,245,0,3,3,232,0,0,0,0,200,111,85,40,0,0,0,0,200,111,85,40,255,119,255,60,3,232,3,130,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,2,188,254,212,0,185,3,232,255,119,255,119,
@@ -1922,10 +1922,10 @@ static const unsigned char temp_6bd12552[] =
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,10,0,3,0,10,0,3,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,24,0,22,0,24,0,22,0,24,0,22,0,24,0,4,0,11,0,4,0,11,0,4,0,11,0,23,0,25,0,23,0,25,0,23,0,25,0,23,0,25,0,23,0,25,0,23,0,25,0,5,0,12,0,6,0,13,0,6,0,19,
 0,21,0,19,0,21,0,19,0,21,0,15,0,17,0,3,0,10,0,22,0,24,0,4,0,11,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,24,0,4,0,11,0,5,0,12,0,5,0,12,0,5,0,12,0,6,0,13,0,0 };
 
-const char* BinaryData::BebasNeue_otf = (const char*) temp_6bd12552;
+const char* BinaryData::BebasNeue_otf = (const char*) temp_7b880677;
 
 //================== cpmono_bold.otf ==================
-static const unsigned char temp_9105132e[] =
+static const unsigned char temp_8e883f13[] =
 { 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,35,187,57,254,0,0,10,112,0,0,84,205,71,83,85,66,106,18,122,98,0,0,98,20,0,0,5,216,79,83,47,50,104,215,98,101,0,0,1,16,0,0,0,96,99,109,97,112,38,198,129,33,0,0,5,56,0,0,5,24,104,101,97,100,237,187,124,213,0,
 0,0,172,0,0,0,54,104,104,101,97,6,229,0,115,0,0,0,228,0,0,0,36,104,109,116,120,58,11,56,208,0,0,95,64,0,0,2,212,109,97,120,112,1,105,80,0,0,0,1,8,0,0,0,6,110,97,109,101,226,66,147,104,0,0,1,112,0,0,3,198,112,111,115,116,255,181,0,161,0,0,10,80,0,0,0,
 32,0,1,0,0,0,1,0,0,64,149,238,152,95,15,60,245,0,3,3,232,0,0,0,0,198,13,28,168,0,0,0,0,198,13,28,168,255,7,255,16,3,131,3,149,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,3,144,254,224,0,200,2,138,255,7,255,7,3,131,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,80,0,1,105,
@@ -2269,10 +2269,10 @@ static const unsigned char temp_9105132e[] =
 0,2,0,21,0,4,0,12,0,0,0,14,0,19,0,9,0,21,0,23,0,15,0,28,0,28,0,18,0,36,0,51,0,19,0,53,0,54,0,35,0,57,0,60,0,37,0,63,0,66,0,41,0,71,0,72,0,45,0,82,0,82,0,47,0,92,0,92,0,48,0,99,0,99,0,49,0,103,0,106,0,50,0,140,0,162,0,54,0,165,0,168,0,77,0,179,0,184,0,
 81,0,208,0,209,0,87,0,214,0,214,0,89,0,224,1,6,0,90,1,8,1,8,0,129,1,13,1,13,0,130,0,1,0,26,0,3,0,13,0,20,0,24,0,25,0,26,0,27,0,52,0,55,0,56,0,61,0,62,0,67,0,68,0,69,0,70,0,134,0,135,0,136,0,137,0,138,0,139,0,163,0,164,0,169,1,7,0,0 };
 
-const char* BinaryData::cpmono_bold_otf = (const char*) temp_9105132e;
+const char* BinaryData::cpmono_bold_otf = (const char*) temp_8e883f13;
 
 //================== cpmono_extra_light.otf ==================
-static const unsigned char temp_695ee124[] =
+static const unsigned char temp_8172799f[] =
 { 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,248,217,201,134,0,0,10,164,0,0,78,103,71,83,85,66,106,18,122,98,0,0,91,224,0,0,5,216,79,83,47,50,104,210,98,59,0,0,1,16,0,0,0,96,99,109,97,112,38,198,129,33,0,0,5,108,0,0,5,24,104,101,97,100,237,187,115,86,
 0,0,0,172,0,0,0,54,104,104,101,97,6,229,0,179,0,0,0,228,0,0,0,36,104,109,116,120,81,57,79,54,0,0,89,12,0,0,2,212,109,97,120,112,1,105,80,0,0,0,1,8,0,0,0,6,110,97,109,101,101,109,217,12,0,0,1,112,0,0,3,252,112,111,115,116,255,181,0,161,0,0,10,132,0,0,
 0,32,0,1,0,0,0,1,0,0,97,176,60,66,95,15,60,245,0,3,3,232,0,0,0,0,198,13,23,248,0,0,0,0,198,13,23,248,255,71,255,16,3,67,3,118,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,3,144,254,224,0,200,2,138,255,71,255,71,3,67,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,80,0,1,
@@ -2597,10 +2597,10 @@ static const unsigned char temp_695ee124[] =
 0,55,0,61,0,62,0,70,0,2,0,21,0,4,0,12,0,0,0,14,0,19,0,9,0,21,0,23,0,15,0,28,0,28,0,18,0,36,0,51,0,19,0,53,0,54,0,35,0,57,0,60,0,37,0,63,0,66,0,41,0,71,0,72,0,45,0,82,0,82,0,47,0,92,0,92,0,48,0,99,0,99,0,49,0,103,0,106,0,50,0,140,0,162,0,54,0,165,0,168,
 0,77,0,179,0,184,0,81,0,208,0,209,0,87,0,214,0,214,0,89,0,224,1,6,0,90,1,8,1,8,0,129,1,13,1,13,0,130,0,1,0,26,0,3,0,13,0,20,0,24,0,25,0,26,0,27,0,52,0,55,0,56,0,61,0,62,0,67,0,68,0,69,0,70,0,134,0,135,0,136,0,137,0,138,0,139,0,163,0,164,0,169,1,7,0,0 };
 
-const char* BinaryData::cpmono_extra_light_otf = (const char*) temp_695ee124;
+const char* BinaryData::cpmono_extra_light_otf = (const char*) temp_8172799f;
 
 //================== cpmono_light.otf ==================
-static const unsigned char temp_ed13a613[] =
+static const unsigned char temp_9ff5f6ce[] =
 { 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,64,226,171,159,0,0,10,124,0,0,81,133,71,83,85,66,106,18,122,98,0,0,94,216,0,0,5,216,79,83,47,50,104,211,98,73,0,0,1,16,0,0,0,96,99,109,97,112,38,198,129,33,0,0,5,68,0,0,5,24,104,101,97,100,237,187,127,116,0,
 0,0,172,0,0,0,54,104,104,101,97,6,229,0,158,0,0,0,228,0,0,0,36,104,109,116,120,73,105,71,167,0,0,92,4,0,0,2,212,109,97,120,112,1,105,80,0,0,0,1,8,0,0,0,6,110,97,109,101,106,76,91,179,0,0,1,112,0,0,3,209,112,111,115,116,255,181,0,161,0,0,10,92,0,0,0,32,
 0,1,0,0,0,1,0,0,215,127,97,71,95,15,60,245,0,3,3,232,0,0,0,0,198,13,30,2,0,0,0,0,198,13,30,2,255,50,255,16,3,88,3,128,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,3,144,254,224,0,200,2,138,255,50,255,50,3,88,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,80,0,1,105,0,0,
@@ -2935,10 +2935,10 @@ static const unsigned char temp_ed13a613[] =
 0,4,0,12,0,0,0,14,0,19,0,9,0,21,0,23,0,15,0,28,0,28,0,18,0,36,0,51,0,19,0,53,0,54,0,35,0,57,0,60,0,37,0,63,0,66,0,41,0,71,0,72,0,45,0,82,0,82,0,47,0,92,0,92,0,48,0,99,0,99,0,49,0,103,0,106,0,50,0,140,0,162,0,54,0,165,0,168,0,77,0,179,0,184,0,81,0,208,
 0,209,0,87,0,214,0,214,0,89,0,224,1,6,0,90,1,8,1,8,0,129,1,13,1,13,0,130,0,1,0,26,0,3,0,13,0,20,0,24,0,25,0,26,0,27,0,52,0,55,0,56,0,61,0,62,0,67,0,68,0,69,0,70,0,134,0,135,0,136,0,137,0,138,0,139,0,163,0,164,0,169,1,7,0,0 };
 
-const char* BinaryData::cpmono_light_otf = (const char*) temp_ed13a613;
+const char* BinaryData::cpmono_light_otf = (const char*) temp_9ff5f6ce;
 
 //================== cpmono_plain.otf ==================
-static const unsigned char temp_39c3d0c7[] =
+static const unsigned char temp_eca62182[] =
 { 79,84,84,79,0,10,0,128,0,3,0,32,67,70,70,32,153,52,71,27,0,0,10,124,0,0,81,49,71,83,85,66,106,18,122,98,0,0,94,132,0,0,5,216,79,83,47,50,104,213,98,87,0,0,1,16,0,0,0,96,99,109,97,112,38,198,129,33,0,0,5,68,0,0,5,24,104,101,97,100,237,186,121,35,0,0,0,
 172,0,0,0,54,104,104,101,97,6,228,0,137,0,0,0,228,0,0,0,36,104,109,116,120,65,179,64,52,0,0,91,176,0,0,2,212,109,97,120,112,1,105,80,0,0,0,1,8,0,0,0,6,110,97,109,101,95,80,74,175,0,0,1,112,0,0,3,209,112,111,115,116,255,181,0,161,0,0,10,92,0,0,0,32,0,
 1,0,0,0,1,0,0,76,64,104,233,95,15,60,245,0,3,3,232,0,0,0,0,198,13,26,212,0,0,0,0,198,13,26,212,255,28,255,16,3,109,3,139,0,0,0,3,0,2,0,0,0,0,0,0,0,1,0,0,3,144,254,224,0,200,2,138,255,28,255,29,3,109,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,80,0,1,105,
@@ -3272,10 +3272,10 @@ static const unsigned char temp_39c3d0c7[] =
 0,50,0,140,0,162,0,54,0,165,0,168,0,77,0,179,0,184,0,81,0,208,0,209,0,87,0,214,0,214,0,89,0,224,1,6,0,90,1,8,1,8,0,129,1,13,1,13,0,130,0,1,0,26,0,3,0,13,0,20,0,24,0,25,0,26,0,27,0,52,0,55,0,56,0,61,0,62,0,67,0,68,0,69,0,70,0,134,0,135,0,136,0,137,0,138,
 0,139,0,163,0,164,0,169,1,7,0,0 };
 
-const char* BinaryData::cpmono_plain_otf = (const char*) temp_39c3d0c7;
+const char* BinaryData::cpmono_plain_otf = (const char*) temp_eca62182;
 
 //================== miso-bold.ttf ==================
-static const unsigned char temp_6e43b659[] =
+static const unsigned char temp_7dfa977e[] =
 { 0,1,0,0,0,17,1,0,0,4,0,16,76,84,83,72,237,157,221,60,0,0,5,108,0,0,0,227,79,83,47,50,81,16,250,27,0,0,1,152,0,0,0,86,86,68,77,88,108,156,116,37,0,0,231,220,0,0,5,224,99,109,97,112,117,108,128,122,0,0,26,212,0,0,6,164,99,118,116,32,0,20,0,0,0,0,34,224,
 0,0,0,2,102,112,103,109,50,77,115,102,0,0,33,120,0,0,1,98,103,108,121,102,122,237,74,59,0,0,34,228,0,0,184,220,104,100,109,120,139,147,218,195,0,0,6,80,0,0,20,132,104,101,97,100,230,15,38,231,0,0,1,28,0,0,0,54,104,104,101,97,6,202,7,163,0,0,1,84,0,0,
 0,36,104,109,116,120,82,131,27,122,0,0,1,240,0,0,3,124,107,101,114,110,23,5,21,255,0,0,221,128,0,0,4,68,108,111,99,97,100,35,145,228,0,0,219,192,0,0,1,192,109,97,120,112,2,241,2,157,0,0,1,120,0,0,0,32,110,97,109,101,215,203,101,65,0,0,225,196,0,0,3,225,
@@ -3959,10 +3959,10 @@ static const unsigned char temp_6e43b659[] =
 255,203,0,239,0,212,255,203,0,240,0,213,255,203,0,241,0,214,255,202,0,242,0,215,255,202,0,243,0,216,255,202,0,244,0,217,255,202,0,245,0,218,255,202,0,246,0,218,255,201,0,247,0,219,255,201,0,248,0,220,255,201,0,249,0,221,255,201,0,250,0,222,255,201,0,
 251,0,223,255,200,0,252,0,224,255,200,0,253,0,225,255,200,0,254,0,226,255,200,0,255,0,226,255,199,0,0 };
 
-const char* BinaryData::misobold_ttf = (const char*) temp_6e43b659;
+const char* BinaryData::misobold_ttf = (const char*) temp_7dfa977e;
 
 //================== miso-light.ttf ==================
-static const unsigned char temp_b7a73532[] =
+static const unsigned char temp_9ecc78ad[] =
 { 0,1,0,0,0,17,1,0,0,4,0,16,76,84,83,72,109,206,108,252,0,0,5,108,0,0,0,227,79,83,47,50,79,98,250,86,0,0,1,152,0,0,0,86,86,68,77,88,108,201,116,87,0,0,229,68,0,0,5,224,99,109,97,112,117,108,128,122,0,0,26,212,0,0,6,164,99,118,116,32,0,20,0,0,0,0,34,224,
 0,0,0,2,102,112,103,109,50,77,115,102,0,0,33,120,0,0,1,98,103,108,121,102,9,54,37,173,0,0,34,228,0,0,182,56,104,100,109,120,120,118,213,147,0,0,6,80,0,0,20,132,104,101,97,100,230,13,38,194,0,0,1,28,0,0,0,54,104,104,101,97,6,201,7,195,0,0,1,84,0,0,0,36,
 104,109,116,120,82,124,51,141,0,0,1,240,0,0,3,124,107,101,114,110,23,5,21,255,0,0,218,220,0,0,4,68,108,111,99,97,249,219,39,62,0,0,217,28,0,0,1,192,109,97,120,112,2,241,2,188,0,0,1,120,0,0,0,32,110,97,109,101,174,204,29,32,0,0,223,32,0,0,3,240,112,111,
@@ -4628,10 +4628,10 @@ static const unsigned char temp_b7a73532[] =
 203,0,243,0,216,255,203,0,244,0,217,255,203,0,245,0,218,255,202,0,246,0,218,255,202,0,247,0,219,255,202,0,248,0,220,255,202,0,249,0,221,255,201,0,250,0,222,255,201,0,251,0,223,255,201,0,252,0,224,255,201,0,253,0,225,255,201,0,254,0,226,255,200,0,255,
 0,226,255,200,0,0 };
 
-const char* BinaryData::misolight_ttf = (const char*) temp_b7a73532;
+const char* BinaryData::misolight_ttf = (const char*) temp_9ecc78ad;
 
 //================== miso-regular.ttf ==================
-static const unsigned char temp_cedf3b8[] =
+static const unsigned char temp_bfd04473[] =
 { 0,1,0,0,0,17,1,0,0,4,0,16,76,84,83,72,96,206,125,196,0,0,5,108,0,0,0,227,79,83,47,50,79,197,250,61,0,0,1,152,0,0,0,86,86,68,77,88,108,201,116,86,0,0,225,224,0,0,5,224,99,109,97,112,117,108,128,122,0,0,26,212,0,0,6,164,99,118,116,32,0,20,0,0,0,0,34,224,
 0,0,0,2,102,112,103,109,50,77,115,102,0,0,33,120,0,0,1,98,103,108,121,102,144,118,127,194,0,0,34,228,0,0,179,20,104,100,109,120,123,104,215,146,0,0,6,80,0,0,20,132,104,101,97,100,230,14,38,213,0,0,1,28,0,0,0,54,104,104,101,97,6,189,7,195,0,0,1,84,0,0,
 0,36,104,109,116,120,82,124,40,229,0,0,1,240,0,0,3,124,107,101,114,110,23,5,21,255,0,0,215,184,0,0,4,68,108,111,99,97,156,38,200,236,0,0,213,248,0,0,1,192,109,97,120,112,2,241,2,186,0,0,1,120,0,0,0,32,110,97,109,101,65,189,188,90,0,0,219,252,0,0,3,174,
@@ -5295,10 +5295,10 @@ static const unsigned char temp_cedf3b8[] =
 0,206,255,208,0,236,0,207,255,207,0,237,0,207,255,207,0,238,0,208,255,207,0,239,0,209,255,207,0,240,0,210,255,207,0,241,0,211,255,206,0,242,0,212,255,206,0,243,0,213,255,206,0,244,0,214,255,206,0,245,0,214,255,206,0,246,0,215,255,205,0,247,0,216,255,
 205,0,248,0,217,255,205,0,249,0,218,255,205,0,250,0,219,255,205,0,251,0,220,255,204,0,252,0,220,255,204,0,253,0,221,255,204,0,254,0,222,255,204,0,255,0,223,255,203,0,0 };
 
-const char* BinaryData::misoregular_ttf = (const char*) temp_cedf3b8;
+const char* BinaryData::misoregular_ttf = (const char*) temp_bfd04473;
 
 //================== miso-serialized ==================
-static const unsigned char temp_28bba9e0[] =
+static const unsigned char temp_263ed5c5[] =
 { 120,156,236,221,11,252,253,197,180,63,254,79,244,237,170,139,164,123,73,55,116,165,146,240,221,239,175,168,148,75,95,145,144,16,187,143,67,246,231,155,173,155,131,82,169,164,72,233,34,149,110,18,37,183,82,74,159,253,222,137,238,36,33,169,164,66,116,145,
 20,161,19,254,243,124,205,222,31,250,31,231,156,56,156,195,227,119,122,60,62,205,250,238,247,204,154,153,53,51,107,214,90,179,102,205,139,223,188,219,174,19,19,19,231,156,250,226,57,171,78,252,161,64,243,77,28,59,103,195,102,222,228,163,70,233,163,71,
 233,252,163,116,214,40,93,96,148,46,56,74,23,26,165,11,143,210,69,70,233,162,163,244,49,163,116,177,81,186,248,40,93,98,148,46,57,74,31,59,74,151,26,165,143,27,165,75,143,210,199,143,210,101,70,233,178,163,116,185,81,186,252,40,93,97,148,174,56,74,87,
@@ -6349,10 +6349,10 @@ static const unsigned char temp_28bba9e0[] =
 219,114,86,91,239,25,109,89,219,189,161,215,207,60,247,238,205,109,203,166,45,119,111,203,250,157,123,151,118,230,189,119,251,157,251,182,245,247,109,219,239,219,214,223,183,212,95,163,80,149,125,75,61,229,188,222,155,243,251,188,182,254,188,182,254,
 188,182,254,188,82,223,122,206,43,245,149,251,181,245,246,107,235,237,215,214,219,175,212,91,173,244,183,95,169,167,124,91,91,239,109,109,189,203,123,251,166,252,89,91,222,212,150,255,15,63,201,76,247,0,0 };
 
-const char* BinaryData::misoserialized = (const char*) temp_28bba9e0;
+const char* BinaryData::misoserialized = (const char*) temp_263ed5c5;
 
 //================== nordic.ttf ==================
-static const unsigned char temp_607a5bbe[] =
+static const unsigned char temp_bcaa94b9[] =
 { 0,1,0,0,0,14,0,128,0,3,0,96,79,83,47,50,123,137,164,77,0,0,1,136,0,0,0,86,99,109,97,112,54,197,178,209,0,0,31,240,0,0,1,202,99,118,116,32,15,192,16,0,0,0,26,184,0,0,2,0,102,112,103,109,1,82,156,24,0,0,28,184,0,0,0,179,103,97,115,112,0,23,0,6,0,0,26,168,
 0,0,0,16,103,108,121,102,108,103,13,174,0,0,40,168,0,0,51,44,104,101,97,100,98,133,67,155,0,0,0,236,0,0,0,54,104,104,101,97,6,68,3,192,0,0,1,36,0,0,0,36,104,109,116,120,180,81,19,127,0,0,37,52,0,0,3,116,108,111,99,97,0,33,207,92,0,0,33,188,0,0,3,120,
 109,97,120,112,24,248,0,170,0,0,1,72,0,0,0,32,110,97,109,101,185,229,179,231,0,0,1,224,0,0,24,198,112,111,115,116,255,163,0,48,0,0,1,104,0,0,0,32,112,114,101,112,15,37,62,165,0,0,29,108,0,0,2,130,0,1,0,0,0,5,0,0,166,84,57,97,95,15,60,245,0,1,4,0,0,0,
@@ -6593,10 +6593,10 @@ static const unsigned char temp_607a5bbe[] =
 6,7,6,39,53,54,55,51,22,23,185,30,74,27,4,1,23,86,22,3,204,31,74,27,4,2,22,86,22,4,2,126,88,56,12,28,214,22,3,3,22,86,88,56,12,28,214,22,3,3,22,0,0,0,2,0,50,1,226,1,133,2,237,0,10,0,21,0,3,0,48,49,19,6,7,6,39,53,54,55,51,22,31,1,6,7,6,39,53,54,55,51,
 22,23,185,30,74,27,4,1,23,86,22,3,204,31,74,27,4,2,22,86,22,4,2,126,88,56,12,28,214,22,3,3,22,86,88,56,12,28,214,22,3,3,22,0,0,0,0 };
 
-const char* BinaryData::nordic_ttf = (const char*) temp_607a5bbe;
+const char* BinaryData::nordic_ttf = (const char*) temp_bcaa94b9;
 
 //================== ostrich.ttf ==================
-static const unsigned char temp_eec668cb[] =
+static const unsigned char temp_189d4f30[] =
 { 0,1,0,0,0,16,1,0,0,4,0,0,70,70,84,77,91,245,3,49,0,0,1,12,0,0,0,28,71,68,69,70,0,172,0,3,0,0,1,40,0,0,0,32,79,83,47,50,147,188,109,12,0,0,1,72,0,0,0,96,99,109,97,112,43,226,86,187,0,0,1,168,0,0,1,162,99,118,116,32,13,119,11,140,0,0,3,76,0,0,0,34,102,
 112,103,109,15,180,47,167,0,0,3,112,0,0,2,101,103,97,115,112,0,0,0,16,0,0,5,216,0,0,0,8,103,108,121,102,143,7,37,77,0,0,5,224,0,0,69,164,104,101,97,100,248,105,156,174,0,0,75,132,0,0,0,54,104,104,101,97,11,58,5,41,0,0,75,188,0,0,0,36,104,109,116,120,
 102,145,6,220,0,0,75,224,0,0,1,252,108,111,99,97,36,35,54,72,0,0,77,220,0,0,1,0,109,97,120,112,1,156,1,252,0,0,78,220,0,0,0,32,110,97,109,101,44,100,71,147,0,0,78,252,0,0,2,6,112,111,115,116,68,107,181,125,0,0,81,4,0,0,1,187,112,114,101,112,2,242,181,
@@ -6848,10 +6848,10 @@ static const unsigned char temp_eec668cb[] =
 32,69,176,3,43,68,176,12,32,69,186,0,11,127,255,0,2,43,177,3,70,118,43,68,176,13,32,69,178,12,9,2,43,177,3,70,118,43,68,176,14,32,69,178,13,8,2,43,177,3,70,118,43,68,176,15,32,69,186,0,14,1,56,0,2,43,177,3,70,118,43,68,176,16,32,69,178,15,7,2,43,177,
 3,70,118,43,68,89,176,20,43,0,0,0,0 };
 
-const char* BinaryData::ostrich_ttf = (const char*) temp_eec668cb;
+const char* BinaryData::ostrich_ttf = (const char*) temp_189d4f30;
 
 //================== silkscreen-serialized ==================
-static const unsigned char temp_bf72eaf7[] =
+static const unsigned char temp_4c9cd71c[] =
 { 120,156,237,155,7,148,20,69,16,134,215,156,48,39,80,84,204,57,160,120,162,48,123,42,98,206,120,230,132,99,171,200,238,170,140,162,24,49,97,206,57,231,128,57,158,1,238,206,132,1,195,153,21,207,128,17,179,232,138,138,9,39,117,119,245,116,207,78,47,252,
 199,221,170,188,199,123,205,78,239,215,213,85,213,85,93,53,203,128,65,133,193,158,59,132,177,82,46,151,235,217,165,95,125,143,220,20,127,52,131,255,55,87,95,42,246,26,57,185,175,63,26,94,8,6,254,227,150,66,145,77,204,139,65,240,200,45,142,27,59,62,239,
 63,31,93,8,6,19,242,125,90,252,217,195,28,49,8,30,185,108,70,56,113,38,56,113,102,56,113,22,56,113,86,56,113,54,56,113,118,56,113,14,56,113,78,56,113,46,56,177,11,156,56,55,156,56,15,156,56,47,156,56,31,156,56,63,156,184,0,156,184,32,156,184,16,156,184,
@@ -6886,10 +6886,10 @@ static const unsigned char temp_bf72eaf7[] =
 2,78,156,0,39,126,9,39,126,5,39,126,13,39,126,3,39,126,11,39,126,7,39,126,15,39,254,0,39,78,132,19,127,132,19,127,130,19,203,112,226,207,112,226,36,56,241,23,56,241,87,56,241,55,56,113,50,156,248,59,156,248,7,156,248,39,156,248,23,156,248,55,156,56,5,
 78,12,128,255,0,255,66,227,172,0,0 };
 
-const char* BinaryData::silkscreenserialized = (const char*) temp_bf72eaf7;
+const char* BinaryData::silkscreenserialized = (const char*) temp_4c9cd71c;
 
 //================== silkscreen.ttf ==================
-static const unsigned char temp_46c3ac32[] =
+static const unsigned char temp_2de8efad[] =
 { 0,1,0,0,0,15,0,48,0,3,0,192,79,83,47,50,121,166,129,146,0,0,64,208,0,0,0,78,80,67,76,84,173,52,110,22,0,0,65,32,0,0,0,54,99,109,97,112,198,58,142,190,0,0,61,32,0,0,2,4,99,118,116,32,7,83,8,77,0,0,64,172,0,0,0,36,102,112,103,109,152,92,220,162,0,0,3,224,
 0,0,0,100,103,108,121,102,48,157,174,66,0,0,4,152,0,0,54,18,104,100,109,120,137,166,202,30,0,0,65,88,0,0,6,72,104,101,97,100,213,88,95,61,0,0,0,252,0,0,0,54,104,104,101,97,2,213,6,14,0,0,1,52,0,0,0,36,104,109,116,120,44,25,4,90,0,0,63,36,0,0,1,136,108,
 111,99,97,0,10,37,204,0,0,58,172,0,0,1,140,109,97,120,112,1,9,0,219,0,0,1,88,0,0,0,32,110,97,109,101,63,98,60,192,0,0,1,120,0,0,2,103,112,111,115,116,9,71,9,62,0,0,60,56,0,0,0,230,112,114,101,112,5,176,112,7,0,0,4,68,0,0,0,83,0,1,0,0,0,1,0,0,124,56,31,
@@ -7096,10 +7096,10 @@ static const unsigned char temp_46c3ac32[] =
 14,16,19,16,16,16,16,14,14,16,16,8,16,16,14,19,19,16,16,16,16,16,14,16,19,19,19,19,14,11,14,11,14,16,11,16,16,16,16,14,14,16,16,8,16,16,14,19,19,16,16,16,16,16,14,16,19,19,19,19,14,14,8,14,16,24,20,12,0,11,11,9,14,20,17,20,17,9,11,11,20,20,9,14,6,14,
 17,14,17,17,17,17,17,17,17,17,6,9,14,14,14,17,20,17,17,17,17,14,14,17,17,9,17,17,14,20,20,17,17,17,17,17,14,17,20,20,20,20,14,11,14,11,14,17,11,17,17,17,17,14,14,17,17,9,17,17,14,20,20,17,17,17,17,17,14,17,20,20,20,20,14,14,9,14,17,0,0 };
 
-const char* BinaryData::silkscreen_ttf = (const char*) temp_46c3ac32;
+const char* BinaryData::silkscreen_ttf = (const char*) temp_2de8efad;
 
 //================== ArduinoIcon.png ==================
-static const unsigned char temp_c544033e[] =
+static const unsigned char temp_dd579bb9[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,6,47,0,0,4,111,8,6,0,0,0,96,133,119,144,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,112,114,111,102,105,108,101,
 0,0,120,218,157,83,103,84,83,233,22,61,247,222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,
 202,251,225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,60,43,34,192,7,190,0,1,120,211,
@@ -7888,10 +7888,10 @@ static const unsigned char temp_c544033e[] =
 223,255,212,213,121,32,27,7,166,188,232,223,182,138,0,0,0,0,0,32,99,109,205,214,129,253,183,63,255,249,207,94,222,126,236,75,57,185,187,67,8,23,75,2,0,0,0,0,32,163,252,123,8,225,191,255,169,171,243,68,54,14,206,157,23,76,13,33,108,19,3,0,0,0,0,64,198,
 248,117,8,97,92,182,22,23,33,184,243,130,147,190,148,147,59,46,132,48,51,132,240,223,165,1,0,0,0,0,16,73,39,66,8,91,255,212,213,249,84,182,15,244,255,63,0,215,70,173,194,31,62,235,52,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::ArduinoIcon_png = (const char*) temp_c544033e;
+const char* BinaryData::ArduinoIcon_png = (const char*) temp_dd579bb9;
 
 //================== OpenEphysBoardLogoBlack.png ==================
-static const unsigned char temp_f6d2b578[] =
+static const unsigned char temp_ef366d73[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,7,115,0,0,5,27,8,6,0,0,0,52,231,138,245,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,140,165,73,68,65,84,120,218,236,221,209,149,19,71,162,199,225,54,231,30,29,233,9,54,2,228,8,152,141,96,180,17,120,110,4,200,17,236,108,4,30,71,176,16,129,69,4,59,68,176,34,2,102,34,176,136,224,194,147,116,244,194,173,178,
 122,188,44,6,3,51,211,221,127,73,223,119,78,185,13,6,117,119,169,103,95,126,91,213,223,189,127,255,190,33,195,104,60,121,84,14,39,237,47,103,31,252,167,217,71,127,116,90,198,99,51,6,0,0,0,0,0,192,87,122,83,198,234,163,223,91,126,226,223,175,182,155,245,
@@ -8365,10 +8365,10 @@ static const unsigned char temp_f6d2b578[] =
 38,188,253,43,192,21,222,214,75,152,155,65,10,120,183,225,238,40,149,248,181,93,188,0,0,0,0,0,0,228,118,87,109,194,218,69,42,243,248,20,220,54,79,152,91,152,116,76,115,188,135,119,148,74,245,197,215,187,226,247,220,209,11,0,0,0,0,0,192,215,196,99,144,
 23,247,124,127,177,243,253,237,215,183,235,213,242,218,144,149,227,255,1,23,88,237,144,160,48,169,201,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::OpenEphysBoardLogoBlack_png = (const char*) temp_f6d2b578;
+const char* BinaryData::OpenEphysBoardLogoBlack_png = (const char*) temp_ef366d73;
 
 //================== OpenEphysBoardLogoGray.png ==================
-static const unsigned char temp_1c506aa0[] =
+static const unsigned char temp_76e84745[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,7,115,0,0,5,27,8,6,0,0,0,52,231,138,245,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,139,144,73,68,65,84,120,218,236,221,223,117,220,198,193,198,97,68,39,247,100,7,98,42,16,115,133,75,174,43,16,191,10,180,174,192,76,5,166,43,8,85,129,86,21,132,170,32,171,203,185,50,89,65,168,14,168,10,242,13,188,160,163,
 40,148,197,63,11,224,197,238,243,156,51,134,100,75,11,96,22,204,205,47,51,248,211,191,255,253,239,134,12,165,148,195,122,56,238,127,187,248,226,63,45,190,250,163,71,117,188,52,99,0,0,0,0,0,0,60,208,167,58,110,190,250,119,235,123,126,125,213,182,237,173,
@@ -8839,10 +8839,10 @@ static const unsigned char temp_1c506aa0[] =
 194,221,105,190,210,239,85,241,2,0,0,0,0,0,80,218,125,179,13,107,55,249,90,167,187,224,182,127,194,220,202,228,109,154,211,57,188,211,124,53,127,249,253,190,244,103,206,232,5,0,0,0,0,0,224,107,210,54,200,155,7,254,124,179,247,231,187,223,223,133,16,110,
 12,89,61,254,7,181,146,230,16,82,63,166,171,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::OpenEphysBoardLogoGray_png = (const char*) temp_1c506aa0;
+const char* BinaryData::OpenEphysBoardLogoGray_png = (const char*) temp_76e84745;
 
 //================== RadioButtons-01.png ==================
-static const unsigned char temp_819db025[] =
+static const unsigned char temp_bcea9320[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,19,8,6,0,0,0,241,148,15,247,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,191,73,68,65,84,120,218,196,150,219,78,19,81,20,134,255,61,199,118,128,136,209,132,150,27,98,226,133,70,99,104,69,206,82,18,9,166,49,122,161,9,23,92,250,4,190,129,190,130,207,161,55,106,76,19,37,86,40,162,40,109,154,84,4,
 34,98,5,76,228,2,16,122,156,233,28,92,211,169,74,109,109,13,69,88,201,206,236,116,239,174,245,173,127,173,189,103,24,200,60,30,207,29,122,4,104,180,226,144,141,81,240,123,62,255,197,187,221,221,189,80,20,229,80,131,71,34,83,16,36,73,12,140,94,13,226,
@@ -8856,10 +8856,10 @@ static const unsigned char temp_819db025[] =
 139,193,13,163,246,157,221,112,9,202,148,32,17,195,47,19,116,2,18,208,41,176,105,214,127,97,252,42,65,58,157,174,251,62,248,31,166,235,142,2,247,227,241,216,176,215,219,78,23,198,225,66,100,179,25,231,142,164,143,146,97,122,12,31,197,55,193,15,1,6,0,
 156,20,41,102,255,70,71,224,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons01_png = (const char*) temp_819db025;
+const char* BinaryData::RadioButtons01_png = (const char*) temp_bcea9320;
 
 //================== RadioButtons-02.png ==================
-static const unsigned char temp_81abc7a6[] =
+static const unsigned char temp_bcf8aaa1[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,197,73,68,65,84,120,218,196,150,107,79,19,65,20,134,223,153,157,221,110,11,36,152,20,104,52,154,144,160,40,69,32,164,40,136,52,38,24,141,31,252,79,254,31,191,154,104,248,224,133,86,80,145,134,91,32,70,32,202,69,46,134,91,
 111,123,233,94,60,179,106,44,180,24,109,19,152,228,100,119,178,115,206,115,230,61,115,38,203,98,177,216,43,156,211,16,137,129,219,247,70,70,146,103,14,78,165,198,33,20,69,129,22,10,157,57,92,114,133,34,8,174,105,167,46,98,140,228,81,200,132,15,159,230,
@@ -8873,10 +8873,10 @@ static const unsigned char temp_81abc7a6[] =
 11,27,40,149,78,239,65,201,21,129,236,150,85,243,77,37,93,83,233,37,76,125,252,132,11,205,13,216,219,207,83,89,124,42,135,255,215,254,175,75,246,147,9,20,10,192,254,126,241,159,47,156,95,178,215,183,243,90,135,228,138,98,177,128,157,237,237,51,135,75,
 46,163,63,153,39,231,245,39,243,67,128,1,0,60,21,103,165,70,150,193,96,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons02_png = (const char*) temp_81abc7a6;
+const char* BinaryData::RadioButtons02_png = (const char*) temp_bcf8aaa1;
 
 //================== RadioButtons-03.png ==================
-static const unsigned char temp_81b9df27[] =
+static const unsigned char temp_bd06c222[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,77,73,68,65,84,120,218,196,150,219,110,211,64,16,134,255,61,196,109,66,165,86,106,47,242,32,173,8,23,69,240,16,136,103,225,142,151,42,92,34,40,32,113,1,151,160,34,78,82,213,67,148,66,147,56,118,236,181,119,205,76,156,162,
 172,157,22,25,161,116,164,141,226,221,153,249,230,228,149,69,183,219,125,129,91,18,189,187,119,247,193,254,254,253,149,131,15,15,95,65,43,165,16,172,173,173,28,206,92,173,52,193,131,160,118,40,37,32,4,45,126,16,75,172,11,192,209,42,230,171,49,92,51,92,
@@ -8888,10 +8888,10 @@ static const unsigned char temp_81b9df27[] =
 253,155,136,179,130,202,88,194,31,61,126,114,163,110,191,63,32,93,202,60,245,225,204,45,203,158,54,203,60,163,88,191,255,56,193,206,246,75,186,44,236,245,21,162,183,228,232,243,49,205,71,74,109,170,102,254,143,101,103,57,59,51,56,120,254,14,66,220,208,
 30,190,255,169,31,214,214,111,160,121,217,155,103,254,63,132,185,58,142,35,244,207,207,87,14,103,174,160,47,153,167,183,245,37,243,91,128,1,0,11,149,65,182,96,70,58,8,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons03_png = (const char*) temp_81b9df27;
+const char* BinaryData::RadioButtons03_png = (const char*) temp_bd06c222;
 
 //================== RadioButtons-04.png ==================
-static const unsigned char temp_81c7f6a8[] =
+static const unsigned char temp_bd14d9a3[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,165,73,68,65,84,120,218,196,150,237,79,211,80,24,197,207,109,111,1,157,74,50,144,76,226,198,139,128,2,66,162,66,136,31,48,42,248,217,232,95,228,127,102,2,74,130,38,203,192,12,84,134,1,231,88,145,142,194,218,117,107,215,23,
 159,219,161,216,161,198,200,132,155,52,109,239,189,233,239,60,231,60,109,202,18,137,196,75,156,211,224,83,211,51,15,103,103,31,156,57,120,113,113,1,92,150,101,180,181,183,159,57,92,112,185,204,9,222,214,118,98,145,177,227,235,32,248,15,112,46,224,146,
@@ -8904,10 +8904,10 @@ static const unsigned char temp_81c7f6a8[] =
 83,92,187,240,93,35,132,215,5,220,9,154,224,30,184,235,122,161,255,167,29,66,196,171,165,45,164,51,219,152,156,184,142,241,241,41,112,101,8,165,210,14,89,236,208,155,19,245,79,112,27,182,219,118,203,190,92,66,196,194,98,14,233,244,39,18,208,143,106,213,
 167,134,182,195,202,209,74,219,255,52,42,21,134,61,109,61,188,246,253,224,196,7,233,200,246,214,86,254,183,67,112,185,101,85,176,171,170,103,14,23,92,70,127,50,47,206,235,79,230,155,0,3,0,91,7,91,249,23,102,61,167,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons04_png = (const char*) temp_81c7f6a8;
+const char* BinaryData::RadioButtons04_png = (const char*) temp_bd14d9a3;
 
 //================== RadioButtons-05.png ==================
-static const unsigned char temp_81d60e29[] =
+static const unsigned char temp_bd22f124[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,30,0,0,0,19,8,6,0,0,0,135,174,189,124,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,112,114,111,102,105,108,101,0,
 0,120,218,157,83,103,84,83,233,22,61,247,222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,
 251,225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,60,43,34,192,7,190,0,1,120,211,11,
@@ -8959,10 +8959,10 @@ static const unsigned char temp_81d60e29[] =
 162,63,207,207,191,252,78,47,76,49,6,14,15,19,62,191,243,5,198,88,140,57,95,51,207,205,73,170,147,228,66,176,16,240,240,225,99,176,159,49,24,68,52,91,17,113,60,230,203,175,118,209,74,32,4,164,153,37,207,237,84,135,186,200,254,53,213,207,44,73,224,94,
 237,224,164,117,254,119,192,197,96,131,206,243,127,62,241,255,97,121,158,163,163,104,72,171,217,188,84,112,20,13,17,213,106,245,211,23,241,3,249,115,0,245,214,95,36,216,96,243,208,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons05_png = (const char*) temp_81d60e29;
+const char* BinaryData::RadioButtons05_png = (const char*) temp_bd22f124;
 
 //================== RadioButtons_neutral-01.png ==================
-static const unsigned char temp_38c869d[] =
+static const unsigned char temp_fbf03e98[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,19,8,6,0,0,0,241,148,15,247,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,103,73,68,65,84,120,218,196,86,221,75,83,97,28,126,206,217,217,161,177,205,64,177,121,154,125,96,132,23,125,144,36,117,219,77,222,108,115,36,74,11,22,140,210,182,187,162,174,130,46,250,83,6,121,83,162,99,69,69,17,164,77,152,
 168,67,48,203,106,141,105,160,172,109,110,147,181,185,243,181,211,123,142,37,68,251,10,199,250,193,15,94,206,251,62,239,243,252,62,248,157,151,82,20,5,28,199,221,49,27,141,55,201,218,140,22,27,67,200,31,234,245,250,251,54,199,32,123,200,194,181,148,252,
@@ -8975,10 +8975,10 @@ static const unsigned char temp_38c869d[] =
 209,58,51,61,253,79,231,101,53,3,162,36,255,136,126,90,197,177,158,19,45,255,25,169,101,99,120,129,127,176,188,242,62,176,83,42,193,108,110,237,123,68,18,69,80,191,94,68,151,140,6,131,75,71,211,7,90,157,133,159,2,12,0,238,13,9,71,19,58,158,165,0,0,0,
 0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_neutral01_png = (const char*) temp_38c869d;
+const char* BinaryData::RadioButtons_neutral01_png = (const char*) temp_fbf03e98;
 
 //================== RadioButtons_neutral-02.png ==================
-static const unsigned char temp_39a9e1e[] =
+static const unsigned char temp_fbfe5619[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,54,73,68,65,84,120,218,196,150,207,79,19,65,20,199,191,187,157,182,86,131,166,254,72,69,19,13,141,137,49,30,12,218,131,225,102,106,140,129,112,52,210,150,67,19,53,130,240,223,104,188,123,210,196,171,98,148,6,127,20,104,145,
 32,28,48,129,130,201,66,65,91,160,148,110,161,178,219,157,226,204,28,56,176,187,13,182,164,125,201,203,190,153,247,94,62,243,230,205,76,86,186,226,247,43,104,146,144,182,54,255,229,59,119,239,53,28,252,57,246,9,196,225,112,192,229,118,55,28,206,185,68,
@@ -8990,10 +8990,10 @@ static const unsigned char temp_39a9e1e[] =
 158,112,24,14,246,30,124,249,26,199,204,244,76,213,60,81,121,133,87,94,7,156,75,60,62,42,212,235,245,34,111,113,126,44,225,188,114,42,122,174,29,201,123,157,205,102,14,29,75,69,207,217,150,233,53,246,188,30,225,92,98,148,203,88,77,47,55,28,206,185,68,
 85,11,175,152,54,229,79,230,159,0,3,0,178,38,58,166,235,164,14,20,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_neutral02_png = (const char*) temp_39a9e1e;
+const char* BinaryData::RadioButtons_neutral02_png = (const char*) temp_fbfe5619;
 
 //================== RadioButtons_neutral-03.png ==================
-static const unsigned char temp_3a8b59f[] =
+static const unsigned char temp_fc0c6d9a[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,1,165,73,68,65,84,120,218,196,150,109,75,194,80,20,199,207,220,221,172,12,21,122,130,40,76,139,94,7,245,162,122,19,73,244,213,194,143,209,75,251,0,69,169,212,103,136,232,77,132,154,104,69,234,210,72,216,195,189,235,222,13,133,
 218,217,70,19,244,63,198,6,255,115,206,111,231,222,187,187,73,91,185,92,13,166,36,146,205,230,50,199,39,167,19,7,223,150,111,128,200,178,12,106,60,62,113,184,224,146,88,44,6,241,41,192,5,215,129,43,138,226,49,91,141,58,88,166,25,88,192,182,25,100,54,
@@ -9003,10 +9003,10 @@ static const unsigned char temp_3a8b59f[] =
 66,33,48,174,82,42,65,235,237,3,239,156,137,206,35,192,219,29,13,170,181,122,104,220,211,115,21,173,47,184,132,58,115,254,127,184,200,185,40,22,35,239,237,212,153,115,190,98,141,8,115,62,174,4,151,136,143,71,179,241,50,113,184,224,146,126,191,119,206,
 207,169,252,201,252,8,48,0,227,76,197,247,89,122,10,69,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_neutral03_png = (const char*) temp_3a8b59f;
+const char* BinaryData::RadioButtons_neutral03_png = (const char*) temp_fc0c6d9a;
 
 //================== RadioButtons_neutral-04.png ==================
-static const unsigned char temp_3b6cd20[] =
+static const unsigned char temp_fc1a851b[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,27,73,68,65,84,120,218,196,150,109,79,211,80,24,134,239,182,167,29,219,50,100,176,110,200,48,203,22,127,5,209,15,4,162,63,68,72,36,209,175,26,241,215,248,7,28,159,36,129,69,92,228,69,167,113,250,9,156,16,141,14,98,125,9,91,
 11,117,93,123,138,61,167,209,4,219,17,18,203,246,36,39,79,211,59,231,190,158,231,188,52,21,174,150,74,159,48,160,32,197,98,169,48,61,123,163,239,224,181,202,10,136,36,73,80,98,177,190,195,25,151,136,162,136,216,0,224,140,203,225,178,44,7,196,159,223,
@@ -9018,10 +9018,10 @@ static const unsigned char temp_3b6cd20[] =
 106,149,103,195,180,60,111,59,212,159,113,9,229,123,110,93,200,247,251,217,218,211,158,26,229,123,78,233,185,14,87,212,193,184,132,221,229,253,47,159,251,14,103,92,162,235,237,71,222,24,200,159,204,111,1,6,0,203,214,249,255,62,204,159,178,0,0,0,0,73,
 69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_neutral04_png = (const char*) temp_3b6cd20;
+const char* BinaryData::RadioButtons_neutral04_png = (const char*) temp_fc1a851b;
 
 //================== RadioButtons_neutral-05.png ==================
-static const unsigned char temp_3c4e4a1[] =
+static const unsigned char temp_fc289c9c[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,30,0,0,0,19,8,6,0,0,0,135,174,189,124,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,112,114,111,102,105,108,101,0,
 0,120,218,157,83,103,84,83,233,22,61,247,222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,
 251,225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,60,43,34,192,7,190,0,1,120,211,11,
@@ -9072,10 +9072,10 @@ static const unsigned char temp_3c4e4a1[] =
 229,42,213,143,142,62,250,227,151,203,24,65,139,24,130,192,255,173,248,237,236,204,95,123,50,69,12,90,68,234,14,193,191,10,17,65,135,229,50,139,153,249,134,130,195,114,25,157,207,187,183,242,121,183,225,63,144,239,3,0,218,200,55,245,184,64,106,163,0,
 0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_neutral05_png = (const char*) temp_3c4e4a1;
+const char* BinaryData::RadioButtons_neutral05_png = (const char*) temp_fc289c9c;
 
 //================== RadioButtons_selected-01.png ==================
-static const unsigned char temp_647cc073[] =
+static const unsigned char temp_789007d8[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,19,8,6,0,0,0,241,148,15,247,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,134,73,68,65,84,120,218,196,86,75,104,19,81,20,61,47,153,76,147,104,90,146,214,106,68,65,116,81,116,99,43,72,109,87,21,139,65,171,82,161,152,44,20,233,39,70,10,69,219,69,161,16,138,96,65,186,112,227,82,139,248,87,106,53,169,
 46,20,252,130,138,40,45,88,41,46,130,198,66,193,79,98,205,111,38,49,153,207,115,146,148,34,152,31,166,140,15,238,48,188,251,206,187,231,157,185,239,222,33,148,82,88,173,214,147,235,170,140,221,162,76,77,80,121,48,74,240,83,134,10,118,104,120,231,6,118,
@@ -9088,10 +9088,10 @@ static const unsigned char temp_647cc073[] =
 201,56,82,41,9,166,77,13,152,187,228,46,9,35,137,52,171,0,207,211,101,41,173,252,195,9,229,57,81,242,122,81,82,20,72,73,50,247,52,160,67,163,73,84,189,25,101,114,32,250,75,112,79,250,5,79,108,173,1,171,85,110,138,73,65,6,89,252,35,106,169,54,232,28,74,
 103,210,171,173,194,111,1,6,0,169,191,241,34,56,210,107,35,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected01_png = (const char*) temp_647cc073;
+const char* BinaryData::RadioButtons_selected01_png = (const char*) temp_789007d8;
 
 //================== RadioButtons_selected-02.png ==================
-static const unsigned char temp_648ad7f4[] =
+static const unsigned char temp_789e1f59[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,102,73,68,65,84,120,218,196,150,77,104,19,65,20,199,255,187,153,181,201,134,212,24,42,126,32,86,15,133,10,69,26,40,162,17,84,68,41,10,18,84,90,171,205,69,37,135,74,241,82,240,3,188,120,241,100,241,224,199,69,17,60,104,75,
 43,22,105,197,70,35,226,71,139,7,17,63,138,20,139,208,18,164,24,107,178,105,178,155,110,146,221,117,102,11,10,238,166,132,180,164,11,111,118,118,222,188,249,241,248,207,155,89,210,88,183,121,18,203,244,144,237,155,106,106,187,154,86,85,28,220,253,62,
@@ -9104,10 +9104,10 @@ static const unsigned char temp_648ad7f4[] =
 177,168,3,67,121,209,135,31,212,156,94,31,213,57,81,82,12,227,146,130,166,67,150,141,37,57,175,101,249,119,201,115,25,215,212,92,206,26,21,191,88,76,205,213,188,142,47,169,202,223,106,140,75,98,178,113,47,38,107,203,242,39,243,71,128,1,0,163,90,231,150,
 52,232,169,252,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected02_png = (const char*) temp_648ad7f4;
+const char* BinaryData::RadioButtons_selected02_png = (const char*) temp_789e1f59;
 
 //================== RadioButtons_selected-03.png ==================
-static const unsigned char temp_6498ef75[] =
+static const unsigned char temp_78ac36da[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,1,190,73,68,65,84,120,218,196,150,189,79,194,80,20,197,207,43,79,144,26,163,68,6,29,140,50,24,29,77,208,196,56,56,184,57,27,157,116,112,116,246,223,80,255,5,227,226,234,224,199,164,51,241,35,58,56,104,116,129,176,16,48,10,161,
 69,90,222,135,125,69,166,190,130,96,130,55,13,29,238,61,231,215,155,243,82,74,230,103,82,89,252,83,209,165,233,228,212,222,66,162,239,224,131,251,79,80,18,33,136,154,70,223,225,138,75,13,239,39,22,239,63,92,113,155,155,15,146,64,243,170,48,140,34,27,
@@ -9117,10 +9117,10 @@ static const unsigned char temp_6498ef75[] =
 133,212,250,251,240,134,191,185,236,26,30,27,107,26,174,31,92,181,157,187,187,60,209,250,43,46,229,76,162,246,213,61,220,204,102,80,127,56,237,56,55,116,123,140,90,61,232,175,184,148,113,1,219,238,30,14,187,134,199,163,195,158,223,237,138,235,103,110,
 247,176,249,95,203,207,220,105,8,60,85,250,255,175,166,184,52,111,203,227,188,205,255,229,75,230,91,128,1,0,165,175,191,223,100,163,205,167,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected03_png = (const char*) temp_6498ef75;
+const char* BinaryData::RadioButtons_selected03_png = (const char*) temp_78ac36da;
 
 //================== RadioButtons_selected-04.png ==================
-static const unsigned char temp_64a706f6[] =
+static const unsigned char temp_78ba4e5b[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,100,73,68,65,84,120,218,196,150,77,104,211,96,24,199,255,111,154,102,205,92,221,186,85,17,71,173,58,198,188,232,6,14,84,148,162,172,226,7,76,70,65,119,216,209,195,64,60,41,130,99,87,15,122,24,168,7,5,79,83,97,8,165,155,122,
 17,199,16,25,58,61,104,81,118,152,173,171,19,183,22,109,221,154,146,164,31,107,154,248,38,21,81,147,94,180,235,2,239,75,194,147,252,127,255,231,125,222,143,144,174,246,29,159,177,78,23,187,127,187,219,123,177,219,85,115,240,200,155,52,88,98,35,224,234,
@@ -9133,10 +9133,10 @@ static const unsigned char temp_64a706f6[] =
 225,201,103,241,213,66,95,231,178,74,73,133,44,107,107,178,127,71,158,62,174,24,211,185,70,205,229,156,86,243,131,197,168,121,161,168,98,54,83,251,83,77,231,146,206,157,219,70,215,235,79,230,135,0,3,0,71,200,242,251,63,187,157,122,0,0,0,0,73,69,78,68,
 174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected04_png = (const char*) temp_64a706f6;
+const char* BinaryData::RadioButtons_selected04_png = (const char*) temp_78ba4e5b;
 
 //================== RadioButtons_selected-05.png ==================
-static const unsigned char temp_64b51e77[] =
+static const unsigned char temp_78c865dc[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,30,0,0,0,19,8,6,0,0,0,135,174,189,124,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,112,114,111,102,105,108,101,0,
 0,120,218,157,83,103,84,83,233,22,61,247,222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,
 251,225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,60,43,34,192,7,190,0,1,120,211,11,
@@ -9187,10 +9187,10 @@ static const unsigned char temp_64b51e77[] =
 67,47,42,109,196,133,131,158,216,185,173,106,221,105,147,89,82,137,21,26,39,18,154,254,235,201,213,60,226,64,151,202,198,52,99,235,6,155,222,129,127,54,50,165,90,172,177,249,59,150,208,89,45,165,141,110,69,109,250,195,137,253,157,172,168,141,30,48,99,
 15,3,166,34,209,235,207,0,161,143,20,90,35,156,236,45,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected05_png = (const char*) temp_64b51e77;
+const char* BinaryData::RadioButtons_selected05_png = (const char*) temp_78c865dc;
 
 //================== RadioButtons_selected_over-01.png ==================
-static const unsigned char temp_4d6e0f0c[] =
+static const unsigned char temp_a1a89ec7[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,19,8,6,0,0,0,241,148,15,247,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,239,73,68,65,84,120,218,196,86,93,72,20,81,20,254,238,236,236,56,179,174,43,91,130,187,130,136,97,81,22,244,3,105,8,134,105,168,245,32,229,147,15,10,25,37,173,81,212,67,15,86,15,65,68,244,212,83,62,244,24,65,68,166,32,18,
 132,63,69,17,82,61,20,171,65,81,216,139,144,238,34,106,59,59,251,51,51,247,118,103,86,130,220,137,149,86,182,129,195,12,115,206,61,223,119,190,57,247,204,37,140,49,4,131,193,75,213,91,188,251,240,31,46,145,131,223,80,138,164,129,211,117,85,82,169,34,
@@ -9204,10 +9204,10 @@ static const unsigned char temp_4d6e0f0c[] =
 210,200,69,104,11,12,70,130,75,111,58,47,213,51,4,0,45,145,231,72,227,242,106,99,67,8,38,77,148,214,236,194,252,232,29,104,81,10,211,2,167,127,95,102,242,166,180,21,136,199,55,103,184,171,35,195,246,76,128,201,96,234,185,135,164,97,114,5,210,38,85,167,
 34,110,212,151,24,155,244,143,219,120,49,86,15,144,64,32,112,130,63,143,52,87,40,40,47,236,113,0,95,227,156,192,218,137,168,105,171,226,238,226,127,38,185,208,39,162,95,2,12,0,137,200,31,90,212,72,119,82,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected_over01_png = (const char*) temp_4d6e0f0c;
+const char* BinaryData::RadioButtons_selected_over01_png = (const char*) temp_a1a89ec7;
 
 //================== RadioButtons_selected_over-02.png ==================
-static const unsigned char temp_4d7c268d[] =
+static const unsigned char temp_a1b6b648[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,216,73,68,65,84,120,218,196,149,79,72,84,65,28,199,191,51,239,237,190,221,183,184,166,22,145,84,70,137,97,90,33,107,218,22,129,18,17,29,162,67,66,209,255,78,117,137,14,29,11,138,200,110,17,116,232,84,80,116,8,73,41,188,164,
 93,182,63,104,148,34,149,186,176,22,37,122,200,63,152,171,187,179,239,173,251,254,52,111,246,80,235,110,82,107,232,240,230,49,204,252,230,247,249,205,124,103,126,67,130,91,202,31,96,153,138,188,110,165,255,116,83,213,234,37,7,183,14,142,67,46,81,101,
@@ -9221,10 +9221,10 @@ static const unsigned char temp_4d7c268d[] =
 152,175,120,22,147,161,155,152,126,23,130,33,206,65,238,121,14,87,54,121,150,74,104,139,72,214,60,247,176,246,86,140,116,182,65,45,41,130,30,157,134,153,180,97,25,88,240,254,59,92,217,48,45,48,246,31,94,138,152,141,217,169,169,116,251,47,220,57,92,161,
 57,211,236,37,127,82,133,230,201,148,133,254,25,186,228,112,135,43,143,50,251,225,40,51,177,28,229,167,0,3,0,110,188,26,228,110,165,221,163,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected_over02_png = (const char*) temp_4d7c268d;
+const char* BinaryData::RadioButtons_selected_over02_png = (const char*) temp_a1b6b648;
 
 //================== RadioButtons_selected_over-03.png ==================
-static const unsigned char temp_4d8a3e0e[] =
+static const unsigned char temp_a1c4cdc9[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,101,73,68,65,84,120,218,196,150,61,143,211,64,16,134,223,89,111,226,195,7,220,33,78,66,128,34,16,80,5,209,32,1,66,162,165,161,166,160,65,80,208,242,51,248,13,84,72,92,139,104,168,40,40,174,58,10,26,78,66,87,33,133,143,0,34,
 137,20,146,216,107,39,142,215,203,172,147,226,108,135,128,41,114,43,37,78,188,51,243,236,188,51,187,54,221,108,94,122,142,67,26,178,177,117,252,193,221,203,167,86,14,126,185,223,129,60,233,73,220,56,99,86,14,223,249,36,33,133,67,112,143,136,242,44,21,
@@ -9237,10 +9237,10 @@ static const unsigned char temp_4d8a3e0e[] =
 233,51,62,35,150,31,110,188,153,144,140,121,129,186,80,115,61,175,185,138,254,243,233,48,250,71,191,5,102,89,205,39,124,122,125,24,138,149,63,82,45,87,182,149,217,110,43,125,40,111,50,191,5,24,0,98,67,27,130,54,13,67,66,0,0,0,0,73,69,78,68,174,66,96,
 130,0,0 };
 
-const char* BinaryData::RadioButtons_selected_over03_png = (const char*) temp_4d8a3e0e;
+const char* BinaryData::RadioButtons_selected_over03_png = (const char*) temp_a1c4cdc9;
 
 //================== RadioButtons_selected_over-04.png ==================
-static const unsigned char temp_4d98558f[] =
+static const unsigned char temp_a1d2e54a[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,31,0,0,0,19,8,6,0,0,0,104,108,214,66,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,2,211,73,68,65,84,120,218,196,150,205,75,20,97,28,199,191,207,204,179,186,179,187,90,90,184,100,25,26,43,149,122,176,64,74,33,37,148,204,50,12,234,84,135,110,65,151,110,29,252,51,58,132,208,169,46,5,33,228,91,210,139,96,16,
 145,93,180,178,14,97,104,33,42,235,186,235,174,59,179,187,243,246,60,61,179,43,184,57,219,69,86,125,96,102,96,158,121,158,207,247,247,250,12,105,109,8,61,193,62,13,90,115,184,252,206,205,198,224,158,131,7,127,132,65,15,249,40,206,85,243,61,135,79,46,
@@ -9254,10 +9254,10 @@ static const unsigned char temp_4d98558f[] =
 109,113,164,210,69,236,159,73,142,228,203,87,66,196,56,202,58,175,192,79,85,68,23,8,212,117,6,61,143,227,112,169,37,154,133,166,237,66,243,222,224,248,250,98,12,114,73,174,166,109,131,131,153,121,49,183,55,99,174,165,119,249,84,35,238,30,144,141,185,
 110,50,204,38,164,61,63,82,29,46,93,212,248,211,69,205,222,151,63,153,191,2,12,0,199,181,70,142,38,155,205,86,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::RadioButtons_selected_over04_png = (const char*) temp_4d98558f;
+const char* BinaryData::RadioButtons_selected_over04_png = (const char*) temp_a1d2e54a;
 
 //================== RadioButtons_selected_over-05.png ==================
-static const unsigned char temp_4da66d10[] =
+static const unsigned char temp_a1e0fccb[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,30,0,0,0,19,8,6,0,0,0,135,174,189,124,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,10,79,105,67,67,80,80,104,111,116,111,115,104,111,112,32,73,67,67,32,112,114,111,102,105,108,101,0,
 0,120,218,157,83,103,84,83,233,22,61,247,222,244,66,75,136,128,148,75,111,82,21,8,32,82,66,139,128,20,145,38,42,33,9,16,74,136,33,161,217,21,81,193,17,69,69,4,27,200,160,136,3,142,142,128,140,21,81,44,12,138,10,216,7,228,33,162,142,131,163,136,138,202,
 251,225,123,163,107,214,188,247,230,205,254,181,215,62,231,172,243,157,179,207,7,192,8,12,150,72,51,81,53,128,12,169,66,30,17,224,131,199,196,198,225,228,46,64,129,10,36,112,0,16,8,179,100,33,115,253,35,1,0,248,126,60,60,43,34,192,7,190,0,1,120,211,11,
@@ -9310,10 +9310,10 @@ static const unsigned char temp_4da66d10[] =
 210,38,160,217,252,135,89,141,144,218,222,213,127,69,126,47,211,166,159,227,102,123,180,167,147,214,1,202,239,5,92,241,228,72,133,253,94,128,218,110,134,159,111,55,205,200,111,32,127,13,0,111,180,58,50,205,148,146,75,0,0,0,0,73,69,78,68,174,66,96,130,
 0,0 };
 
-const char* BinaryData::RadioButtons_selected_over05_png = (const char*) temp_4da66d10;
+const char* BinaryData::RadioButtons_selected_over05_png = (const char*) temp_a1e0fccb;
 
 //================== noise_wave.png ==================
-static const unsigned char temp_9db0b117[] =
+static const unsigned char temp_2ada9d3c[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,4,101,0,0,2,30,8,6,0,0,0,18,223,178,102,0,0,0,9,112,72,89,115,0,0,23,18,0,0,23,18,1,103,159,210,82,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,76,229,73,68,65,84,120,218,236,221,235,149,21,55,214,48,96,13,203,255,221,95,4,212,68,64,59,2,202,17,24,71,48,77,4,47,142,192,77,4,120,34,160,39,2,112,4,20,17,24,34,112,57,2,67,4,243,181,56,167,135,6,250,114,46,117,145,180,
 159,103,173,90,96,3,125,78,237,146,84,210,46,149,244,143,4,0,0,0,172,229,228,242,56,189,60,186,237,113,155,225,242,248,112,121,188,19,50,0,0,0,128,253,229,36,204,217,229,241,242,242,248,243,242,248,239,1,199,155,203,227,60,109,146,57,0,0,0,0,220,225,
@@ -9595,10 +9595,10 @@ static const unsigned char temp_9db0b117[] =
 73,212,228,227,97,186,249,117,163,15,151,199,251,203,99,220,30,131,176,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 176,175,255,47,192,0,205,180,140,11,223,168,97,120,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::noise_wave_png = (const char*) temp_9db0b117;
+const char* BinaryData::noise_wave_png = (const char*) temp_2ada9d3c;
 
 //================== saw_wave.png ==================
-static const unsigned char temp_c4474a8[] =
+static const unsigned char temp_fad5260d[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,4,180,0,0,2,143,8,6,0,0,0,116,54,147,247,0,0,0,9,112,72,89,115,0,0,23,18,0,0,23,18,1,103,159,210,82,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,41,190,73,68,65,84,120,218,236,221,141,149,212,102,186,174,225,103,38,129,211,206,64,206,0,71,176,69,6,56,130,45,34,216,16,1,69,4,248,68,208,58,17,152,12,90,19,1,236,8,80,6,144,129,143,100,53,174,6,131,145,212,245,163,159,
 235,90,235,93,94,158,25,51,174,183,170,87,21,55,42,125,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,242,
@@ -9740,10 +9740,10 @@ static const unsigned char temp_c4474a8[] =
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,231,254,191,0,3,0,11,98,146,161,132,82,43,233,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::saw_wave_png = (const char*) temp_c4474a8;
+const char* BinaryData::saw_wave_png = (const char*) temp_fad5260d;
 
 //================== sine_wave.png ==================
-static const unsigned char temp_77db788[] =
+static const unsigned char temp_eb0332c3[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,4,180,0,0,2,171,8,6,0,0,0,232,11,212,215,0,0,0,9,112,72,89,115,0,0,23,18,0,0,23,18,1,103,159,210,82,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,49,204,73,68,65,84,120,218,236,221,175,151,36,199,149,40,224,24,205,3,122,200,13,197,156,203,196,92,102,102,78,49,9,109,137,237,178,52,123,102,229,191,96,211,232,157,69,101,182,176,198,200,107,84,18,178,141,170,133,158,88,
 143,153,30,170,22,211,67,51,98,54,242,203,112,85,107,122,52,61,221,153,89,249,43,50,191,239,156,123,122,108,31,219,163,232,200,31,113,51,238,141,15,2,0,0,0,0,36,228,3,67,0,0,0,0,64,74,36,180,0,0,0,0,72,138,132,22,0,0,0,0,73,145,208,2,0,0,0,32,41,18,90,
@@ -9916,10 +9916,10 @@ static const unsigned char temp_77db788[] =
 104,1,0,0,0,144,20,9,45,0,0,0,0,146,34,161,5,0,0,0,64,82,36,180,0,0,0,0,72,138,132,22,0,0,0,0,73,145,208,2,0,0,0,32,41,18,90,0,0,0,0,36,69,66,11,0,0,0,128,164,72,104,1,0,0,0,144,20,9,45,0,0,0,0,146,242,255,5,24,0,142,248,78,14,98,33,228,71,0,0,0,0,73,
 69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::sine_wave_png = (const char*) temp_77db788;
+const char* BinaryData::sine_wave_png = (const char*) temp_eb0332c3;
 
 //================== square_wave.png ==================
-static const unsigned char temp_5a5e8e78[] =
+static const unsigned char temp_727226f3[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,4,164,0,0,2,171,8,6,0,0,0,207,165,85,63,0,0,0,9,112,72,89,115,0,0,23,18,0,0,23,18,1,103,159,210,82,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,23,205,73,68,65,84,120,218,236,221,63,146,148,199,1,198,225,214,138,64,153,55,116,230,225,4,94,157,128,209,9,88,78,160,37,115,6,156,0,113,2,164,208,17,67,228,114,36,136,28,50,202,156,105,201,148,121,148,217,25,206,164,204,
 221,254,190,45,244,7,73,32,161,151,233,238,231,169,234,98,237,64,59,221,223,4,83,191,237,238,41,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -9990,10 +9990,10 @@ static const unsigned char temp_5a5e8e78[] =
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,14,253,79,128,1,0,153,2,27,8,33,213,49,244,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::square_wave_png = (const char*) temp_5a5e8e78;
+const char* BinaryData::square_wave_png = (const char*) temp_727226f3;
 
 //================== triangle_wave.png ==================
-static const unsigned char temp_d696456d[] =
+static const unsigned char temp_3825ab28[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,4,172,0,0,2,113,8,6,0,0,0,111,215,42,130,0,0,0,9,112,72,89,115,0,0,23,18,0,0,23,18,1,103,159,210,82,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,32,173,73,68,65,84,120,218,236,221,251,145,85,199,122,198,225,214,113,2,100,224,9,129,12,204,201,128,16,94,101,64,8,100,160,16,80,6,132,128,28,1,114,4,216,17,72,25,224,189,197,12,12,48,151,125,89,151,175,187,159,167,170,
 171,252,199,41,219,181,46,189,250,251,157,13,180,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -10102,10 +10102,10 @@ static const unsigned char temp_d696456d[] =
 253,85,213,43,183,1,0,0,0,128,31,189,110,95,226,209,150,161,42,46,59,0,0,0,0,207,121,117,88,239,219,122,161,234,248,107,174,184,204,0,0,0,0,156,235,248,247,73,165,125,137,87,215,254,171,130,199,72,245,166,125,249,203,222,1,88,193,47,46,1,0,0,48,161,151,
 183,235,230,176,254,235,153,255,236,127,31,214,223,135,245,231,97,253,225,210,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,239,255,5,24,0,2,125,7,137,153,101,243,194,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::triangle_wave_png = (const char*) temp_d696456d;
+const char* BinaryData::triangle_wave_png = (const char*) temp_3825ab28;
 
 //================== wifi.png ==================
-static const unsigned char temp_43e5b62e[] =
+static const unsigned char temp_4168e213[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,64,0,0,0,247,8,6,0,0,0,108,40,141,211,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,12,225,73,68,65,84,120,218,236,221,139,117,27,199,21,128,225,81,5,102,7,70,7,70,7,130,43,8,58,8,84,65,144,10,12,87,0,167,2,56,21,192,169,128,84,5,164,42,32,93,1,169,10,28,236,209,64,130,104,62,0,98,95,51,247,251,207,185,
 135,142,148,248,132,187,51,255,222,59,51,187,55,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,242,206,37,64,75,92,236,98,250,196,159,79,243,223,157,202,205,46,30,30,253,217,67,254,115,128,0,209,57,123,121,77,114,52,
@@ -10155,10 +10155,10 @@ static const unsigned char temp_43e5b62e[] =
 242,3,16,82,130,228,7,32,164,4,201,15,64,72,9,146,31,128,144,18,36,63,0,33,37,72,126,0,66,74,144,252,0,132,148,32,249,1,8,41,65,242,3,16,82,130,228,7,32,164,4,201,15,64,72,9,146,31,128,144,18,36,63,0,33,37,72,126,0,66,74,144,252,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,45,252,95,128,1,0,166,155,18,218,219,72,225,153,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::wifi_png = (const char*) temp_43e5b62e;
+const char* BinaryData::wifi_png = (const char*) temp_4168e213;
 
 //================== SourceDrop.png ==================
-static const unsigned char temp_e9da47e3[] =
+static const unsigned char temp_77043408[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,154,0,0,2,209,8,6,0,0,0,163,255,186,145,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,24,15,73,68,65,84,120,218,236,157,49,118,219,58,155,64,225,252,234,199,59,120,76,55,93,244,78,154,233,66,173,192,206,10,34,55,108,99,175,64,210,10,226,180,106,44,175,32,206,10,68,151,83,228,68,89,65,152,106,202,167,233,166,
 203,224,139,32,255,50,4,82,36,69,144,50,113,239,57,140,98,218,164,36,232,234,3,64,2,31,206,212,137,144,36,201,185,126,24,234,45,214,219,95,122,139,244,38,251,190,206,231,243,105,195,207,181,52,207,211,36,35,253,58,211,6,95,163,188,190,101,133,67,178,
@@ -10248,10 +10248,10 @@ static const unsigned char temp_e9da47e3[] =
 26,164,75,209,72,34,211,28,63,74,138,38,66,201,96,214,123,31,215,202,78,82,52,153,53,99,58,3,113,133,118,4,84,67,196,90,153,246,239,131,61,5,46,8,209,140,108,43,83,16,183,166,173,177,173,50,183,237,162,119,53,170,131,166,73,95,128,80,217,182,35,165,183,
 255,53,143,89,151,98,217,252,191,0,3,0,92,224,0,25,78,103,130,40,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::SourceDrop_png = (const char*) temp_e9da47e3;
+const char* BinaryData::SourceDrop_png = (const char*) temp_77043408;
 
 //================== DefaultDataSource.png ==================
-static const unsigned char temp_83d17403[] =
+static const unsigned char temp_1f71843e[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,14,0,0,2,14,8,6,0,0,0,208,187,133,57,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,54,204,73,68,65,84,120,218,236,221,219,113,27,71,211,198,241,33,234,187,55,51,240,58,2,193,55,46,251,74,171,8,76,69,32,40,2,137,17,144,140,64,100,4,130,34,16,20,129,86,87,118,249,198,80,4,239,58,3,58,131,15,35,244,90,16,5,146,
 56,236,244,116,207,252,127,85,44,218,239,129,0,22,187,179,207,246,156,78,2,0,247,254,248,243,175,118,227,95,167,171,159,211,141,127,255,65,254,179,109,78,31,248,239,182,185,93,253,44,31,248,239,63,221,249,247,165,252,127,190,252,127,127,251,245,151,37,
@@ -10450,10 +10450,10 @@ static const unsigned char temp_83d17403[] =
 124,222,248,247,158,65,139,0,193,1,192,126,193,98,168,90,68,177,106,209,200,63,55,193,126,229,98,168,20,12,255,252,175,252,243,80,45,88,50,72,17,32,56,0,200,27,52,54,181,59,252,95,159,110,249,207,134,39,255,135,220,74,24,248,166,114,64,133,0,40,207,255,
 11,48,0,82,9,189,51,228,54,205,183,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::DefaultDataSource_png = (const char*) temp_83d17403;
+const char* BinaryData::DefaultDataSource_png = (const char*) temp_1f71843e;
 
 //================== FileReaderIcon.png ==================
-static const unsigned char temp_a3ff92b1[] =
+static const unsigned char temp_745ce456[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,43,0,0,2,165,8,6,0,0,0,10,20,172,128,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,13,207,73,68,65,84,120,218,236,221,193,109,219,102,24,199,97,167,224,189,217,160,26,33,39,130,60,69,222,32,27,68,217,160,157,64,244,6,217,32,242,4,237,6,97,78,36,120,202,8,234,6,206,4,233,171,194,45,138,130,110,42,231,179,244,
 138,126,30,224,3,115,50,132,191,232,234,87,17,65,94,12,227,244,245,234,219,250,171,60,62,37,122,45,159,227,220,101,121,45,109,83,223,93,1,192,194,188,248,159,177,2,23,27,113,113,190,216,69,220,2,98,5,96,9,17,183,143,243,123,162,215,178,207,242,90,34,
@@ -10499,10 +10499,10 @@ static const unsigned char temp_a3ff92b1[] =
 127,254,79,195,56,173,205,12,0,100,141,149,205,253,1,0,120,20,143,129,0,0,177,2,0,32,86,0,0,177,2,0,32,86,0,0,196,10,0,32,86,0,0,196,10,0,32,86,0,0,196,10,0,128,88,1,0,196,10,0,128,88,1,0,196,10,0,128,88,1,0,16,43,0,128,88,1,0,16,43,0,128,88,1,0,16,43,
 0,0,98,5,0,16,43,0,0,167,240,135,0,3,0,22,72,102,252,69,115,49,232,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::FileReaderIcon_png = (const char*) temp_a3ff92b1;
+const char* BinaryData::FileReaderIcon_png = (const char*) temp_745ce456;
 
 //================== IntanIcon.png ==================
-static const unsigned char temp_1c931bf2[] =
+static const unsigned char temp_18972d[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,88,0,0,2,88,8,6,0,0,0,190,102,152,220,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,63,109,73,68,65,84,120,218,236,221,219,117,219,198,162,6,96,56,43,239,155,187,130,208,21,88,126,201,74,158,76,87,96,185,2,83,21,88,170,64,82,5,146,43,16,93,129,229,10,68,63,37,43,47,86,42,48,83,193,81,42,216,7,99,13,19,154,
 230,5,131,27,1,242,251,214,194,102,182,197,203,112,0,2,63,102,6,131,39,89,71,252,246,251,31,71,249,67,88,134,249,242,44,95,6,241,79,71,11,255,13,0,240,144,47,247,11,255,253,103,190,204,194,191,253,250,203,207,247,93,40,224,147,29,7,170,227,124,121,145,
@@ -10733,10 +10733,10 @@ static const unsigned char temp_1c931bf2[] =
 105,213,2,0,154,55,203,151,219,124,121,95,245,202,192,206,6,172,21,97,107,148,47,175,178,199,150,45,115,105,1,0,85,133,57,172,66,144,250,152,47,211,54,67,85,39,2,214,154,192,53,140,97,235,167,236,223,22,174,97,166,181,11,0,248,215,44,46,243,255,254,43,
 134,170,217,174,2,213,178,255,23,96,0,208,173,232,3,246,227,153,225,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::IntanIcon_png = (const char*) temp_1c931bf2;
+const char* BinaryData::IntanIcon_png = (const char*) temp_18972d;
 
 //================== muteoff.png ==================
-static const unsigned char temp_db8d15fa[] =
+static const unsigned char temp_bf129135[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,165,0,0,0,119,8,6,0,0,0,98,221,128,254,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,7,127,73,68,65,84,120,218,236,93,237,141,219,56,16,157,13,238,255,169,131,232,42,136,58,136,174,130,115,42,136,182,3,167,130,213,85,160,77,5,74,7,218,171,64,238,64,78,5,187,169,192,123,21,236,217,128,140,91,24,182,197,33,
 135,228,144,126,15,32,2,36,182,98,146,79,111,190,248,65,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,23,119,24,2,49,52,251,246,215,190,21,251,182,221,183,239,251,246,130,97,1,98,224,64,194,105,223,222,78,218,110,223,86,24,30,64,11,33,223,183,10,195,4,132,194,106,
@@ -10767,10 +10767,10 @@ static const unsigned char temp_db8d15fa[] =
 182,24,66,64,147,106,154,30,135,13,0,193,84,19,102,16,80,165,154,3,134,10,8,141,134,174,87,64,96,182,129,104,196,220,157,81,72,16,210,2,119,24,2,81,172,102,34,110,136,127,239,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,224,63,1,6,0,199,74,112,
 188,78,34,32,245,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::muteoff_png = (const char*) temp_db8d15fa;
+const char* BinaryData::muteoff_png = (const char*) temp_bf129135;
 
 //================== muteon.png ==================
-static const unsigned char temp_b4d8aaca[] =
+static const unsigned char temp_a3695c2f[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,165,0,0,0,119,8,6,0,0,0,98,221,128,254,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,5,175,73,68,65,84,120,218,236,157,225,113,219,54,20,128,41,95,7,144,39,40,51,65,153,9,66,79,80,101,130,72,19,84,158,32,242,4,106,38,176,55,80,58,129,212,9,228,78,32,101,2,187,19,176,192,9,185,178,172,34,63,146,32,240,32,
 126,223,29,207,254,33,203,226,227,167,247,0,16,0,179,12,0,0,0,0,0,0,0,0,0,32,46,19,66,224,135,170,170,230,230,199,175,230,152,154,227,217,28,95,38,147,201,145,200,64,12,25,167,230,216,87,255,231,197,28,51,34,4,90,132,172,83,16,41,8,37,228,204,101,195,
@@ -10795,10 +10795,10 @@ static const unsigned char temp_b4d8aaca[] =
 38,65,91,214,228,14,14,168,202,154,60,228,30,130,203,121,233,105,25,123,202,54,196,20,179,57,87,115,131,144,221,96,31,27,191,114,218,182,163,21,113,215,246,185,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,61,252,35,192,0,171,7,136,102,133,179,227,147,0,0,0,
 0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::muteon_png = (const char*) temp_b4d8aaca;
+const char* BinaryData::muteon_png = (const char*) temp_a3695c2f;
 
 //================== MergerA-01.png ==================
-static const unsigned char temp_1d080779[] =
+static const unsigned char temp_7677e5e[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,69,0,0,1,169,8,6,0,0,0,131,16,66,165,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,21,118,73,68,65,84,120,218,236,221,189,111,93,71,122,7,224,33,205,133,100,55,75,195,69,108,96,131,28,117,74,82,136,238,210,36,190,238,220,45,221,109,170,92,117,73,181,218,46,157,168,191,64,18,130,0,219,241,170,76,37,186,220,
 138,87,221,22,73,72,45,16,239,166,226,81,103,87,146,58,17,145,172,204,240,156,107,82,50,181,226,199,189,119,230,156,243,60,192,64,194,98,23,246,190,188,31,63,190,243,158,153,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -10876,10 +10876,10 @@ static const unsigned char temp_1d080779[] =
 248,195,31,30,43,12,66,17,148,105,26,154,109,180,127,89,116,32,18,138,24,98,32,26,159,252,207,126,241,139,191,60,90,127,252,246,219,240,242,229,255,41,18,66,17,148,97,18,215,111,98,24,186,179,204,71,246,189,163,25,108,32,154,249,139,79,63,13,127,253,
 55,127,27,254,251,191,254,83,48,66,40,130,124,82,39,232,183,113,253,99,12,67,15,114,28,238,248,255,2,12,0,160,41,104,168,212,59,220,159,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::MergerA01_png = (const char*) temp_1d080779;
+const char* BinaryData::MergerA01_png = (const char*) temp_7677e5e;
 
 //================== MergerA-02.png ==================
-static const unsigned char temp_1d161efa[] =
+static const unsigned char temp_77595df[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,69,0,0,1,169,8,6,0,0,0,131,16,66,165,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,21,221,73,68,65,84,120,218,236,221,207,143,220,229,125,192,241,199,6,20,145,3,24,113,104,14,84,76,14,68,42,145,98,71,109,165,68,106,203,112,171,0,41,246,49,39,236,219,70,171,85,234,191,0,175,170,168,205,41,187,26,141,58,55,
 102,149,246,18,21,177,72,148,156,130,191,62,1,39,198,28,210,10,34,49,78,140,212,139,221,129,74,56,17,152,246,251,236,124,7,111,28,227,95,187,51,207,243,253,62,175,151,52,26,43,34,96,127,118,215,251,222,231,121,190,223,239,145,0,29,55,24,142,94,174,223,
@@ -10959,10 +10959,10 @@ static const unsigned char temp_1d161efa[] =
 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,0,7,243,255,2,12,0,244,180,87,201,128,90,137,162,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::MergerA02_png = (const char*) temp_1d161efa;
+const char* BinaryData::MergerA02_png = (const char*) temp_77595df;
 
 //================== MergerB-01.png ==================
-static const unsigned char temp_84e93458[] =
+static const unsigned char temp_6f48ab3d[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,69,0,0,1,169,8,6,0,0,0,131,16,66,165,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,22,71,73,68,65,84,120,218,236,221,193,110,92,215,125,192,225,35,195,64,150,97,158,160,147,39,16,253,4,30,111,219,2,161,159,32,163,29,1,130,144,252,4,146,94,160,148,58,24,100,18,47,56,68,187,106,211,74,6,28,103,149,112,180,106,
 187,210,72,221,217,5,60,130,232,165,108,102,99,67,128,1,245,156,185,119,68,202,162,109,82,26,206,57,247,222,239,67,47,168,4,110,98,255,69,101,126,60,231,220,123,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -11043,10 +11043,10 @@ static const unsigned char temp_84e93458[] =
 90,156,33,18,68,136,34,40,194,36,100,60,119,36,138,232,108,24,185,195,12,81,4,197,154,214,113,52,21,69,112,201,254,254,31,254,241,240,179,63,125,218,55,9,68,17,20,109,30,214,248,42,17,81,68,23,221,138,215,77,99,64,20,65,99,164,67,217,31,94,246,182,218,
 187,230,76,199,92,248,185,69,0,100,51,13,107,124,50,182,40,66,16,1,80,154,73,200,240,14,53,81,132,32,2,160,4,199,117,12,221,205,117,247,217,255,11,48,0,4,145,141,135,126,85,212,174,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::MergerB01_png = (const char*) temp_84e93458;
+const char* BinaryData::MergerB01_png = (const char*) temp_6f48ab3d;
 
 //================== MergerB-02.png ==================
-static const unsigned char temp_84f74bd9[] =
+static const unsigned char temp_6f56c2be[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,69,0,0,1,169,8,6,0,0,0,131,16,66,165,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,
 100,121,113,201,101,60,0,0,18,109,73,68,65,84,120,218,236,221,253,109,28,199,25,192,225,161,97,88,127,90,174,192,231,10,76,87,224,77,5,145,42,48,85,129,237,10,44,86,16,177,2,31,43,200,165,2,175,42,200,169,2,173,42,200,249,207,0,1,156,27,237,94,72,43,
 148,248,117,119,243,238,204,243,0,7,25,65,128,216,175,201,240,199,249,216,253,60,65,253,126,221,126,206,140,129,154,125,254,228,137,33,48,87,203,237,231,242,63,255,254,119,95,252,251,200,191,11,4,17,0,71,182,153,98,232,98,27,67,67,152,95,46,252,123,65,
@@ -11113,10 +11113,10 @@ static const unsigned char temp_84f74bd9[] =
 0,0,68,17,0,128,40,2,0,16,69,0,0,162,8,0,64,20,1,0,136,34,0,0,81,4,0,32,138,0,0,68,17,0,128,40,2,0,16,69,0,0,162,8,0,64,20,1,0,136,34,0,0,81,4,0,32,138,0,0,68,17,0,128,40,2,0,16,69,0,0,162,8,0,64,20,1,0,136,34,0,0,81,4,0,32,138,0,0,68,17,0,128,40,2,0,
 16,69,0,0,162,8,0,64,20,1,0,136,34,0,0,81,4,0,32,138,0,0,68,17,0,128,40,2,0,16,69,0,0,181,248,175,0,3,0,94,88,236,111,126,120,246,51,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::MergerB02_png = (const char*) temp_84f74bd9;
+const char* BinaryData::MergerB02_png = (const char*) temp_6f56c2be;
 
 //================== PipelineA-01.png ==================
-static const unsigned char temp_d2682521[] =
+static const unsigned char temp_a2c576c6[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,49,0,0,1,169,8,6,0,0,0,124,178,103,71,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,20,161,73,68,65,84,120,218,236,221,77,118,220,198,213,6,224,82,236,121,232,89,102,129,87,96,122,5,106,175,192,202,10,212,90,129,153,21,136,90,1,165,21,176,51,250,134,162,71,223,80,240,10,68,205,50,19,178,2,209,179,204,148,
 174,3,180,217,110,145,84,55,8,116,85,1,207,115,78,29,57,63,199,150,47,33,246,203,91,183,80,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,22,190,81,2,128,193,124,92,175,39,235,245,239,245,250,175,114,0,0,165,248,220,173,79,235,
@@ -11191,10 +11191,10 @@ static const unsigned char temp_d2682521[] =
 0,132,24,40,73,28,224,125,17,12,242,2,8,49,80,88,128,137,91,72,6,121,1,132,24,40,138,147,72,0,66,12,20,25,96,174,148,1,64,136,129,210,2,204,74,25,0,132,24,40,201,107,1,6,96,222,188,39,134,18,197,240,242,66,25,0,230,77,39,6,1,6,0,33,6,4,24,0,132,24,16,
 96,0,16,98,16,96,0,152,154,111,149,128,204,57,70,13,192,157,116,98,16,96,0,40,210,255,4,24,0,27,12,93,110,21,245,184,159,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::PipelineA01_png = (const char*) temp_d2682521;
+const char* BinaryData::PipelineA01_png = (const char*) temp_a2c576c6;
 
 //================== PipelineA-02.png ==================
-static const unsigned char temp_d2763ca2[] =
+static const unsigned char temp_a2d38e47[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,49,0,0,1,169,8,6,0,0,0,124,178,103,71,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,25,18,73,68,65,84,120,218,236,221,191,114,28,199,157,192,241,214,149,67,178,12,101,167,75,52,10,200,84,36,93,133,2,18,97,121,14,233,42,83,145,228,72,96,157,157,185,78,160,99,203,36,66,251,2,146,137,47,228,224,94,64,240,19,
 104,20,1,133,132,208,19,104,239,9,4,63,1,111,154,59,123,128,36,252,217,157,253,51,221,51,159,79,213,214,74,182,69,139,63,146,139,47,122,122,166,67,8,225,173,151,87,74,175,91,183,111,191,125,93,254,207,15,71,199,39,247,2,0,92,225,189,230,11,7,36,225,206,
@@ -11286,10 +11286,10 @@ static const unsigned char temp_d2763ca2[] =
 25,5,136,24,128,212,157,133,243,243,140,198,198,1,34,6,32,117,49,88,28,9,0,34,6,32,27,85,152,172,186,28,26,5,136,24,128,28,148,77,188,156,26,5,136,24,128,212,77,143,4,40,237,119,1,17,3,144,131,24,44,251,110,145,6,17,3,144,139,170,137,151,202,40,64,196,
 0,228,160,12,142,4,0,17,3,144,137,24,44,142,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,240,127,2,12,0,195,72,32,13,219,83,201,41,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::PipelineA02_png = (const char*) temp_d2763ca2;
+const char* BinaryData::PipelineA02_png = (const char*) temp_a2d38e47;
 
 //================== PipelineB-01.png ==================
-static const unsigned char temp_3a495200[] =
+static const unsigned char temp_aa6a3a5[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,49,0,0,1,169,8,6,0,0,0,124,178,103,71,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,23,202,73,68,65,84,120,218,236,221,191,111,164,199,125,192,225,177,99,56,141,4,159,75,167,241,186,184,107,69,157,1,130,108,196,85,107,5,208,165,58,5,72,34,30,98,215,186,75,109,231,142,165,227,66,199,198,46,245,242,47,16,
 13,196,85,18,248,149,155,93,108,99,10,112,106,189,174,148,146,130,221,43,239,104,223,21,87,247,131,183,187,220,221,153,217,247,121,128,5,37,69,145,229,239,209,224,231,102,230,125,39,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,
@@ -11376,10 +11376,10 @@ static const unsigned char temp_3a495200[] =
 175,127,249,203,162,231,100,4,12,0,223,240,55,237,231,137,49,144,218,31,254,240,73,248,235,95,255,18,14,14,14,5,12,0,34,134,178,252,239,159,254,20,254,239,243,207,195,221,31,223,13,223,253,238,223,206,254,114,124,140,250,196,116,0,120,145,47,125,124,
 114,250,220,190,115,231,203,255,250,239,255,249,114,52,158,28,251,159,39,0,47,243,255,2,12,0,38,140,193,224,172,166,247,238,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::PipelineB01_png = (const char*) temp_3a495200;
+const char* BinaryData::PipelineB01_png = (const char*) temp_aa6a3a5;
 
 //================== PipelineB-02.png ==================
-static const unsigned char temp_3a576981[] =
+static const unsigned char temp_ab4bb26[] =
 { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,49,0,0,1,169,8,6,0,0,0,124,178,103,71,0,0,0,9,112,72,89,115,0,0,46,35,0,0,46,35,1,120,165,63,118,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,
 97,100,121,113,201,101,60,0,0,20,155,73,68,65,84,120,218,236,221,189,122,28,71,118,6,224,162,54,217,141,4,101,155,169,121,5,132,50,103,28,101,206,22,190,130,29,101,206,12,103,206,22,186,2,72,87,192,209,21,16,190,2,54,51,103,4,51,109,132,118,182,142,72,
 101,206,184,93,238,30,99,22,4,64,204,95,119,157,238,247,125,158,122,160,213,15,151,60,232,25,124,83,117,170,234,89,74,233,83,130,242,124,108,199,247,237,184,86,10,0,238,243,76,136,161,240,32,243,67,59,174,148,2,0,33,134,136,114,144,89,41,3,0,66,12,130,
@@ -11454,4 +11454,4 @@ static const unsigned char temp_3a576981[] =
 228,45,210,23,73,191,11,0,16,36,196,184,18,0,0,8,21,98,242,146,209,66,105,1,128,8,33,38,247,187,92,38,253,46,0,64,144,16,227,74,0,0,32,84,136,201,253,46,103,202,7,0,68,9,49,185,223,229,84,217,0,128,8,33,102,125,37,64,165,92,0,64,132,16,179,238,119,1,
 0,8,17,98,114,191,203,66,105,0,128,40,33,198,149,0,0,64,24,174,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,241,119,1,6,0,159,157,76,71,98,187,78,10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };
 
-const char* BinaryData::PipelineB02_png = (const char*) temp_3a576981;
+const char* BinaryData::PipelineB02_png = (const char*) temp_ab4bb26;
diff --git a/JuceLibraryCode/JuceHeader.h b/JuceLibraryCode/JuceHeader.h
index deec28dd3f67863f3f3b52ee5caeb9b69861365d..fb7076b9ed91f91c3cc2475ed6bc65d24f14d26e 100644
--- a/JuceLibraryCode/JuceHeader.h
+++ b/JuceLibraryCode/JuceHeader.h
@@ -10,8 +10,8 @@
 
 */
 
-#ifndef __APPHEADERFILE_DFAE8F6C__
-#define __APPHEADERFILE_DFAE8F6C__
+#ifndef __APPHEADERFILE_F0B475A7__
+#define __APPHEADERFILE_F0B475A7__
 
 #include "AppConfig.h"
 #include "juce_amalgamated.h"
@@ -24,4 +24,4 @@ namespace ProjectInfo
     const int          versionNumber  = 0x0;
 }
 
-#endif   // __APPHEADERFILE_DFAE8F6C__
+#endif   // __APPHEADERFILE_F0B475A7__
diff --git a/JuceLibraryCode/jucer/Builds/Linux/Makefile b/JuceLibraryCode/jucer/Builds/Linux/Makefile
index 6eff4675ff7fcb3bd460446b8dfd720b96015e99..13bce6ee2a53515a368043c3ec58fa180141b609 100644
--- a/JuceLibraryCode/jucer/Builds/Linux/Makefile
+++ b/JuceLibraryCode/jucer/Builds/Linux/Makefile
@@ -20,7 +20,7 @@ ifeq ($(CONFIG),Debug)
   CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
   CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
   CXXFLAGS += $(CFLAGS) 
-  LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound 
+  LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound -lXext
   LDDEPS :=
   RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
   TARGET := Jucer
diff --git a/JuceLibraryCode/src/core/juce_SystemStats.h b/JuceLibraryCode/src/core/juce_SystemStats.h
index ff062da58d8302b50895c3c9e6583abec3fb3434..ee31c5360c61a47827c437f46841a8836691c635 100755
--- a/JuceLibraryCode/src/core/juce_SystemStats.h
+++ b/JuceLibraryCode/src/core/juce_SystemStats.h
@@ -145,10 +145,17 @@ public:
     */
     static int getPageSize();
 
+    /** Returns an environment variable.
+    If the named value isn't set, this will return the defaultValue string instead.
+    */
+    static String getEnvironmentVariable (const String& name, const String& defaultValue);
+
     //==============================================================================
     // not-for-public-use platform-specific method gets called at startup to initialise things.
     static void initialiseStats();
 
+    
+
 private:
     struct CPUFlags
     {
diff --git a/JuceLibraryCode/src/native/common/juce_posix_SharedCode.h b/JuceLibraryCode/src/native/common/juce_posix_SharedCode.h
index 34225ba27d5a3713eedde5561873ac79ac5c2ccd..a8a3adf89f6f016629975d4014ed52be76a3d041 100755
--- a/JuceLibraryCode/src/native/common/juce_posix_SharedCode.h
+++ b/JuceLibraryCode/src/native/common/juce_posix_SharedCode.h
@@ -557,6 +557,14 @@ const String juce_getOutputFromCommand (const String& command)
     return result;
 }
 
+//=============================================================================
+String SystemStats::getEnvironmentVariable (const String& name, const String& defaultValue)
+{
+    if (const char* s = ::getenv (name.toUTF8()))
+        return String::fromUTF8 (s);
+
+    return defaultValue;
+}
 
 //==============================================================================
 class InterProcessLock::Pimpl
diff --git a/JuceLibraryCode/src/native/linux/juce_linux_Fonts.cpp b/JuceLibraryCode/src/native/linux/juce_linux_Fonts.cpp
index 408c521d7d7165b454287d6e348c669e83c8e3a3..2a5690a52b257250e053ecfed3c85274f96617f5 100755
--- a/JuceLibraryCode/src/native/linux/juce_linux_Fonts.cpp
+++ b/JuceLibraryCode/src/native/linux/juce_linux_Fonts.cpp
@@ -107,7 +107,22 @@ public:
             {
                 forEachXmlChildElementWithTagName (*fontsInfo, e, "dir")
                 {
-                    fontDirs.add (e->getAllSubText().trim());
+                    String fontPath (e->getAllSubText().trim());
+
+                    if (fontPath.isNotEmpty())
+                    {
+                        if (e->getStringAttribute ("prefix") == "xdg")
+                        {
+                            String xdgDataHome = (SystemStats::getEnvironmentVariable ("XDG_DATA_HOME", String::empty));
+
+                            if (xdgDataHome.trimStart().isEmpty())
+                                xdgDataHome = "~/.local/share";
+
+                            fontPath = File (xdgDataHome).getChildFile (fontPath).getFullPathName();
+                        }
+
+                        fontDirs.add (fontPath);
+                    }
                 }
             }
         }
@@ -115,7 +130,25 @@ public:
         if (fontDirs.size() == 0)
             fontDirs.add ("/usr/X11R6/lib/X11/fonts");
 
-        fontDirs.removeEmptyStrings (true);
+        fontDirs.removeDuplicates (false);
+
+        // if (fontDirs.size() == 0)
+        // {
+        //     const ScopedPointer<XmlElement> fontsInfo (XmlDocument::parse (File ("/etc/fonts/fonts.conf")));
+
+        //     if (fontsInfo != 0)
+        //     {
+        //         forEachXmlChildElementWithTagName (*fontsInfo, e, "dir")
+        //         {
+        //             fontDirs.add (e->getAllSubText().trim());
+        //         }
+        //     }
+        // }
+
+        // if (fontDirs.size() == 0)
+        //     fontDirs.add ("/usr/X11R6/lib/X11/fonts");
+
+        // fontDirs.removeEmptyStrings (true);
     }
 
     bool next()
diff --git a/JuceLibraryCode/src/native/windows/juce_win32_SystemStats.cpp b/JuceLibraryCode/src/native/windows/juce_win32_SystemStats.cpp
index 3e41e1d779e39ceb71b25698c6e1c450154d0c29..69fa9726a51bdb497c4afa3f9fe37659fe4e6685 100755
--- a/JuceLibraryCode/src/native/windows/juce_win32_SystemStats.cpp
+++ b/JuceLibraryCode/src/native/windows/juce_win32_SystemStats.cpp
@@ -357,5 +357,19 @@ const String SystemStats::getFullUserName()
     return getLogonName();
 }
 
+String SystemStats::getEnvironmentVariable (const String& name, const String& defaultValue)
+{
+    DWORD len = GetEnvironmentVariableW (name.toWideCharPointer(), 0, 0);
+    if (GetLastError() == ERROR_ENVVAR_NOT_FOUND)
+        return String (defaultValue);
+
+    HeapBlock<WCHAR> buffer (len);
+    len = GetEnvironmentVariableW (name.toWideCharPointer(), buffer, len);
+
+    return String (CharPointer_wchar_t (buffer),
+                   CharPointer_wchar_t (buffer + len));
+}
+
+
 
 #endif
diff --git a/Source/Processors/EventDetector.cpp b/Source/Processors/EventDetector.cpp
index 49cfa70336d1472362e13af8a896bbe62943660a..754393a619612b4aa16e41a34c750e312d85176d 100755
--- a/Source/Processors/EventDetector.cpp
+++ b/Source/Processors/EventDetector.cpp
@@ -41,16 +41,6 @@ EventDetector::~EventDetector()
    
 }
 
-// AudioProcessorEditor* EventDetector::createEditor()
-// {
-//     editor = new EventDetectorEditor(this);
-//     //setEditor(filterEditor);
-    
-//     std::cout << "Creating editor." << std::endl;
-
-//     return editor;
-// }
-
 
 
 void EventDetector::setParameter (int parameterIndex, float newValue)
diff --git a/Source/Processors/EventDetector.h b/Source/Processors/EventDetector.h
index 169b1b68cd3f81b82a910b3671251e8bff79305c..e88a28c79b22d03f994ab1ae63f6e2c8852b5ca7 100755
--- a/Source/Processors/EventDetector.h
+++ b/Source/Processors/EventDetector.h
@@ -35,7 +35,7 @@
 
   Searches for threshold crossings and sends out TTL events.
 
-  @see GenericProcessor, EventDetectorEditor
+  @see GenericProcessor
 
 */
 
@@ -50,10 +50,6 @@ public:
 	void process (AudioSampleBuffer &buffer, MidiBuffer &midiMessages, int& nSamples);
 	void setParameter (int parameterIndex, float newValue);
 
-	//AudioProcessorEditor* createEditor();
-
-	bool hasEditor() const {return false;}
-
 private:
 
 	float threshold;
diff --git a/Source/Processors/ExampleProcessor.cpp b/Source/Processors/ExampleProcessor.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ec0ab8563806ec7275ad33e9c1b9c7a64e87a951
--- /dev/null
+++ b/Source/Processors/ExampleProcessor.cpp
@@ -0,0 +1,81 @@
+/*
+    ------------------------------------------------------------------
+
+    This file is part of the Open Ephys GUI
+    Copyright (C) 2012 Open Ephys
+
+    ------------------------------------------------------------------
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include <stdio.h>
+#include "ExampleProcessor.h"
+
+ExampleProcessor::ExampleProcessor()
+	: GenericProcessor("Example Processor") //, threshold(200.0), state(true)
+
+{
+
+    //parameters.add(Parameter("thresh", 0.0, 500.0, 200.0, 0));
+
+}
+
+ExampleProcessor::~ExampleProcessor()
+{
+   
+}
+
+
+
+void ExampleProcessor::setParameter (int parameterIndex, float newValue)
+{
+
+    //Parameter& p =  parameters.getReference(parameterIndex);
+    //p.setValue(newValue, 0);
+
+    //threshold = newValue;
+
+    //std::cout << float(p[0]) << std::endl;
+
+}
+
+void ExampleProcessor::process(AudioSampleBuffer &buffer, 
+                            MidiBuffer &events,
+                            int& nSamples)
+{
+
+    // for (int i = 0; i < nSamples; i++)
+    // {
+    //
+    //     if ((*buffer.getSampleData(0, i) < -threshold) && !state)
+    //     {
+    //
+    //         // generate midi event
+    //         addEvent(events, TTL, i);
+    //
+    //         state = true;
+    //
+    //     } else if ((*buffer.getSampleData(0, i) > -threshold + bufferZone)  && state)
+    //     {
+    //         state = false;
+    //     }
+    //
+    //
+    // }
+
+
+}
diff --git a/Source/Processors/ExampleProcessor.h b/Source/Processors/ExampleProcessor.h
new file mode 100644
index 0000000000000000000000000000000000000000..93082877e38b6260e8461351906979afad15c00d
--- /dev/null
+++ b/Source/Processors/ExampleProcessor.h
@@ -0,0 +1,93 @@
+/*
+    ------------------------------------------------------------------
+
+    This file is part of the Open Ephys GUI
+    Copyright (C) 2012 Open Ephys
+
+    ------------------------------------------------------------------
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#ifndef __EXAMPLEPROCESSOR_H_91811542__
+#define __EXAMPLEPROCESSOR_H_91811542__
+
+#ifdef _WIN32
+#include <Windows.h>
+#endif
+
+#include "../../JuceLibraryCode/JuceHeader.h"
+#include "GenericProcessor.h"
+
+/**
+
+  This is a description of the processor's function.
+
+  @see GenericProcessor
+
+*/
+
+class ExampleProcessor : public GenericProcessor
+
+{
+public:
+	
+    /** The class constructor, used to initialize any members. */
+	ExampleProcessor();
+
+    /** The class destructor, used to deallocate memory */
+	~ExampleProcessor();
+
+    /** Determines whether the processor is treated as a source. 
+        Re-implemented from GenericProcessor.h */
+    bool isSource() {return false;}
+
+    /** Determines whether the processor is treated as a sink. 
+        Re-implemented from GenericProcessor.h */
+    bool isSink() {return false;}
+	
+    /** Defines the functionality of the processor.
+
+        The process method is called every time a new data buffer is available.
+
+        Processors can either use this method to add new data, manipulate existing
+        data, or send data to an external target (such as a display or other hardware).
+
+        Continuous signals arrive in the "buffer" variable, event data (such as TTLs
+        and spikes) is contained in the "events" variable, and "nSamples" holds the
+        number of continous samples in the current buffer (which may differ from the
+        size of the buffer).
+         */
+	void process (AudioSampleBuffer &buffer, MidiBuffer &events, int& nSamples);
+
+    /** Any variables used by the "process" function _must_ be modified only through
+        this method while data acquisition is active. If they are modified in any
+        other way, the application will crash.  */
+	void setParameter (int parameterIndex, float newValue);
+
+private:
+
+    // private members and methods go here
+    // 
+    // e.g.:
+    //
+    // float threshold;
+    // bool state;
+
+	JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ExampleProcessor);
+
+};
+
+#endif  // __EXAMPLEPROCESSOR_H_91811542__
diff --git a/Source/Processors/GenericProcessor.h b/Source/Processors/GenericProcessor.h
index 0e628c068f8fba81baf9166a39c65c714439a484..87d0199d5c4ca2af6b1ba9e68a86a7587323b096 100755
--- a/Source/Processors/GenericProcessor.h
+++ b/Source/Processors/GenericProcessor.h
@@ -77,7 +77,7 @@ public:
 	virtual void setParameter (int parameterIndex, float newValue);
 
 	virtual AudioProcessorEditor* createEditor();
-	bool hasEditor() const {return true;}
+	bool hasEditor() const {return false;}
 	
 	void reset() {}
 	void setCurrentProgramStateInformation(const void* data, int sizeInBytes) {}
diff --git a/Source/Processors/PhaseDetector.cpp b/Source/Processors/PhaseDetector.cpp
index 09138cb4ce7618f394ef9541e783ecd5532c91d9..e6b6c3b1c0dd039951c3f363b5844aa4e083a235 100644
--- a/Source/Processors/PhaseDetector.cpp
+++ b/Source/Processors/PhaseDetector.cpp
@@ -123,7 +123,7 @@ void PhaseDetector::process(AudioSampleBuffer &buffer,
 	    	numPeakIntervals++;
 
 	    	// entering falling phase (just reached peak)
-	    	if (canBeTriggered)
+	    	if (true)
 	        	addEvent(events, TTL, i, 1, 3);
 
 	        peakIntervals[numPeakIntervals % NUM_INTERVALS] = nSamplesSinceLastPeak;
diff --git a/Source/Processors/RecordNode.cpp b/Source/Processors/RecordNode.cpp
index 7881ca8a0ac0d17294d2c05bd0de13a1f36499f6..901ca53cc602e60ee13086f954fb36ab849348c2 100755
--- a/Source/Processors/RecordNode.cpp
+++ b/Source/Processors/RecordNode.cpp
@@ -369,7 +369,19 @@ String RecordNode::generateHeader(Channel* ch)
 {
 
 	String header = "header.format = 'OPEN EPHYS DATA FORMAT v0.0'; \n";
-	header += "header.description = 'each record contains one 64-bit timestamp, one 16-bit sample count (N), and N 16-bit samples'; \n";
+
+	header += "header.header_bytes = ";
+	header += String(HEADER_SIZE);
+	header += ";\n";
+
+	if (ch->isEventChannel)
+	{
+		header += "header.description = 'each record contains one 64-bit timestamp, one 16-bit sample position, one uint8 event type, one uint8 processor ID, one uint8 event ID, and one uint8 event channel'; \n";
+
+	} else {
+		header += "header.description = 'each record contains one 64-bit timestamp, one 16-bit sample count (N), N 16-bit samples, and one 10-byte record marker (0 0 0 0 0 0 0 0 0 255)'; \n";
+	}
+
 
 	header += "header.date_created = '";
 	header += generateDateString();
@@ -388,9 +400,9 @@ String RecordNode::generateHeader(Channel* ch)
 
 		header += "header.channelType = 'Continuous';\n";
 
-		header += "header.sampleRate = '";
+		header += "header.sampleRate = ";
 		header += String(ch->sampleRate);
-		header += "';\n";
+		header += ";\n";
 	}
 
 	header += "header.bitVolts = ";