changeset 1:e85bd6381a58

Broken XCode project.
author martinm_home <martin.morrell@eecs.qmul.ac.uk>
date Thu, 06 Sep 2012 10:01:08 +0100
parents 2fa9c10568d1
children b2a8d65be9a1
files .hgignore SoundField.xcodeproj/project.pbxproj SoundField.xcodeproj/project.xcworkspace/xcuserdata/momont.xcuserdatad/UserInterfaceState.xcuserstate Source/Decoder.cpp Source/Decoder.h Source/GUI.h Source/SoundField.cpp
diffstat 7 files changed, 89 insertions(+), 153 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu Sep 06 10:01:08 2012 +0100
@@ -0,0 +1,3 @@
+syntax: glob
+*.DS_Store
+._*
\ No newline at end of file
--- a/SoundField.xcodeproj/project.pbxproj	Tue Aug 14 09:34:15 2012 +0100
+++ b/SoundField.xcodeproj/project.pbxproj	Thu Sep 06 10:01:08 2012 +0100
@@ -42,16 +42,6 @@
 		0C74E1621598C689004645E9 /* MyPlot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MyPlot.cpp; path = Source/MyPlot.cpp; sourceTree = "<group>"; };
 		0C74E1651598C6A1004645E9 /* MyPlot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MyPlot.h; path = Source/MyPlot.h; sourceTree = "<group>"; };
 		0C74E1661598C9B1004645E9 /* pink.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pink.png; path = Resources/pink.png; sourceTree = "<group>"; };
-		0C7C2423159879C50050E903 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aeffguieditor.cpp; path = "../../../../../Users/momont/libraries/vstgui-4.0/plugin-bindings/aeffguieditor.cpp"; sourceTree = "<group>"; };
-		0C7C2424159879C50050E903 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aeffguieditor.h; path = "../../../../../Users/momont/libraries/vstgui-4.0/plugin-bindings/aeffguieditor.h"; sourceTree = "<group>"; };
-		0C7C2425159879C50050E903 /* getpluginbundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = getpluginbundle.h; path = "../../../../../Users/momont/libraries/vstgui-4.0/plugin-bindings/getpluginbundle.h"; sourceTree = "<group>"; };
-		0C7C2426159879C50050E903 /* vstgui_mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = vstgui_mac.mm; path = "../../../../../Users/momont/libraries/vstgui-4.0/vstgui_mac.mm"; sourceTree = "<group>"; };
-		0C7C243015987BF20050E903 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aeffguieditor.cpp; path = "../../../../../Users/momont/libraries/vstgui-3.6/aeffguieditor.cpp"; sourceTree = "<group>"; };
-		0C7C243115987BF20050E903 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aeffguieditor.h; path = "../../../../../Users/momont/libraries/vstgui-3.6/aeffguieditor.h"; sourceTree = "<group>"; };
-		0C7C243215987BF20050E903 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vstcontrols.cpp; path = "../../../../../Users/momont/libraries/vstgui-3.6/vstcontrols.cpp"; sourceTree = "<group>"; };
-		0C7C243315987BF20050E903 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vstcontrols.h; path = "../../../../../Users/momont/libraries/vstgui-3.6/vstcontrols.h"; sourceTree = "<group>"; };
-		0C7C243415987BF20050E903 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vstgui.cpp; path = "../../../../../Users/momont/libraries/vstgui-3.6/vstgui.cpp"; sourceTree = "<group>"; };
-		0C7C243515987BF20050E903 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vstgui.h; path = "../../../../../Users/momont/libraries/vstgui-3.6/vstgui.h"; sourceTree = "<group>"; };
 		0C7C2448159882D30050E903 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aeffguieditor.cpp; path = "../../../../../Users/momont/libraries/vstgui-4.0.1/plugin-bindings/aeffguieditor.cpp"; sourceTree = "<group>"; };
 		0C7C2449159882D30050E903 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aeffguieditor.h; path = "../../../../../Users/momont/libraries/vstgui-4.0.1/plugin-bindings/aeffguieditor.h"; sourceTree = "<group>"; };
 		0C7C244A159882D30050E903 /* getpluginbundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = getpluginbundle.h; path = "../../../../../Users/momont/libraries/vstgui-4.0.1/plugin-bindings/getpluginbundle.h"; sourceTree = "<group>"; };
@@ -151,8 +141,6 @@
 		08FB77ADFE841716C02AAC07 /* Source */ = {
 			isa = PBXGroup;
 			children = (
-				0C7C242915987B580050E903 /* vstgui-3.6 */,
-				0C7C2422159879A60050E903 /* vstgui-4.0 */,
 				3EAD4EE01594D7D500FCEC69 /* vstgui-4.0.1 */,
 				3E6263FF158A7669006D3F03 /* Source */,
 				F405CDF90B0487F1008E3886 /* vstsdk2.4 */,
@@ -160,30 +148,6 @@
 			name = Source;
 			sourceTree = "<group>";
 		};
-		0C7C2422159879A60050E903 /* vstgui-4.0 */ = {
-			isa = PBXGroup;
-			children = (
-				0C7C2423159879C50050E903 /* aeffguieditor.cpp */,
-				0C7C2424159879C50050E903 /* aeffguieditor.h */,
-				0C7C2425159879C50050E903 /* getpluginbundle.h */,
-				0C7C2426159879C50050E903 /* vstgui_mac.mm */,
-			);
-			name = "vstgui-4.0";
-			sourceTree = "<group>";
-		};
-		0C7C242915987B580050E903 /* vstgui-3.6 */ = {
-			isa = PBXGroup;
-			children = (
-				0C7C243015987BF20050E903 /* aeffguieditor.cpp */,
-				0C7C243115987BF20050E903 /* aeffguieditor.h */,
-				0C7C243215987BF20050E903 /* vstcontrols.cpp */,
-				0C7C243315987BF20050E903 /* vstcontrols.h */,
-				0C7C243415987BF20050E903 /* vstgui.cpp */,
-				0C7C243515987BF20050E903 /* vstgui.h */,
-			);
-			name = "vstgui-3.6";
-			sourceTree = "<group>";
-		};
 		19C28FB4FE9D528D11CA2CBB /* Products */ = {
 			isa = PBXGroup;
 			children = (
@@ -369,9 +333,10 @@
 					"$HOME/libraries/vstgui-4.0.1/**",
 				);
 				INFOPLIST_FILE = "";
-				INSTALL_PATH = "$(HOME)/Library/Bundles";
+				INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST";
+				MACOSX_DEPLOYMENT_TARGET = 10.6;
 				PRODUCT_NAME = "Ambi-Stereo";
-				SDKROOT = macosx10.6;
+				SDKROOT = macosx10.7;
 				WRAPPER_EXTENSION = vst;
 				ZERO_LINK = NO;
 			};
@@ -385,11 +350,13 @@
 				GCC_MODEL_TUNING = G5;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = "";
+				GCC_VERSION = "";
 				GENERATE_PKGINFO_FILE = YES;
 				INFOPLIST_FILE = "";
-				INSTALL_PATH = "$(HOME)/Library/Bundles";
+				INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST";
+				MACOSX_DEPLOYMENT_TARGET = 10.6;
 				PRODUCT_NAME = "Ambi-Stereo";
-				SDKROOT = macosx10.6;
+				SDKROOT = macosx10.7;
 				WRAPPER_EXTENSION = vst;
 				ZERO_LINK = NO;
 			};
