From 1342571e91319a89842d20169367ae8cdcfa0c3f Mon Sep 17 00:00:00 2001 From: j Date: Tue, 19 Dec 2023 13:25:02 +0000 Subject: [PATCH 1/3] fix pi --- cdoseaplay/pi.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cdoseaplay/pi.py b/cdoseaplay/pi.py index 491a633..05de3c3 100644 --- a/cdoseaplay/pi.py +++ b/cdoseaplay/pi.py @@ -1,12 +1,10 @@ from mpmath import mp -mp.dps = 10000 -PI = str(mp.pi).replace('.', '') class random(object): - PI = str(mp.pi).replace('.', '') - def __init__(self, offset=0): self.position = offset + mp.dps = 10000 + offset + self.PI = str(mp.pi).replace('.', '') self.numbers = list(map(int, self.PI[offset:])) def __call__(self): From 4c8dd8252511bdf020d8f436631d65fee1419619 Mon Sep 17 00:00:00 2001 From: j Date: Tue, 19 Dec 2023 13:25:56 +0000 Subject: [PATCH 2/3] turn off after trigger --- cdoseaplay/lights.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cdoseaplay/lights.py b/cdoseaplay/lights.py index d457001..a59dca9 100755 --- a/cdoseaplay/lights.py +++ b/cdoseaplay/lights.py @@ -95,6 +95,7 @@ def fade_to(target, duration): CURRENT_STATE = sender[1].dmx_data[:16] time.sleep(step) steps -= 1 + CURRENT_STATE = sender[1].dmx_data = [0] * 16 time.sleep(1) sender.stop() From f96c7224a7aca557cad86143c691ac7c4058525a Mon Sep 17 00:00:00 2001 From: j Date: Tue, 19 Dec 2023 13:26:25 +0000 Subject: [PATCH 3/3] letter offset --- cdoseaplay/config.py | 2 ++ cdoseaplay/lights.py | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cdoseaplay/config.py b/cdoseaplay/config.py index 391ec84..2758cd0 100644 --- a/cdoseaplay/config.py +++ b/cdoseaplay/config.py @@ -12,6 +12,8 @@ font = 'Menlo' font_size = 28 # 30 for chinese +letter_offset = False + conf = os.path.expanduser('~/.config/cdosea.json') if os.path.exists(conf): with open(conf) as fd: diff --git a/cdoseaplay/lights.py b/cdoseaplay/lights.py index a59dca9..040582a 100755 --- a/cdoseaplay/lights.py +++ b/cdoseaplay/lights.py @@ -1,7 +1,8 @@ #!/usr/bin/python3 +import os +import string import subprocess import sys -import os import time import ox @@ -101,28 +102,29 @@ def fade_to(target, duration): def switch(state): - lights, duration = LIGHTS[state] if config.lanbox: import lanbox lb = lanbox.Lanbox() - #lb.getChannels(lights) - #lb.fadeTo(lights, fade) lb.layerGo(state) else: + lights, duration = LIGHTS[state] brightness = lights['7'] fade_to(brightness, duration) if __name__ == '__main__': path = sys.argv[1] - no_sleep = len(sys.argv) > 2 + no_sleep = len(sys.argv) > 2 and sys.argv[2] == "no-sleep" - n = int(os.path.getctime(path) - 1495280000) + n = int(os.path.getctime(path) - 1495280000) % 1000 info = ox.avinfo(path) duration = info.get('duration', 0) - seq = random(n * 1000) + seq = random(n * 100) pos = 0 lights = [] + letter_offset = 0 + if config.letter_offset: + letter_offset = 11 + string.ascii_lowercase.index(letter) * 10 while pos < duration - 15: sleep = seq() + 15 light = seq() @@ -130,5 +132,6 @@ if __name__ == '__main__': break if not no_sleep: time.sleep(sleep) - switch(light) + print("letter", letter, "offset", letter_offset, "light", light, "cue", letter_offset + light) + switch(light + letter_offset) pos += sleep