diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile
index 6cd903bacb6607760f96f6564696f412439ddb6b..ee7bed61056a5eae174ad1d68e41fd951af4ad51 100644
--- a/Builds/Linux/Makefile
+++ b/Builds/Linux/Makefile
@@ -63,6 +63,7 @@ OBJECTS := \
   $(OBJDIR)/RootFinder_239a995f.o \
   $(OBJDIR)/State_22979684.o \
   $(OBJDIR)/AudioComponent_521bd9c9.o \
+  $(OBJDIR)/Parameter_ae008024.o \
   $(OBJDIR)/SpikeDisplayNode_9c52e4ad.o \
   $(OBJDIR)/WiFiOutput_fa464ec5.o \
   $(OBJDIR)/LfpDisplayNode_30ef22fd.o \
@@ -119,7 +120,6 @@ OBJECTS := \
   $(OBJDIR)/CustomLookAndFeel_53a8fcdb.o \
   $(OBJDIR)/InfoLabel_a2051bf4.o \
   $(OBJDIR)/DataViewport_2cf95d2c.o \
-  $(OBJDIR)/Configuration_6915cd84.o \
   $(OBJDIR)/MessageCenter_748a1cca.o \
   $(OBJDIR)/ControlPanel_a895ede3.o \
   $(OBJDIR)/UIComponent_d667ba37.o \
@@ -246,6 +246,11 @@ $(OBJDIR)/AudioComponent_521bd9c9.o: ../../Source/Audio/AudioComponent.cpp
 	@echo "Compiling AudioComponent.cpp"
 	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
 
+$(OBJDIR)/Parameter_ae008024.o: ../../Source/Processors/Parameter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Parameter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
 $(OBJDIR)/SpikeDisplayNode_9c52e4ad.o: ../../Source/Processors/SpikeDisplayNode.cpp
 	-@mkdir -p $(OBJDIR)
 	@echo "Compiling SpikeDisplayNode.cpp"
@@ -526,11 +531,6 @@ $(OBJDIR)/DataViewport_2cf95d2c.o: ../../Source/UI/DataViewport.cpp
 	@echo "Compiling DataViewport.cpp"
 	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
 
-$(OBJDIR)/Configuration_6915cd84.o: ../../Source/UI/Configuration.cpp
-	-@mkdir -p $(OBJDIR)
-	@echo "Compiling Configuration.cpp"
-	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
-
 $(OBJDIR)/MessageCenter_748a1cca.o: ../../Source/UI/MessageCenter.cpp
 	-@mkdir -p $(OBJDIR)
 	@echo "Compiling MessageCenter.cpp"
diff --git a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
index 2f07f6bff7f71b1e7c1457a222ccc9caac4fe7fa..e402638d5a9032e0194b606679806d7674a52d68 100644
--- a/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
+++ b/Builds/MacOSX/open-ephys.xcodeproj/project.pbxproj
@@ -37,6 +37,7 @@
 		8E138283FC265B58D252AAC3 = { isa = PBXBuildFile; fileRef = F4A53064BA75472765338C1D; };
 		EE1DC0B09AE0727BC7A5A99C = { isa = PBXBuildFile; fileRef = 0D20C3399D0492771F7A808A; };
 		4ACF816CB5CDB285D8005AB8 = { isa = PBXBuildFile; fileRef = F74662D3D82975EDB5AD42E0; };
+		717D108DC8B2379D556C4B2F = { isa = PBXBuildFile; fileRef = 751C52F2BEA7F1328ED13333; };
 		1F67A9ACD509FB4DC5A633DF = { isa = PBXBuildFile; fileRef = 4AEDD076CCA918481C6F9CF2; };
 		B992DDBFF8928A985EEE1557 = { isa = PBXBuildFile; fileRef = 268005410FB62BCB9099A762; };
 		F1268EC5E783EC8ECEBCA5D3 = { isa = PBXBuildFile; fileRef = 5935F823A2EE45AC36A0201F; };
@@ -93,7 +94,6 @@
 		13457B3248E7646270A4FF88 = { isa = PBXBuildFile; fileRef = A32D8455B95FD230EBFD7891; };
 		D060C0893EDAE6CBC86A5FE2 = { isa = PBXBuildFile; fileRef = AA00883DC021E36B7EFDAC43; };
 		E36C0018635A85E09D4EDE01 = { isa = PBXBuildFile; fileRef = B977C2809B309C8038CB5D95; };
