mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
Allow several classes of Level Meters sharing the same base algorithms. Initiate with the VU meter
This commit is contained in:
parent
95f9a03a7b
commit
373a99e575
@ -357,7 +357,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="LevelMeter" name="volumeMeter" native="true">
|
<widget class="LevelMeterVU" name="volumeMeter" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -662,7 +662,7 @@
|
|||||||
<header>gui/buttonswitch.h</header>
|
<header>gui/buttonswitch.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>LevelMeter</class>
|
<class>LevelMeterVU</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>gui/levelmeter.h</header>
|
<header>gui/levelmeter.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
|
@ -381,7 +381,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="LevelMeter" name="volumeMeter" native="true">
|
<widget class="LevelMeterVU" name="volumeMeter" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -686,7 +686,7 @@
|
|||||||
<header>gui/buttonswitch.h</header>
|
<header>gui/buttonswitch.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>LevelMeter</class>
|
<class>LevelMeterVU</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>gui/levelmeter.h</header>
|
<header>gui/levelmeter.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
|
@ -132,7 +132,16 @@ void LevelMeter::paintEvent(QPaintEvent *event)
|
|||||||
render(&painter);
|
render(&painter);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LevelMeter::render(QPainter *painter)
|
LevelMeterVU::LevelMeterVU(QWidget *parent) :
|
||||||
|
LevelMeter(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
LevelMeterVU::~LevelMeterVU()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void LevelMeterVU::render(QPainter *painter)
|
||||||
{
|
{
|
||||||
painter->fillRect(rect(), QColor(42, 42, 42, 255));
|
painter->fillRect(rect(), QColor(42, 42, 42, 255));
|
||||||
|
|
||||||
|
@ -60,8 +60,8 @@ class LevelMeter : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit LevelMeter(QWidget *parent = 0);
|
LevelMeter(QWidget *parent = 0);
|
||||||
~LevelMeter();
|
virtual ~LevelMeter();
|
||||||
|
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
|
|
||||||
@ -69,10 +69,10 @@ public slots:
|
|||||||
void reset();
|
void reset();
|
||||||
void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples);
|
void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples);
|
||||||
|
|
||||||
private slots:
|
protected slots:
|
||||||
void redrawTimerExpired();
|
void redrawTimerExpired();
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
/**
|
/**
|
||||||
* Height of RMS level bar.
|
* Height of RMS level bar.
|
||||||
* Range 0.0 - 1.0.
|
* Range 0.0 - 1.0.
|
||||||
@ -120,7 +120,17 @@ private:
|
|||||||
QColor m_peakColor;
|
QColor m_peakColor;
|
||||||
QColor m_decayedPeakColor;
|
QColor m_decayedPeakColor;
|
||||||
|
|
||||||
void render(QPainter *painter);
|
virtual void render(QPainter *painter) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class LevelMeterVU : public LevelMeter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LevelMeterVU(QWidget *parent = 0);
|
||||||
|
virtual ~LevelMeterVU();
|
||||||
|
protected:
|
||||||
|
virtual void render(QPainter *painter);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif /* SDRBASE_GUI_LEVELMETER_H_ */
|
#endif /* SDRBASE_GUI_LEVELMETER_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user