Skip to content

Commit cd4714d

Browse files
committed
Add setEnabled call to a few more Quantum meter classes
Signed-off-by: falkTX <falktx@falktx.com>
1 parent 1bdf5fa commit cd4714d

File tree

2 files changed

+41
-9
lines changed

2 files changed

+41
-9
lines changed

opengl/Quantum.cpp

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1546,6 +1546,15 @@ QuantumStereoLevelMeter::~QuantumStereoLevelMeter()
15461546
std::free(topLabel);
15471547
}
15481548

1549+
void QuantumStereoLevelMeter::setEnabled(const bool enabled2)
1550+
{
1551+
if (enabled == enabled2)
1552+
return;
1553+
1554+
enabled = enabled2;
1555+
repaint();
1556+
}
1557+
15491558
void QuantumStereoLevelMeter::setRange(const float min, const float max)
15501559
{
15511560
minimum = min;
@@ -1664,7 +1673,7 @@ void QuantumStereoLevelMeter::onNanoDisplay()
16641673
rect(pxl,
16651674
theme.borderSize + verticalReservedHeight + meterChannelHeight * (1.f - value),
16661675
meterChannelWidth, meterChannelHeight * value);
1667-
fillColor(theme.levelMeterColor);
1676+
fillColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
16681677
fill();
16691678

16701679
std::snprintf(valuestr, sizeof(valuestr)-1, "%.0f", valueL);
@@ -1691,7 +1700,7 @@ void QuantumStereoLevelMeter::onNanoDisplay()
16911700
beginPath();
16921701
moveTo(pxl, y);
16931702
lineTo(pxl + meterChannelWidth, y);
1694-
strokeColor(theme.levelMeterColor);
1703+
strokeColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
16951704
strokeWidth(theme.borderSize);
16961705
stroke();
16971706
}
@@ -1705,7 +1714,7 @@ void QuantumStereoLevelMeter::onNanoDisplay()
17051714
rect(pxr,
17061715
theme.borderSize + verticalReservedHeight + meterChannelHeight * (1.f - value),
17071716
meterChannelWidth, meterChannelHeight * value);
1708-
fillColor(theme.levelMeterColor);
1717+
fillColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
17091718
fill();
17101719

17111720
std::snprintf(valuestr, sizeof(valuestr)-1, "%.0f", valueR);
@@ -1732,7 +1741,7 @@ void QuantumStereoLevelMeter::onNanoDisplay()
17321741
beginPath();
17331742
moveTo(pxr, y);
17341743
lineTo(pxr + meterChannelWidth, y);
1735-
strokeColor(theme.levelMeterColor);
1744+
strokeColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
17361745
strokeWidth(theme.borderSize);
17371746
stroke();
17381747
}
@@ -1831,6 +1840,15 @@ QuantumStereoLevelMeterWithLUFS::~QuantumStereoLevelMeterWithLUFS()
18311840
std::free(topLabel);
18321841
}
18331842

1843+
void QuantumStereoLevelMeterWithLUFS::setEnabled(const bool enabled2)
1844+
{
1845+
if (enabled == enabled2)
1846+
return;
1847+
1848+
enabled = enabled2;
1849+
repaint();
1850+
}
1851+
18341852
void QuantumStereoLevelMeterWithLUFS::setRange(const float min, const float max)
18351853
{
18361854
minimum = min;
@@ -1981,7 +1999,7 @@ void QuantumStereoLevelMeterWithLUFS::onNanoDisplay()
19811999
rect(pxl,
19822000
theme.borderSize + verticalReservedHeight + meterChannelHeight * (1.f - value),
19832001
meterChannelWidth, meterChannelHeight * value);
1984-
fillColor(theme.levelMeterColor);
2002+
fillColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
19852003
fill();
19862004

19872005
std::snprintf(valuestr, sizeof(valuestr)-1, "%.0f", valueL);
@@ -2008,7 +2026,7 @@ void QuantumStereoLevelMeterWithLUFS::onNanoDisplay()
20082026
beginPath();
20092027
moveTo(pxl, y);
20102028
lineTo(pxl + meterChannelWidth, y);
2011-
strokeColor(theme.levelMeterColor);
2029+
strokeColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
20122030
strokeWidth(theme.borderSize);
20132031
stroke();
20142032
}
@@ -2022,7 +2040,7 @@ void QuantumStereoLevelMeterWithLUFS::onNanoDisplay()
20222040
rect(pxr,
20232041
theme.borderSize + verticalReservedHeight + meterChannelHeight * (1.f - value),
20242042
meterChannelWidth, meterChannelHeight * value);
2025-
fillColor(theme.levelMeterColor);
2043+
fillColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
20262044
fill();
20272045

