From a12d2e4a7000f4fb09309a4f2ca06d3efab03eeb Mon Sep 17 00:00:00 2001 From: Lucca Ketterer Date: Sat, 1 Aug 2020 23:06:27 +0200 Subject: [PATCH] add rgb mode to visualizer --- client/client.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/client/client.py b/client/client.py index 1acda3d..fd67380 100755 --- a/client/client.py +++ b/client/client.py @@ -36,10 +36,18 @@ def helpmenu(): print("-s set static color") print("-v visualizer") -def visualizer(): +def visualizer(color): cava = subprocess.Popen(["cava", "-p", "./cava.conf"], stdout=subprocess.PIPE) sed = subprocess.Popen(["sed", "-u", "s/;.*;$//"], stdin=cava.stdout, stdout=subprocess.PIPE) - subprocess.Popen([sys.argv[0]], stdin=sed.stdout, shell=False) + #subprocess.Popen([sys.argv[0]], stdin=sed.stdout, shell=False) + for line in sed.stdout: + line = int(line) + r,g,b = hex_to_rgb(color) + r = int(r*(line/1000)) + g = int(g*(line/1000)) + b = int(b*(line/1000)) + hex_color = rgb_to_hex(r,g,b) + send(hex_color) cava.stdout.close() sed.stdout.close() @@ -140,6 +148,11 @@ def ambient_light(): def rgb_to_hex(r,g,b): return "%02x%02x%02x" % (r,g,b) +def hex_to_rgb(hex): + r = int(hex[0:2],16) + g = int(hex[2:4],16) + b = int(hex[4:6],16) + return r,g,b def test(): for i in range(256): h = rgb_to_hex(0,i,0) @@ -157,7 +170,7 @@ def main(argv): sys.exit() try: - opts, args = getopt.getopt(argv, "s:vaht") + opts, args = getopt.getopt(argv, "s:v:aht") except getopt.GetoptError: print(sys.argv[0], "invalid option") print("Try", sys.argv[0], "-h for help") @@ -178,7 +191,9 @@ def main(argv): disconnect() sys.exit() elif opt == "-v": - visualizer() + connect() + visualizer(arg) + disconnect() sys.exit() elif opt == "-t": connect()