From 1884a5197fbdf98bdaebafe2b25e3a7181967e30 Mon Sep 17 00:00:00 2001 From: Ben Connors Date: Fri, 8 Nov 2019 17:08:02 -0500 Subject: Move to OLA rendering; bugfix - Chaser.advance not using proper audio ID - Add OLA renderer as main one --- interface/ola.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 interface/ola.py (limited to 'interface/ola.py') diff --git a/interface/ola.py b/interface/ola.py new file mode 100644 index 0000000..445b991 --- /dev/null +++ b/interface/ola.py @@ -0,0 +1,22 @@ +import array + +from ola.OlaClient import OlaClient + +class OLAOutput: + def set_values(self, values): + send = set() + for c, v in values.items(): + univ, addr = c.address + if univ not in self.universes: + self.universes[univ] = array.array('B', (0 for i in range(512))) + uni = self.universes[univ] + if uni[addr] != v: + uni[addr] = v + send.add(univ) + for univ in send: + self.client.SendDmx(univ, self.universes[univ]) + + def __init__(self): + self.client = OlaClient() + + self.universes = {1: array.array('B', (0 for i in range(512)))} -- cgit v1.2.3