-		4BE24CDF92926150BFC83ED2 = { isa = PBXBuildFile; fileRef = 2F53BB2693AA5F1C2F27AF7C; };
 		C170A763D33146C74ED4CE4B = { isa = PBXBuildFile; fileRef = EEDA71600D817BF9444FE3E7; };
 		116BB2F62451986C75586F9D = { isa = PBXBuildFile; fileRef = 5AB4A3A63B9FDEAB09EEC9C8; };
 		1F301384375DA0F3652C01DA = { isa = PBXBuildFile; fileRef = 2A78F719BAFBDCD63AE9A88A; };
@@ -217,6 +217,8 @@
 		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; };
+		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; };
@@ -331,8 +333,6 @@
 		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; };
-		2F53BB2693AA5F1C2F27AF7C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Configuration.cpp; path = ../../Source/UI/Configuration.cpp; sourceTree = SOURCE_ROOT; };
-		DE21954E89A302C554C403B3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Configuration.h; path = ../../Source/UI/Configuration.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; };
@@ -542,6 +542,8 @@
 				72123888A7DD78159AA032AF,
 				2164BFCDF57A5AA752CAA3A2 ); name = DataThreads; sourceTree = "<group>"; };
 		33A88A7C3FF426F051834D6A = { isa = PBXGroup; children = (
+				751C52F2BEA7F1328ED13333,
+				7B825983F25D8984E02F6FFB,
 				4AEDD076CCA918481C6F9CF2,
 				671CC5EA3DF4F21E9A7E392B,
 				268005410FB62BCB9099A762,
@@ -587,8 +589,6 @@
 				1561F28CD560AB8F2E177628,
 				B977C2809B309C8038CB5D95,
 				877F9F9DA7A1B51D3EDCBC07,
-				2F53BB2693AA5F1C2F27AF7C,
-				DE21954E89A302C554C403B3,
 				EEDA71600D817BF9444FE3E7,
 				4EE6CA70F229EDE04E7E320B,
 				5AB4A3A63B9FDEAB09EEC9C8,
@@ -731,6 +731,7 @@
 				8E138283FC265B58D252AAC3,
 				EE1DC0B09AE0727BC7A5A99C,
 				4ACF816CB5CDB285D8005AB8,
+				717D108DC8B2379D556C4B2F,
 				1F67A9ACD509FB4DC5A633DF,
 				B992DDBFF8928A985EEE1557,
 				F1268EC5E783EC8ECEBCA5D3,
@@ -787,7 +788,6 @@
 				13457B3248E7646270A4FF88,
 				D060C0893EDAE6CBC86A5FE2,
 				E36C0018635A85E09D4EDE01,
-				4BE24CDF92926150BFC83ED2,
 				C170A763D33146C74ED4CE4B,
 				116BB2F62451986C75586F9D,
 				1F301384375DA0F3652C01DA,
diff --git a/Source/AccessClass.cpp b/Source/AccessClass.cpp
index 30cbb20e1dcf6ac5966e3e53e95db6830302d751..fca2d0e5909ee9c12d4f055df2c48ad28945a180 100644
--- a/Source/AccessClass.cpp
+++ b/Source/AccessClass.cpp
@@ -27,7 +27,6 @@
 #include "UI/EditorViewport.h"
 #include "UI/ProcessorList.h"
 #include "UI/DataViewport.h"
-#include "UI/Configuration.h"
 #include "UI/ControlPanel.h"
 #include "UI/MessageCenter.h"
 #include "Audio/AudioComponent.h"
@@ -43,7 +42,6 @@ void AccessClass::setUIComponent(UIComponent* ui_)
 	pg = ui->getProcessorGraph();
 	cp = ui->getControlPanel();
 	mc = ui->getMessageCenter();
-	cf = ui->getConfiguration();
 	ac = ui->getAudioComponent();
 
 	addActionListener(mc);
diff --git a/Source/AccessClass.h b/Source/AccessClass.h
index 6f9b6b127d69d4842a40e781d9368bd665b53b2a..566d1a00d34e1b6b9a4bf96f90998911384f3ecd 100644
--- a/Source/AccessClass.h
+++ b/Source/AccessClass.h
@@ -33,7 +33,6 @@ class DataViewport;
 class ProcessorGraph;
 class MessageCenter;
 class ControlPanel;
-class Configuration;
 class AudioComponent;
 
 
@@ -61,7 +60,6 @@ public:
 	ControlPanel* getControlPanel() {return cp;}
 	MessageCenter* getMessageCenter() {return mc;}
 	UIComponent* getUIComponent() {return ui;}
-	Configuration* getConfiguration() {return cf;}
 	AudioComponent* getAudioComponent() {return ac;}
 
 private:
@@ -73,7 +71,6 @@ private:
 	ProcessorGraph* pg;
 	ControlPanel* cp;
 	MessageCenter* mc;
-	Configuration* cf;
 	AudioComponent* ac;
 
 };
diff --git a/Source/Processors/Editors/GenericEditor.cpp b/Source/Processors/Editors/GenericEditor.cpp
index 0f4bc7bf005a9eb4e475a2cc2b1dca274d2860dd..4c561f58b5f80dde0cff58856b685048d36927fb 100644
--- a/Source/Processors/Editors/GenericEditor.cpp
+++ b/Source/Processors/Editors/GenericEditor.cpp
@@ -27,9 +27,6 @@
 #include "../RecordNode.h"
 
 #include "../../UI/EditorViewport.h"
-#include "../../UI/Configuration.h"
-
-
 
 #include <math.h>
 
diff --git a/Source/Processors/ProcessorGraph.cpp b/Source/Processors/ProcessorGraph.cpp
index ab2ea1ea8b744174c53042954676c3334cfe618e..b690742cd4c8d816e04c9b313da5954c7f0a0de2 100644
--- a/Source/Processors/ProcessorGraph.cpp
+++ b/Source/Processors/ProcessorGraph.cpp
@@ -40,7 +40,6 @@
 #include "Utilities/Splitter.h"
 #include "Utilities/Merger.h"
 #include "../UI/UIComponent.h"
-#include "../UI/Configuration.h"
 #include "../UI/EditorViewport.h"
 
 ProcessorGraph::ProcessorGraph() : currentNodeId(100)	
diff --git a/Source/Processors/SignalGenerator.h b/Source/Processors/SignalGenerator.h
index 2833f3f46e1838ba8b94693469a4151c5735e93d..4ce5f106ad645b0201f7dad263ee8b5684348d9f 100644
--- a/Source/Processors/SignalGenerator.h
+++ b/Source/Processors/SignalGenerator.h
@@ -49,8 +49,6 @@ public:
 
 	void setParameter (int parameterIndex, float newValue);
 
-	void setConfiguration(Configuration* cf);
-
 	float getSampleRate() {return 44100.0;}
 
 	AudioProcessorEditor* createEditor();
diff --git a/Source/Processors/SourceNode.h b/Source/Processors/SourceNode.h
index 78a9c1f781cd82427cb2a6c82328d69265fa44d7..03a6ef5ab15b90b32e34480e105751463f1a3004 100644
--- a/Source/Processors/SourceNode.h
+++ b/Source/Processors/SourceNode.h
@@ -53,22 +53,15 @@ public:
 	~SourceNode();
 
 	void enabledState(bool t);
-
-	//void setName(const String name_);
 	
 	void process(AudioSampleBuffer &buffer, MidiBuffer &midiMessages, int& nSamples);
 
 	void setParameter (int parameterIndex, float newValue);
 
-	void setConfiguration(Configuration* cf);
-
 	float getSampleRate();
 	float getDefaultSampleRate();
 	int getDefaultNumOutputs();
 
-	// void setSourceNode(GenericProcessor* sn);
-	// void setDestNode(GenericProcessor* dn);
-
 	AudioProcessorEditor* createEditor();
 	bool hasEditor() const {return true;}
 
@@ -87,7 +80,6 @@ private:
 
 	bool wasDisabled;
 
-	//const String name;
 	void timerCallback();
 
 	ScopedPointer<DataThread> dataThread;
diff --git a/Source/UI/UIComponent.cpp b/Source/UI/UIComponent.cpp
index 44d282ca6bb6d27de4204ea31b5fcabff57ce273..25a7d09d34bea1b3541966c1e19e2e432b5f664a 100644
--- a/Source/UI/UIComponent.cpp
+++ b/Source/UI/UIComponent.cpp
@@ -39,9 +39,8 @@ UIComponent::UIComponent (MainWindow* mainWindow_, ProcessorGraph* pgraph, Audio
 
 	std::cout << "Created data viewport." << std::endl;
 
-	editorViewport = new EditorViewport();//(processorGraph, dataViewport);
-	//processorGraph->setEditorViewport(editorViewport);
-	
+	editorViewport = new EditorViewport();
+
 	addAndMakeVisible(editorViewport);
 
 	std::cout << "Created filter viewport." << std::endl;
@@ -55,23 +54,16 @@ UIComponent::UIComponent (MainWindow* mainWindow_, ProcessorGraph* pgraph, Audio
 	std::cout << "Created control panel." << std::endl;
 
 	processorList = new ProcessorList();
-	//filterList->setUIComponent(this);
 	addAndMakeVisible(processorList);
 
 	std::cout << "Created filter list." << std::endl;
 
 	messageCenter = new MessageCenter();
-	//processorGraph->addActionListener(messageCenter);
 	addActionListener(messageCenter);
 	addAndMakeVisible(messageCenter);
 
 	std::cout << "Created message center." << std::endl;
 
-	config = new Configuration();
-	//processorGraph->setConfiguration(config);
-
-	std::cout << "Created configuration object." << std::endl;
-
 	setBounds(0,0,500,400);
 
 	std::cout << "Component width = " << getWidth() << std::endl;
@@ -79,10 +71,8 @@ UIComponent::UIComponent (MainWindow* mainWindow_, ProcessorGraph* pgraph, Audio
 
 	std::cout << "UI component data viewport: " << dataViewport << std::endl;
 
-
 	std::cout << "Finished UI stuff." << std::endl << std::endl << std::endl;
 
-
 	processorGraph->setUIComponent(this);
 	processorList->setUIComponent(this);
 	editorViewport->setUIComponent(this);
@@ -96,7 +86,6 @@ UIComponent::~UIComponent()
 {
 	deleteAllChildren();
 
-	deleteAndZero(config);
 	deleteAndZero(infoLabel);
 
 	processorGraph = 0;
diff --git a/Source/UI/UIComponent.h b/Source/UI/UIComponent.h
index 2c374b53f66e4d4573a4d0c92f7a50e51239a34e..68e0cc9e5df35448ddb826f9f11b5f8b0f8b1055 100644
--- a/Source/UI/UIComponent.h
+++ b/Source/UI/UIComponent.h
@@ -31,7 +31,6 @@
 #include "EditorViewport.h"
 #include "DataViewport.h"
 #include "MessageCenter.h"
-#include "Configuration.h"
 #include "../Processors/ProcessorGraph.h"
 #include "../Audio/AudioComponent.h"
 #include "../MainWindow.h"
@@ -71,7 +70,6 @@ public:
 	EditorViewport* getEditorViewport() {return editorViewport;}
 	ProcessorList* getProcessorList() {return processorList;}
 	DataViewport* getDataViewport() {return dataViewport;}
-	Configuration* getConfiguration() {return config;}
 	ProcessorGraph* getProcessorGraph() {return processorGraph;}
 	ControlPanel* getControlPanel() {return controlPanel;}
 	MessageCenter* getMessageCenter() {return messageCenter;}
@@ -95,7 +93,6 @@ private:
 	ProcessorList* processorList;
 	ControlPanel* controlPanel;
 	MessageCenter* messageCenter;
-	Configuration* config;
 	InfoLabel* infoLabel;
 
 	MainWindow* mainWindow;
diff --git a/open-ephys.jucer b/open-ephys.jucer
index d4dee0ae1fef8327e2fd11ab8802d8622de88ed6..5eb088f9745b0109761d33258566279cdbe6740d 100644
--- a/open-ephys.jucer
+++ b/open-ephys.jucer
@@ -184,6 +184,8 @@
               file="Source/Audio/AudioComponent.h"/>
       </GROUP>
       <GROUP id="yQmqZWk" name="Processors">
+        <FILE id="pQaYQiE" name="Parameter.cpp" compile="1" resource="0" file="Source/Processors/Parameter.cpp"/>
+        <FILE id="0jxvc4H" name="Parameter.h" compile="0" resource="0" file="Source/Processors/Parameter.h"/>
         <FILE id="arRy5R" name="SpikeDisplayNode.cpp" compile="1" resource="0"
               file="Source/Processors/SpikeDisplayNode.cpp"/>
         <FILE id="VwDxj" name="SpikeDisplayNode.h" compile="0" resource="0"
@@ -377,10 +379,6 @@
         <FILE id="bWElQSS" name="DataViewport.cpp" compile="1" resource="0"
               file="Source/UI/DataViewport.cpp"/>
         <FILE id="mMoQ3ls" name="DataViewport.h" compile="0" resource="0" file="Source/UI/DataViewport.h"/>
-        <FILE id="iFsLzAy" name="Configuration.cpp" compile="1" resource="0"
-              file="Source/UI/Configuration.cpp"/>
-        <FILE id="vNTFgW9" name="Configuration.h" compile="0" resource="0"
-              file="Source/UI/Configuration.h"/>
         <FILE id="rRa3X6v" name="MessageCenter.cpp" compile="1" resource="0"
               file="Source/UI/MessageCenter.cpp"/>
         <FILE id="Gwnvgdy" name="MessageCenter.h" compile="0" resource="0"