def send_dmx(self,t): dispatcher.send("curves to sliders", t=t) scaledsubs=[] for st in self.subterms: scl = st.scaled(t) scaledsubs.append(scl) out = Submaster.sub_maxes(*scaledsubs) levs = out.get_levels() now=time.time() if now-self.lastsendtime>5 or levs!=self.lastsendlevs: dispatcher.send("output levels",val=levs) dmxclient.outputlevels(out.get_dmx_list(), twisted=1,clientid='curvecalc') self.lastsendtime = now self.lastsendlevs = levs
def combineOutputs(self, outputs): """pick usable effect outputs and reduce them into one for sendOutput""" outputs = [x for x in outputs if isinstance(x, Submaster.Submaster)] out = Submaster.sub_maxes(*outputs) return out