added idle light event (green) triggered on hello and menu

This commit is contained in:
Elektrospy 2019-01-18 18:46:30 +01:00
parent 39b848e433
commit 29b9350b7a

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3
import websocket
try:
import thread
except ImportError:
@ -74,7 +75,7 @@ class Layer:
def run_next_fade_color(self):
if not self.animation_finished and self.animation_current_brightness > 0:
# fade rgb values
self.animation_current_brightness -= 25
self.animation_current_brightness -= 30
# set current layer color brightness to animation brightness
for i in range(0, 2):
@ -105,7 +106,6 @@ class Layer:
# reset current brightness of color for new animation
self.animation_current_brightness = self.max_brightness
self.animation_finished = False
output_rgb_array[2] = self.max_brightness
elif event_value == 5 or event_value == 6:
# static red light
output_rgb_array[0] = self.max_brightness
@ -116,7 +116,10 @@ class Layer:
# reset current brightness of color for new animation
self.animation_current_brightness = self.max_brightness
self.animation_finished = False
output_rgb_array[0] = self.max_brightness
elif event_value == 8:
# idle color
output_rgb_array[1] = self.max_brightness
self.animation_finished = True
return output_rgb_array
@ -169,6 +172,8 @@ def parse_json(input_json):
event_bomb_cut()
elif current_event == "beatmapEvent":
event_beat_map(json_content["beatmapEvent"])
elif current_event == "hello" or current_event == "menu":
event_idle()
# else:
# print("other event: " + current_event)
@ -226,7 +231,17 @@ def event_beat_map_parse(beatmap_event_object):
elif event_type == 3:
trigger_light_right(event_value)
elif event_type == 4:
trigger_light_center(event_value)
trigger_light_middle(event_value)
def event_idle():
# disable small, center, big lights
trigger_light_small(0)
trigger_light_middle(0)
trigger_light_big(0)
# set both laser to green (custom value 8)
trigger_light_left(8)
trigger_light_right(8)
def trigger_light_small(value):
@ -234,16 +249,16 @@ def trigger_light_small(value):
layer_small.trigger_event(value)
def trigger_light_middle(value):
# print("light middle " + str(value))
layer_middle.trigger_event(value)
def trigger_light_big(value):
# print("light big " + str(value))
layer_big.trigger_event(value)
def trigger_light_center(value):
# print("light middle " + str(value))
layer_middle.trigger_event(value)
def trigger_light_left(value):
# print("light left " + str(value))
layer_left.trigger_event(value)
@ -270,7 +285,8 @@ def on_close(ws):
def on_open(ws):
# print("websocket connected")
thread.start_new_thread(run, ())
# thread.start_new_thread(run, ())
pass
# ------------------------------------