Compare commits

..

3 commits

Author SHA1 Message Date
j
f96c7224a7 letter offset 2023-12-19 13:26:25 +00:00
j
4c8dd82525 turn off after trigger 2023-12-19 13:25:56 +00:00
j
1342571e91 fix pi 2023-12-19 13:25:02 +00:00
3 changed files with 16 additions and 12 deletions

View file

@ -12,6 +12,8 @@ font = 'Menlo'
font_size = 28 font_size = 28
# 30 for chinese # 30 for chinese
letter_offset = False
conf = os.path.expanduser('~/.config/cdosea.json') conf = os.path.expanduser('~/.config/cdosea.json')
if os.path.exists(conf): if os.path.exists(conf):
with open(conf) as fd: with open(conf) as fd:

View file

@ -1,7 +1,8 @@
#!/usr/bin/python3 #!/usr/bin/python3
import os
import string
import subprocess import subprocess
import sys import sys
import os
import time import time
import ox import ox
@ -95,33 +96,35 @@ def fade_to(target, duration):
CURRENT_STATE = sender[1].dmx_data[:16] CURRENT_STATE = sender[1].dmx_data[:16]
time.sleep(step) time.sleep(step)
steps -= 1 steps -= 1
CURRENT_STATE = sender[1].dmx_data = [0] * 16
time.sleep(1) time.sleep(1)
sender.stop() sender.stop()
def switch(state): def switch(state):
lights, duration = LIGHTS[state]
if config.lanbox: if config.lanbox:
import lanbox import lanbox
lb = lanbox.Lanbox() lb = lanbox.Lanbox()
#lb.getChannels(lights)
#lb.fadeTo(lights, fade)
lb.layerGo(state) lb.layerGo(state)
else: else:
lights, duration = LIGHTS[state]
brightness = lights['7'] brightness = lights['7']
fade_to(brightness, duration) fade_to(brightness, duration)
if __name__ == '__main__': if __name__ == '__main__':
path = sys.argv[1] 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) info = ox.avinfo(path)
duration = info.get('duration', 0) duration = info.get('duration', 0)
seq = random(n * 1000) seq = random(n * 100)
pos = 0 pos = 0
lights = [] lights = []
letter_offset = 0
if config.letter_offset:
letter_offset = 11 + string.ascii_lowercase.index(letter) * 10
while pos < duration - 15: while pos < duration - 15:
sleep = seq() + 15 sleep = seq() + 15
light = seq() light = seq()
@ -129,5 +132,6 @@ if __name__ == '__main__':
break break
if not no_sleep: if not no_sleep:
time.sleep(sleep) time.sleep(sleep)
switch(light) print("letter", letter, "offset", letter_offset, "light", light, "cue", letter_offset + light)
switch(light + letter_offset)
pos += sleep pos += sleep

View file

@ -1,12 +1,10 @@
from mpmath import mp from mpmath import mp
mp.dps = 10000
PI = str(mp.pi).replace('.', '')
class random(object): class random(object):
PI = str(mp.pi).replace('.', '')
def __init__(self, offset=0): def __init__(self, offset=0):
self.position = offset self.position = offset
mp.dps = 10000 + offset
self.PI = str(mp.pi).replace('.', '')
self.numbers = list(map(int, self.PI[offset:])) self.numbers = list(map(int, self.PI[offset:]))
def __call__(self): def __call__(self):