20282046
std::snprintf(valuestr, sizeof(valuestr)-1, "%.0f", valueR);
@@ -2049,7 +2067,7 @@ void QuantumStereoLevelMeterWithLUFS::onNanoDisplay()
20492067
beginPath();
20502068
moveTo(pxr, y);
20512069
lineTo(pxr + meterChannelWidth, y);
2052-
strokeColor(theme.levelMeterColor);
2070+
strokeColor(enabled ? theme.levelMeterColor : theme.textDarkColor.withAlpha(0.5f));
20532071
strokeWidth(theme.borderSize);
20542072
stroke();
20552073
}
@@ -2064,7 +2082,7 @@ void QuantumStereoLevelMeterWithLUFS::onNanoDisplay()
20642082
theme.borderSize + verticalReservedHeight + meterChannelHeight * (1.f - value),
20652083
meterChannelWidth * 2 + theme.borderSize * 2,
20662084
meterChannelHeight * value);
2067-
fillColor(theme.levelMeterAlternativeColor);
2085+
fillColor(enabled ? theme.levelMeterAlternativeColor : theme.textDarkColor.withAlpha(0.5f));
20682086
fill();
20692087

20702088
std::snprintf(valuestr, sizeof(valuestr)-1, "LUFS: %.1f", valueLufs);

opengl/Quantum.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,7 @@ class QuantumStereoLevelMeter : public NanoSubWidget,
596596
{
597597
Application& app;
598598
const QuantumTheme& theme;
599+
bool enabled = true;
599600
float valueL = 0.f;
600601
float valueR = 0.f;
601602
float minimum = 0.f;
@@ -613,11 +614,17 @@ class QuantumStereoLevelMeter : public NanoSubWidget,
613614
explicit QuantumStereoLevelMeter(NanoSubWidget* parent, const QuantumTheme& theme);
614615
~QuantumStereoLevelMeter() override;
615616

617+
inline bool isEnabled() const noexcept
618+
{
619+
return enabled;
620+
}
621+
616622
inline const char* getTopLabel() const noexcept
617623
{
618624
return topLabel;
619625
}
620626

627+
void setEnabled(bool enabled);
621628
void setRange(float min, float max);
622629
void setTopLabel(const char* label);
623630
void setValueL(float value);
@@ -638,6 +645,7 @@ class QuantumStereoLevelMeterWithLUFS : public NanoSubWidget,
638645
{
639646
Application& app;
640647
const QuantumTheme& theme;
648+
bool enabled = true;
641649
float valueL = 0.f;
642650
float valueR = 0.f;
643651
float valueLimiter = 0.f;
@@ -657,11 +665,17 @@ class QuantumStereoLevelMeterWithLUFS : public NanoSubWidget,
657665
explicit QuantumStereoLevelMeterWithLUFS(NanoSubWidget* parent, const QuantumTheme& theme);
658666
~QuantumStereoLevelMeterWithLUFS() override;
659667

668+
inline bool isEnabled() const noexcept
669+
{
670+
return enabled;
671+
}
672+
660673
inline const char* getTopLabel() const noexcept
661674
{
662675
return topLabel;
663676
}
664677

678+
void setEnabled(bool enabled);
665679
void setRange(float min, float max);
666680
void setTopLabel(const char* label);
667681
void setValueL(float value);

0 commit comments

Comments
 (0)