changeset 233:628531da16ef

pass equalizer filter curve in float
author lbajardsilogic
date Thu, 06 Mar 2008 16:37:44 +0000
parents 70b88fbbfb5c
children cff926c60430
files base/PropertyContainer.h sv/filter/DSP.cpp sv/filter/DSP.h sv/filter/EqualizerFilter.cpp sv/filter/EqualizerFilter.h widgets/Plotter.cpp widgets/Plotter.h widgets/PropertyBox.cpp widgets/PropertyBox.h
diffstat 9 files changed, 22 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/base/PropertyContainer.h	Thu Mar 06 14:56:40 2008 +0000
+++ b/base/PropertyContainer.h	Thu Mar 06 16:37:44 2008 +0000
@@ -107,7 +107,7 @@
 
 	virtual void emitPropertiesChanged() { emit propertiesChanged(this); }
 
-	virtual void setProperty(const PropertyName &, QVector<int> value){return;}
+	virtual void setProperty(const PropertyName &, QVector<float> value){return;}
 
 signals:
     void propertyChanged(PropertyContainer::PropertyName);
--- a/sv/filter/DSP.cpp	Thu Mar 06 14:56:40 2008 +0000
+++ b/sv/filter/DSP.cpp	Thu Mar 06 16:37:44 2008 +0000
@@ -472,7 +472,7 @@
 }
 
 
-void log10plot2(QVector<int>& L_mags, float* plotFFTarray, int framesize, int plotsize)
+void log10plot2(QVector<float>& L_mags, float* plotFFTarray, int framesize, int plotsize)
 {
 	float interpfactor1 = 10/100;	//1 - 100hz		bin 1 - 10
 	float interpfactor2 = 90/100;	//100 - 1000hz		bin 10 - 100
@@ -524,7 +524,7 @@
 	}
 }
 
-void applyEQ(float* L_mags, float* R_mags, int framesize, int plotsize, QVector<int>& eqcurve)
+void applyEQ(float* L_mags, float* R_mags, int framesize, int plotsize, QVector<float>& eqcurve)
 {
 	//(80,85,400,120,0) Screen Coordinates
 	float gain, interpfactor, p,result;
@@ -615,7 +615,7 @@
 }
 
 
-void bandeq(float* L_mags, float* R_mags, QVector<int>& eqcurve, int framesize)
+void bandeq(float* L_mags, float* R_mags, QVector<float>& eqcurve, int framesize)
 {
 	
 	for (int i=0;i<framesize/2;i++)
--- a/sv/filter/DSP.h	Thu Mar 06 14:56:40 2008 +0000
+++ b/sv/filter/DSP.h	Thu Mar 06 16:37:44 2008 +0000
@@ -47,12 +47,12 @@
 
 void log10plot(float* L_mags, float* plotFFTarray, int framesize, int plotsize);
 
-void log10plot2(QVector<int>& L_mags, float* plotFFTarray, int framesize, int plotsize);
+void log10plot2(QVector<float>& L_mags, float* plotFFTarray, int framesize, int plotsize);
 
-void applyEQ(float* L_mags, float* R_mags, int framesize, int plotsize, QVector<int>& eqcurve);
+void applyEQ(float* L_mags, float* R_mags, int framesize, int plotsize, QVector<float>& eqcurve);
 
 void stereo2ms(float* left, float* right, int framesize);
 
 void ms2stereo(float* left, float* right, int framesize);
 
-void bandeq(float* L_mags, float* R_mags, QVector<int>& eqcurve, int framesize);
+void bandeq(float* L_mags, float* R_mags, QVector<float>& eqcurve, int framesize);
--- a/sv/filter/EqualizerFilter.cpp	Thu Mar 06 14:56:40 2008 +0000
+++ b/sv/filter/EqualizerFilter.cpp	Thu Mar 06 16:37:44 2008 +0000
@@ -177,7 +177,7 @@
 
 }
 
-void EqualizerFilter::setProperty(const PropertyName &name , QVector<int> value)
+void EqualizerFilter::setProperty(const PropertyName &name , QVector<float> value)
 {
 	if (name == "Equalizer"){
 		m_eqcurve.clear();
@@ -365,7 +365,7 @@
 		}
 
 		instgain=(g1*band[0][i])+(g2*band[1][i])+(g3*band[2][i])+(g4*band[3][i])+(g5*band[4][i]);
-		m_eqcurve.push_back(((int) instgain));
+		m_eqcurve.push_back(instgain);
 	}	
 	
 	m_mutex->unlock();
--- a/sv/filter/EqualizerFilter.h	Thu Mar 06 14:56:40 2008 +0000
+++ b/sv/filter/EqualizerFilter.h	Thu Mar 06 16:37:44 2008 +0000
@@ -46,7 +46,7 @@
 					  int value) const;
 
 	virtual void setProperty(const PropertyName &, int value);
