class KnipperEffect: @classmethod def definition(cls): return EffectDefinition('knipper', ['contour'], [ BooleanParameter('left_eye'), BooleanParameter('right_eye'), BooleanParameter('body')]) def __init__(self, controller, parameters, effectenbak): self.controller = controller bitmask = 0 if parameters.get('left_eye'): bitmask |= self.controller.contour.LEFT if parameters.get('right_eye'): bitmask |= self.controller.contour.RIGHT if parameters.get('body'): bitmask |= self.controller.contour.BODY self._bitmask = bitmask self._sine = SineWave(upper=50, lower=1, step=0.2) self._toggler = Toggle() def ticks_per_iteration(self): return self._sine.ticks_per_wave() def tick(self): self.controller.contour.set_state(self._bitmask, self._toggler.next()) time.sleep(0.001 * self._sine.next()) def finalize(self): self.controller.contour.set_state(self._bitmask, False)
def __init__(self, controller, parameters, effectenbak): self.controller = controller self._color = parameters.get('color', 'blue') self._toggler = Toggle() self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan')
def __init__(self, controller, parameters, effectenbak): self.controller = controller self._a = parameters.get("a") self._b = parameters.get("b") self._toggler = Toggle() self._duration_uit = parameters.get("duration_uit") self._duration_aan = parameters.get("duration_aan")
def __init__(self, controller, parameters, effectenbak): self.controller = controller self._left = parameters.get('left') self._right = parameters.get('right') self._toggler = Toggle() self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan')
def __init__(self, controller, parameters, effectenbak): self.controller = controller bitmask = 0 if parameters.get('left_eye'): bitmask |= self.controller.contour.LEFT if parameters.get('right_eye'): bitmask |= self.controller.contour.RIGHT if parameters.get('body'): bitmask |= self.controller.contour.BODY self._bitmask = bitmask self._sine = SineWave(upper=50, lower=1, step=0.2) self._toggler = Toggle()
class BodyAanUit: @classmethod def definition(cls): return EffectDefinition( "body_aanuit", ["fader"], [ BooleanParameter("a"), BooleanParameter("b"), NumberParameter("duration_uit", 60000), NumberParameter("duration_aan", 60000), ], ) def __init__(self, controller, parameters, effectenbak): self.controller = controller self._a = parameters.get("a") self._b = parameters.get("b") self._toggler = Toggle() self._duration_uit = parameters.get("duration_uit") self._duration_aan = parameters.get("duration_aan") def ticks_per_iteration(self): return 2 def tick(self): on = self._toggler.next() self.set_state(on) if on: time.sleep(float(self._duration_aan) / 1000) else: time.sleep(float(self._duration_uit) / 1000) def set_state(self, on): if on: i = 255 else: i = 0 if self._a: self.controller.fader.a(i) if self._b: self.controller.fader.b(i) def finalize(self): self.set_state(False)
def __init__(self, controller, parameters, effectenbak): self.controller = controller bitmask = 0 if parameters.get('left_eye'): bitmask |= self.controller.contour.LEFT if parameters.get('right_eye'): bitmask |= self.controller.contour.RIGHT if parameters.get('body'): bitmask |= self.controller.contour.BODY self._toggler = Toggle() self._bitmask = bitmask self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan')
class WingsColor: @classmethod def definition(cls): return EffectDefinition('wings_color', ['wings'], [ ChoiceParameter('color', ['blue', 'orange', 'yellow']), NumberParameter('duration_uit', 60000), NumberParameter('duration_aan', 60000), ]) def __init__(self, controller, parameters, effectenbak): self.controller = controller self._color = parameters.get('color', 'blue') self._toggler = Toggle() self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan') def ticks_per_iteration(self): return 2 def tick(self): on = self._toggler.next() self.set_state(on) if on: time.sleep(float(self._duration_aan) / 1000) else: time.sleep(float(self._duration_uit) / 1000) def set_state(self, on): if not on: self.controller.wings.all(False) return if self._color == 'blue': self.controller.wings.a(True) if self._color == 'orange': self.controller.wings.b(True) if self._color == 'yellow': self.controller.wings.c(True) def finalize(self): self.set_state(False)
class AanUitEffect: @classmethod def definition(cls): return EffectDefinition('aanuit', ['contour'], [ BooleanParameter('left_eye'), BooleanParameter('right_eye'), BooleanParameter('body'), NumberParameter('duration_uit', 5000), NumberParameter('duration_aan', 5000), ]) def __init__(self, controller, parameters, effectenbak): self.controller = controller bitmask = 0 if parameters.get('left_eye'): bitmask |= self.controller.contour.LEFT if parameters.get('right_eye'): bitmask |= self.controller.contour.RIGHT if parameters.get('body'): bitmask |= self.controller.contour.BODY self._toggler = Toggle() self._bitmask = bitmask self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan') def ticks_per_iteration(self): return 2 def tick(self): on = self._toggler.next() self.controller.contour.set_state(self._bitmask, on) if on: time.sleep(float(self._duration_aan) / 1000) else: time.sleep(float(self._duration_uit) / 1000) def finalize(self): self.controller.contour.set_state(self._bitmask, False)
class WingsAanUit: @classmethod def definition(cls): return EffectDefinition('wings_aan_uit', ['wings'], [ BooleanParameter('left'), BooleanParameter('right'), NumberParameter('duration_uit', 60000), NumberParameter('duration_aan', 60000), ]) def __init__(self, controller, parameters, effectenbak): self.controller = controller self._left = parameters.get('left') self._right = parameters.get('right') self._toggler = Toggle() self._duration_uit = parameters.get('duration_uit') self._duration_aan = parameters.get('duration_aan') def ticks_per_iteration(self): return 2 def tick(self): on = self._toggler.next() self.set_state(on) if on: time.sleep(float(self._duration_aan) / 1000) else: time.sleep(float(self._duration_uit) / 1000) def set_state(self, on): if self._left: self.controller.wings.left(on) if self._right: self.controller.wings.right(on) def finalize(self): self.set_state(False)