From c4c6446d164de4a64c5046917fce108bfc07cc82 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Sat, 8 Aug 2020 17:27:17 +0200 Subject: [PATCH] sw: Implement rotary encoder for volume --- software/webradio.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/software/webradio.py b/software/webradio.py index 2febba1..3ca6e3e 100644 --- a/software/webradio.py +++ b/software/webradio.py @@ -150,10 +150,17 @@ class radioserv: elif (key_id == 7): # PRESET pass # Handle rotary input - rotary_delta = int(rdata[1])# - 128 - if (rotary_delta > 0): - print("Rotary: {}".format(rdata[2])) - # self.mpd.volume(rotary_delta) + rotary_delta = int(rdata[1]) + if (rotary_delta > 127): + rotary_delta -= 256 + if (rotary_delta != 0): + print("Rotary: {}".format(rotary_delta)) + nvol = int(self.mpd.status()['volume']) + (rotary_delta * 4) + if (nvol < 0): + nvol = 0; + elif (nvol > 100): + nvol = 100 + self.mpd.setvol(nvol) #print("Battery: {}".format(rdata[2])) async def io_main(self):