Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
    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")
Ejemplo n.º 4
0
    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')
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
    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')
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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)