add rgb mode to visualizer

This commit is contained in:
Lucca Ketterer 2020-08-01 23:06:27 +02:00
parent 434b8fc84e
commit a12d2e4a70

View File

@ -36,10 +36,18 @@ def helpmenu():
print("-s <hex-color> 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()