Mercurial > hg > easaier-soundaccess
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);