-	virtual void setProperty(const PropertyName &, QVector<int> value);
+	virtual void setProperty(const PropertyName &, QVector<float> value);
 
 	inline bool isEnabled() {return m_enabled;}
 
@@ -54,7 +54,7 @@
 	inline bool simpleMode() {return m_simpleMode;}
 	inline int* gainband() {return m_gainband;}
 
-	inline QVector<int>& curve() {return m_eqcurve;}
+	inline QVector<float>& curve() {return m_eqcurve;}
 	
 	void emitPlotFFTArray(float *signal, int framesize);
 
@@ -71,7 +71,7 @@
 	
 protected:
 	
-	QVector<int> m_eqcurve;
+	QVector<float> m_eqcurve;
 	float* m_curve;
 	float* m_plotbandcurve;
 	
--- a/widgets/Plotter.cpp	Thu Mar 06 14:56:40 2008 +0000
+++ b/widgets/Plotter.cpp	Thu Mar 06 16:37:44 2008 +0000
@@ -17,7 +17,7 @@
 
 Plotter::Plotter(QWidget *parent):
 m_signalWidth(400),
-m_signalHeight(180),
+m_signalHeight(120),
 m_margin(5),
 m_curveMaskActive(false)
 {
@@ -42,7 +42,8 @@
 	m_curve.clear();
 	for (int i=0; i< m_signalWidth; i++)
 	{
-		m_curve.push_back(QPoint(i, curve[i]));
+		int m = m_signalHeight*2/3 +(int) floor(curve[i]/0.1);
+		m_curve.push_back(QPoint(i, m));
 	}
 	refreshPixmap();
 }
@@ -155,7 +156,7 @@
 	QPolygonF polyline(m_signalWidth);
 
 	for(int i = 0 ; i < m_curve.count() ; i++){
-		int m=-(1*floor((m_curve.at(i).y()/0.1)));	// Calculates pixel coordinate and Plots FFT (in green)
+		int m = m_curve.at(i).y();	// Calculates pixel coordinate and Plots FFT (in green)
 		if (m>m_signalHeight){m = m_signalHeight;}
 		if (m<0){m = 0;}
 		int y= m_signalHeight - m;
@@ -200,7 +201,7 @@
 	m_curveMask.clear();
 	for (int i=0; i<m_signalWidth; i++)
 	{
-		m_curveMask.push_back((int) (m_signalHeight - filter[i]*89.0));
+		m_curveMask.push_back((int) (m_signalHeight - filter[i]*(m_signalHeight/2-1)));
 	}
 	refreshPixmap();
 }
\ No newline at end of file
--- a/widgets/Plotter.h	Thu Mar 06 14:56:40 2008 +0000
+++ b/widgets/Plotter.h	Thu Mar 06 16:37:44 2008 +0000
@@ -34,7 +34,7 @@
 	void setMargin(int margin);
 
 signals:
-	void filterChanged(QVector<int>&);
+	void filterChanged(QVector<float>&);
 
 public slots:
 	void setCurve(float *);
@@ -54,7 +54,7 @@
     void drawCurve(QPainter *painter);
 	void drawMaskCurve(QPainter *painter);
 	QVector<QPoint> m_curve;
-	QVector<int> m_curveMask;
+	QVector<float> m_curveMask;
     QPixmap m_pixmap;
 	int m_signalHeight;
 	int m_signalWidth;
--- a/widgets/PropertyBox.cpp	Thu Mar 06 14:56:40 2008 +0000
+++ b/widgets/PropertyBox.cpp	Thu Mar 06 16:37:44 2008 +0000
@@ -571,7 +571,7 @@
         }*/
 
         if (!have) {
-			connect(cb, SIGNAL(filterChanged(QVector<int>&)), this, SLOT(propertyControllerChanged(QVector<int>&)));
+			connect(cb, SIGNAL(filterChanged(QVector<float>&)), this, SLOT(propertyControllerChanged(QVector<float>&)));
             connect(m_container, SIGNAL(signalChanged(float*)), cb, SLOT(setCurve(float*)));
 			connect(m_container, SIGNAL(filterChanged(float*)), cb, SLOT(setFilter(float*)));
 			connect(cb, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget()));
@@ -691,7 +691,7 @@
 }
 
 void
-PropertyBox::propertyControllerChanged(QVector<int> &value)
+PropertyBox::propertyControllerChanged(QVector<float> &value)
 {
     QObject *obj = sender();
     QString name = obj->objectName();
--- a/widgets/PropertyBox.h	Thu Mar 06 14:56:40 2008 +0000
+++ b/widgets/PropertyBox.h	Thu Mar 06 16:37:44 2008 +0000
@@ -57,7 +57,7 @@
 
 protected slots:
     void propertyControllerChanged(int);
-	void propertyControllerChanged(QVector<int>&);
+	void propertyControllerChanged(QVector<float>&);
 	
     void playGainChanged(float);
     void playGainDialChanged(int);