File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -56,8 +56,13 @@ class AudioBoard {
56
56
if (line == power_amp_line) setPAPower (!enable);
57
57
return driver->setMute (enable, line);
58
58
}
59
- bool setVolume (int volume) { return driver->setVolume (volume); }
60
- int getVolume () { return driver->getVolume (); }
59
+ bool setVolume (int volume) {
60
+ // when we get the volume we make sure that we report the same value
61
+ // w/o rounding issues
62
+ this ->volume = volume;
63
+ return driver->setVolume (volume);
64
+ }
65
+ int getVolume () { return volume >= 0 ? volume : driver->getVolume (); }
61
66
DriverPins& getPins () { return *pins; }
62
67
bool setPAPower (bool enable) { return driver->setPAPower (enable); }
63
68
// / set volume for adc: this is only supported on some defined codecs
@@ -72,6 +77,7 @@ class AudioBoard {
72
77
CodecConfig codec_cfg;
73
78
AudioDriver* driver = nullptr ;
74
79
int power_amp_line = ES8388_PA_LINE;
80
+ int volume = -1 ;
75
81
};
76
82
77
83
// -- Boards
You can’t perform that action at this time.
0 commit comments