Files
@ 5cf326ef965a
Branch filter:
Location: light9/light9/subclient.py - annotation
5cf326ef965a
993 B
text/x-python
cleanup asco to use song uris consistently. showPaths are now file: uris
Ignore-this: 8ca9cfa22e340760c02a980009499ca3
Ignore-this: 8ca9cfa22e340760c02a980009499ca3
a92b6d1ac072 473aa5b0610a a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 1546c423b467 1546c423b467 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 473aa5b0610a 473aa5b0610a 473aa5b0610a a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 a92b6d1ac072 473aa5b0610a 473aa5b0610a | from light9 import dmxclient
from light9.Submaster import Submaster
# later, this stuff will talk to a SubServer
class SubClient:
def __init__(self):
pass # we may later need init code for network setup
def get_levels_as_sub(self):
"""Subclasses must implement this method and return a Submaster
object."""
def get_dmx_list(self):
maxes = self.get_levels_as_sub()
return maxes.get_dmx_list()
def send_sub(self, sub):
levels = sub.get_dmx_list()
dmxclient.outputlevels(levels)
def send_levels(self):
levels = self.get_dmx_list()
dmxclient.outputlevels(levels)
def send_levels_loop(self, delay=1000):
"""This function assumes that we are an instance of a Tk object
(or at least that we have an 'after' method)"""
self.send_levels()
self.after(delay, self.send_levels_loop, delay)
def send_zeroes(self):
self.send_sub(Submaster('empty', {}, temporary=1))
|