diff --git a/Source/Processors/Editors/GenericEditor.cpp b/Source/Processors/Editors/GenericEditor.cpp
index 2bbf74b01c62e252f634bfb63ef4a4f30f6d5939..b7fa8578f38aaafa4fe674ff48e3c5115483e8c1 100644
--- a/Source/Processors/Editors/GenericEditor.cpp
+++ b/Source/Processors/Editors/GenericEditor.cpp
@@ -88,23 +88,7 @@ GenericEditor::GenericEditor (GenericProcessor* owner)//, FilterViewport* vp)
 	//grad.addColour(0.5, Colours::lightgrey);
 	//grad.addColour(1.0f, Colours::grey);
 
-	int maxX = 20;
-	int maxY = 30;
-
-	for (int i = 0; i < owner->getNumParameters(); i++)
-	{
-		ParameterEditor* p = new ParameterEditor(owner->getParameterReference(i), titleFont);												
-		
-		int dWidth = p->desiredWidth;
-		int dHeight = p->desiredHeight;
-
-		p->setBounds(maxX, maxY, dWidth, dHeight);
-		addAndMakeVisible(p);
-
-		maxY += dHeight;
-		maxY += 10;
-
-	}
+	addParameterEditors();
 
 	backgroundColor = Colour(10,10,10);
 
@@ -120,6 +104,28 @@ GenericEditor::~GenericEditor()
 	//delete titleFont;
 }
 
+void GenericEditor::addParameterEditors()
+{
+	
+	int maxX = 15;
+	int maxY = 30;
+
+	for (int i = 0; i < getProcessor()->getNumParameters(); i++)
+	{
+		ParameterEditor* p = new ParameterEditor(getProcessor()->getParameterReference(i), titleFont);												
+		
+		int dWidth = p->desiredWidth;
+		int dHeight = p->desiredHeight;
+
+		p->setBounds(maxX, maxY, dWidth, dHeight);
+		addAndMakeVisible(p);
+
+		maxY += dHeight;
+		maxY += 5;
+	}
+}
+
+
 void GenericEditor::refreshColors()
 {
 
diff --git a/Source/Processors/Editors/GenericEditor.h b/Source/Processors/Editors/GenericEditor.h
index 34698c152f7312dea702dbc3e22012682b3b522d..8e0a3123f40312dd2ed2a8560b5b8af53760e333 100644
--- a/Source/Processors/Editors/GenericEditor.h
+++ b/Source/Processors/Editors/GenericEditor.h
@@ -118,10 +118,12 @@ public:
 	Array<bool> recordChannels;
 	Array<bool> paramsChannels;
 
+
 protected:
 	DrawerButton* drawerButton;
 	int drawerWidth;
 
+	virtual void addParameterEditors();
 	
 private: