--- a/qmsk/dmx/heads.py Mon Jun 02 18:26:41 2014 +0300
+++ b/qmsk/dmx/heads.py Mon Jun 02 18:27:08 2014 +0300
@@ -77,3 +77,30 @@
'alpha',
]
+
+class Universe (object) :
+ """
+ An universe of Heads for DMX output.
+ """
+
+ def __init__ (self, dmx, heads) :
+ self.dmx = dmx
+ self.heads = heads
+
+ def __getitem__ (self, name) :
+ return self.heads[name]
+
+ def __iter__ (self) :
+ return self.heads.iteritems()
+
+ def update (self, head, attrs) :
+ """
+ Update per-head values..
+ """
+
+ for attr, value in attrs.iteritems():
+ head[attr] = value
+
+ # output
+ self.dmx.set(head.channel, *head)
+