fixed piping bug(visualizer), ambient_mode is now more vibrant, higher update frequency with led

This commit is contained in:
Lucca Ketterer 2020-07-29 20:05:29 +02:00
parent 273fd18def
commit f077dc7a32

View File

@ -41,6 +41,13 @@ def visualizer():
_r,_g,_b = 0,0,0 _r,_g,_b = 0,0,0
def vibrant(r,g,b):
rgb = [r,g,b]
min_idx = rgb.index(min(rgb))
d = (r+g+b - rgb[min_idx])/2
rgb[min_idx] = int(rgb[min_idx]*(rgb[min_idx]/d)**2)
return rgb
def ambient_light_thread(): def ambient_light_thread():
r,g,b = 0,0,0 r,g,b = 0,0,0
brighness = 1 brighness = 1
@ -63,7 +70,7 @@ def ambient_light_thread():
print(r,g,b) print(r,g,b)
send(rgb_to_hex(int(r*brighness),int(g*brighness),int(b*brighness))) send(rgb_to_hex(int(r*brighness),int(g*brighness),int(b*brighness)))
time.sleep(0.01) time.sleep(0.001)
def ambient_light(): def ambient_light():
@ -91,15 +98,22 @@ def ambient_light():
''' '''
img.thumbnail((1,1)) img.thumbnail((1,1))
_r,_g,_b = img.getpixel((0, 0)) r,g,b = img.getpixel((0, 0))
_r,_g,_b = vibrant(r,g,b)
def rgb_to_hex(r,g,b): def rgb_to_hex(r,g,b):
return "%02x%02x%02x" % (r,g,b) return "%02x%02x%02x" % (r,g,b)
def main(argv): def test():
for i in range(256):
h = rgb_to_hex(0,i,0)
send(h)
print(h)
time.sleep(0.0)
def main(argv):
if not sys.stdin.isatty(): if not sys.stdin.isatty():
connect(server_IP) connect()
for volume in sys.stdin: for volume in sys.stdin:
volume = int(volume) volume = int(volume)
hex_color = rgb_to_hex(volume,0,0) hex_color = rgb_to_hex(volume,0,0)
@ -107,7 +121,7 @@ def main(argv):
sys.exit() sys.exit()
try: try:
opts, args = getopt.getopt(argv, "s:v:ah") opts, args = getopt.getopt(argv, "s:vaht")
except getopt.GetoptError: except getopt.GetoptError:
print(sys.argv[0], "invalid option") print(sys.argv[0], "invalid option")
print("Try", sys.argv[0], "-h for help") print("Try", sys.argv[0], "-h for help")
@ -130,6 +144,11 @@ def main(argv):
elif opt == "-v": elif opt == "-v":
visualizer() visualizer()
sys.exit() sys.exit()
elif opt == "-t":
connect()
test()
disconnect()
sys.exit()
helpmenu() helpmenu()
sys.exit() sys.exit()