@@ -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+
15491558void 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+
18341852void 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);
0 commit comments