@@ -408,7 +375,7 @@
 					$HOME$/libraries/vstsdk2.4,
 					$HOME$/libraries/vstgui,
 				);
-				MACOSX_DEPLOYMENT_TARGET = 10.6;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = macosx10.6;
 			};
@@ -423,7 +390,7 @@
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				HEADER_SEARCH_PATHS = ../vstsdk2.4/;
-				MACOSX_DEPLOYMENT_TARGET = 10.6;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
 				SDKROOT = macosx10.6;
 			};
 			name = Release;
Binary file SoundField.xcodeproj/project.xcworkspace/xcuserdata/momont.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- a/Source/Decoder.cpp	Tue Aug 14 09:34:15 2012 +0100
+++ b/Source/Decoder.cpp	Thu Sep 06 10:01:08 2012 +0100
@@ -408,7 +408,7 @@
 //SoundField Rotations
 void Decoder::rotateField(double &x, double &y)
 {	
-	temp=x;
+	double temp = x;
 	x = cos(degRad(Rotate))*temp - sin(degRad(Rotate))*y;
 	y = cos(degRad(Rotate))*y + sin(degRad(Rotate))*temp;
 	
@@ -417,7 +417,7 @@
 
 void Decoder::tiltField(double &y, double &z)
 {
-	temp=y;
+	double temp = y;
 	y = cos(degRad(Tilt))*temp - sin(degRad(Tilt))*z;
 	z = cos(degRad(Tilt))*z + sin(degRad(Tilt))*temp;	
 };
@@ -425,7 +425,7 @@
 
 void Decoder::tumbleField(double &x, double &z)
 {
-	temp=x;
+	double temp = x;
 	x = cos(degRad(Tumble))*temp - sin(degRad(Tumble))*z;
 	z = cos(degRad(Tumble))*z + sin(degRad(Tumble))*temp;
 };
@@ -437,53 +437,57 @@
 void Decoder::dominanceZoom(double &w, double &x, double &y, double &z)
 {
 	double lambda = pow(10,(Zoom*0.24/20));
-	temp2[0]=w;
-	temp2[1]=x;
-	temp2[2]=y;
-	temp2[3]=z;
+    double temp[4];
+	temp[0]=w;
+	temp[1]=x;
+	temp[2]=y;
+	temp[3]=z;
 	
-	w = 0.5*(lambda+pow(lambda,-1))*temp2[0] + pow(8,-0.5)*(lambda-pow(lambda,-1))*temp2[1];
-	x = 0.5*(lambda+pow(lambda,-1))*temp2[1] + pow(2,-0.5)*(lambda-pow(lambda,-1))*temp2[0];
+	w = 0.5*(lambda+pow(lambda,-1))*temp[0] + pow(8,-0.5)*(lambda-pow(lambda,-1))*temp[1];
+	x = 0.5*(lambda+pow(lambda,-1))*temp[1] + pow(2,-0.5)*(lambda-pow(lambda,-1))*temp[0];
 };
 
 
 void Decoder::pressZoom(double &w, double &x, double &y, double &z)
 {
-	temp2[0]=w;
-	temp2[1]=x;
-	temp2[2]=y;
-	temp2[3]=z;
+    double temp[4];
+	temp[0]=w;
+	temp[1]=x;
+	temp[2]=y;
+	temp[3]=z;
 	
-	x = (sqrt(2.0)*std::abs(sin(degRad(Zoom*0.9)))*sin(degRad(Zoom*0.9))*temp2[0]) + (pow(cos(degRad(Zoom*0.9)),2)*temp2[1]);
-	y = cos(degRad(Zoom*0.9))*temp2[2];
-	z = cos(degRad(Zoom*0.9))*temp2[3];
+	x = (sqrt(2.0)*std::abs(sin(degRad(Zoom*0.9)))*sin(degRad(Zoom*0.9))*temp[0]) + (pow(cos(degRad(Zoom*0.9)),2)*temp[1]);
+	y = cos(degRad(Zoom*0.9))*temp[2];
+	z = cos(degRad(Zoom*0.9))*temp[3];
 };
 
 
 void Decoder::pushZoom(double &w, double &x, double &y, double &z)
 {
-	temp2[0]=w;
-	temp2[1]=x;
-	temp2[2]=y;
-	temp2[3]=z;
+    double temp[4];
+	temp[0]=w;
+	temp[1]=x;
+	temp[2]=y;
+	temp[3]=z;
     
-	x = (sqrt(2.0)*std::abs(sin(degRad(Zoom*0.9)))*sin(degRad(Zoom*0.9))*temp2[0]) + (pow(cos(degRad(Zoom*0.9)),2)*temp2[1]);
-	y = pow(cos(degRad(Zoom*0.9)),2)*temp2[2];
-	z = pow(cos(degRad(Zoom*0.9)),2)*temp2[3];
+	x = (sqrt(2.0)*std::abs(sin(degRad(Zoom*0.9)))*sin(degRad(Zoom*0.9))*temp[0]) + (pow(cos(degRad(Zoom*0.9)),2)*temp[1]);
+	y = pow(cos(degRad(Zoom*0.9)),2)*temp[2];
+	z = pow(cos(degRad(Zoom*0.9)),2)*temp[3];
 };
 
 
 void Decoder::focusZoom(double &w, double &x, double &y, double &z)
 {
-	temp2[0]=w;
-	temp2[1]=x;
-	temp2[2]=y;
-	temp2[3]=z;
+    double temp[4];
+	temp[0]=w;
+	temp[1]=x;
+	temp[2]=y;
+	temp[3]=z;
 	
-	w = ((1/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp2[0]) + ((1/sqrt(2.0))*(sin(degRad(Zoom*0.9))/(1+std::abs(sin(degRad(Zoom*0.9))))))* temp2[1];
-	x = sqrt(2.0)*(sin(degRad(Zoom*0.9))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp2[0] + (1/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp2[1];
-	y = sqrt((1-std::abs(sin(degRad(Zoom*0.9))))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp2[2];
-	z = sqrt((1-std::abs(sin(degRad(Zoom*0.9))))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp2[3];
+	w = ((1/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp[0]) + ((1/sqrt(2.0))*(sin(degRad(Zoom*0.9))/(1+std::abs(sin(degRad(Zoom*0.9))))))* temp[1];
+	x = sqrt(2.0)*(sin(degRad(Zoom*0.9))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp[0] + (1/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp[1];
+	y = sqrt((1-std::abs(sin(degRad(Zoom*0.9))))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp[2];
+	z = sqrt((1-std::abs(sin(degRad(Zoom*0.9))))/(1+std::abs(sin(degRad(Zoom*0.9)))))*temp[3];
 };
 
 
@@ -550,7 +554,7 @@
 
 void Decoder::centreMic(double &w, double &x)
 {
-    outputC = pow((centrePattern*sqrt(2.0)*w + (1-centrePattern)*x), centreOrder) * centreGain;
+    outputC = (centrePattern*sqrt(2.0)*w + (1-centrePattern)*x) * centreGain;
 };
 
 
@@ -583,14 +587,17 @@
 
 void Decoder::filterLF(){
     double outLF;
-    outLF = (double)outputS*bLF[0] + prevIn[0]*bLF[1] + prevIn[1]*bLF[2] + prevOut[0]*a[1] + prevOut[1]*a[2];
     
-    prevOut[1] = prevOut[0];
-    prevOut[0] = outLF;
+    //LF Filtering
+    outLF = (double)outputS*bLF[0] + prevInS[0]*bLF[1] + prevInS[1]*bLF[2] + prevOutS[0]*a[1] + prevOutS[1]*a[2];
     
-    prevIn[1] = prevIn[0];
-    prevIn[0] = (double)outputS;
+    //Previous Input and Output Samples
+    prevOutS[1] = prevOutS[0];
+    prevOutS[0] = outLF;
+    prevInS[1] = prevInS[0];
+    prevInS[0] = (double)outputS;
     
+    //Final subwoofer Output
     outputS = outLF;
 };
 
@@ -634,8 +641,8 @@
 
 void Decoder::clearFilter(){
     for (int i=0; i<2; i++) {
-        prevIn[i] = 0;
-        prevOut[i] = 0;
+        prevInS[i] = 0;
+        prevOutS[i] = 0;
         prevInw[i] = 0;
         prevOutw[i] = 0;
         prevInx[i] = 0;
--- a/Source/Decoder.h	Tue Aug 14 09:34:15 2012 +0100
+++ b/Source/Decoder.h	Thu Sep 06 10:01:08 2012 +0100
@@ -12,63 +12,66 @@
 {	
 	friend class MyEditor;
 public:
+    //Transforms & Zoom
 	double Rotate; //+/-180 degrees
 	double Tilt; //+/-180 degrees
 	double Tumble; //+/-180 degrees
 	double Zoom; //+/-100
 	int    ZoomMethod; //4 positions
+    
+    //Decoder Speaker Layout
+    int    decoderMode; //Decoder mode, set to same as number of outputs
+    
+    //Front Stereo Speaker Decoding & Reverb
 	double Width; //0-90 degrees
 	double Pattern; //0-1 Omni amount
 	int    Mode; //0 or 1 for xy or ms
 	double RearVerb; //0-24dB
 	double HiVerb; //0-24dB
-	
-	double temp; //temp for rotations
-	double temp2[4]; //temp for zooming
-	
 	double outputL; //Left output
 	double outputR; //Right output
 	
+    //Centre Speaker Decoding
     double outputC; //Centre output
+    double centrePattern; //Centre mic pattern
+    double centreGain; //Centre mic gain
+    
+    //Subwoofer Signal
     double outputS; //Subwoofer output
+    double subGain; //Subwoofer gain
     
+    //Surround Speaker Decoding
     double outputSL; //Surround Left output
     double outputSR; //Surround Right output
-    
     int    surMode; //Rear mics mode
     double surPattern; //Rear mics pattern
     double surWidth; //Rear mics width
     double surGain; //Rear mics gain
     
-    double centreOrder; //Centre mic order
-    double centrePattern; //Centre mic pattern
-    double centreGain; //Centre mic gain
-	
-    double subGain; //Subwoofer gain
+
     
-    int    decoderMode; //Decoder mode, set to same as number of outputs
     
-    //Filter Code
-    int Fs;
-    int Fc;
-    double bLF[3];
-    double bHF[3];
-    double a[3];
-    double prevIn[2];
-    double prevOut[2];
-    double prevInw[2];
-    double prevOutw[2];
-    double prevInx[2];
-    double prevOutx[2];
-    double prevIny[2];
-    double prevOuty[2];
-    double prevInz[2];
-    double prevOutz[2];
+    //Filter Code for subwoofer
+    int Fs; //Sample Rate
+    int Fc; //Crossover Frequency
+    double bLF[3]; //b Coefficients for Lower Frequency Band
+    double bHF[3]; //b Coefficients for Higher Frequency Band
+    double a[3]; //a Coefficients
+    double prevInS[2]; //Previous Input LF Samples
+    double prevOutS[2]; //Previous Output LF Samples
+    double prevInw[2]; //Previous Input w Samples
+    double prevOutw[2]; //Previous Output w Samples
+    double prevInx[2]; //Previous Input x Samples
+    double prevOutx[2]; //Previous Output x Samples
+    double prevIny[2]; //Previous Input y Samples
+    double prevOuty[2]; //Previous Output y Samples
+    double prevInz[2]; //Previous Input z Samples
+    double prevOutz[2]; //Previous Output z Samples
     
     void   clearFilter(); //Clears the previous filter values
     
     
-	//Overall Function
+	//Overall Decoding Functions
     void monoDecoder(double &w, double &x, double &y, double &z); //Decode to mono
 	void stereoDecoder(double &w, double &x, double &y, double &z); //Decode to stereo
     void twoOneDecoder(double &w, double &x, double &y, double &z); //Decode to stereo
--- a/Source/GUI.h	Tue Aug 14 09:34:15 2012 +0100
+++ b/Source/GUI.h	Thu Sep 06 10:01:08 2012 +0100
@@ -135,49 +135,6 @@
 
 
 
-class LineStyleTestView : public CControl
-{
-public:
-	LineStyleTestView (const CRect& size) : CControl (size) {}
-    
-	void setupLineStyle (CDrawContext* context)
-	{
-		context->setFrameColor (kBlackCColor);
-		context->setDrawMode (kAntiAliasing);
-		context->setLineWidth (5);
-		const CCoord kDefaultOnOffDashLength[] = {1, 2};
-		switch ((int32_t)value)
-		{
-			case 0: context->setLineStyle (kLineSolid); break;
-			case 1: context->setLineStyle (CLineStyle (CLineStyle::kLineCapButt, CLineStyle::kLineJoinRound)); break;
-			case 2: context->setLineStyle (CLineStyle (CLineStyle::kLineCapButt, CLineStyle::kLineJoinBevel)); break;
-			case 3: context->setLineStyle (kLineOnOffDash); break;
-			case 4: context->setLineStyle (CLineStyle (CLineStyle::kLineCapRound, CLineStyle::kLineJoinMiter, 0, 2, kDefaultOnOffDashLength)); break;
-			case 5: context->setLineStyle (CLineStyle (CLineStyle::kLineCapSquare, CLineStyle::kLineJoinMiter, 0, 2, kDefaultOnOffDashLength)); break;
-		}
-		
-	}
-    
-	void draw (CDrawContext* context)
-	{
-		CGraphicsPath* path = context->createGraphicsPath ();
-		if (path)
-		{
-			CRect r (getViewSize ());
-			r.inset (5, 5);
-			path->beginSubpath (CPoint (r.left + r.getWidth () / 2, r.top));
-			path->addLine (CPoint (r.left, r.bottom));
-			path->addLine (CPoint (r.right, r.bottom));
-			path->closeSubpath ();
-			setupLineStyle (context);
-			context->drawGraphicsPath (path, CDrawContext::kPathStroked);
-			path->forget ();
-		}
-		setDirty (false);
-	}
-    
-	CLASS_METHODS(LineStyleTestView, CControl)
-};
 
 #endif // __MyEditor__
 
--- a/Source/SoundField.cpp	Tue Aug 14 09:34:15 2012 +0100
+++ b/Source/SoundField.cpp	Thu Sep 06 10:01:08 2012 +0100
@@ -123,7 +123,6 @@
     myDecoder.surPattern=0.5;
     myDecoder.surWidth=60.0;
     myDecoder.subGain=0.0;
-    myDecoder.centreOrder=1;
     myDecoder.centrePattern=0.5;
     myDecoder.centreGain=0.0;
     myDecoder.subGain=0.0;