Ejemplo n.º 1
0
def main(config, controller=None):
    log.info("Running script %s" % __name__)
    q = controller or dmx.Controller(config.get('base', 'address'),
                                     nodaemon=False)
    q.add(iter([[255] * 512]))
    if not controller:
        q.start()
Ejemplo n.º 2
0
def main(config):
    controller = dmx.Controller(config.get('base', 'address'), bpm=60)
    controller.start()

    def _runner(scriptname):
        if (scriptname == 'shell'):
            log.error("Can't create nested shells.")
            return
        with controller.autocycle:
            from artnet import scripts
            scripts.run(scriptname, config, controller)

    def _watch(r):
        def __watch(fixture, clock):
            c = clock()
            while (c['running']):
                yield fixture.getFrame()
                c = clock()

        controller.add(__watch(r.groups['all'], controller.get_clock()))

    default_rig = rig.get_default_rig()
    local = dict(
        run=_runner,
        ctl=controller,
        rig=default_rig,
        watch=_watch,
        blackout=lambda: _runner('all_channels_blackout'),
    )

    try:
        import readline
    except ImportError, e:
        pass
Ejemplo n.º 3
0
 def init(self):
     session = session_factory()
     rows = session.query(DimensionsModel).first().rows
     cols = session.query(DimensionsModel).first().cols
     self.mapping = [[[] for c in range(cols)] for r in range(rows)]
     for row in range(rows):
         for col in range(cols):
             artnets = session.query(ArtnetModel).filter_by(
                 row=row, column=col).first()
             if artnets is None:
                 continue
             for dmx_model in artnets.children:
                 dmx_mapping = {}
                 dmx_mapping["universe"] = dmx_model.universe
                 dmx_mapping["dmx"] = dmx_model.address
                 self.mapping[row][col].append(dmx_mapping)
                 universe = dmx_model.universe
                 if universe not in self.frames:
                     # Declare a new universe with 512 DMX addresses = 0
                     self.frames[universe] = [0]*512
     # e.g. universes 4,5 will create universes 0,1,2,3,4,5
     if len(self.frames) == 0:
         raise EnvironmentError("Artnet configuration is not set")
     else:
         self.num_universes = max(self.frames) + 1
     self.dmx = dmx.Controller(
         self.ARTNET_BROADCAST_IP, universes=self.num_universes, fps=self.FPS)
     self.dmx.start()
     self.logger.info("Created {} DMX universes".format(self.num_universes))
Ejemplo n.º 4
0
def main(config, controller=None):
    q = controller or dmx.Controller(
        config.get('base', 'address'), bpm=60, nodaemon=True, runout=True)

    q.add(fades.pulse_beat(q.get_clock(), all_red(), all_blue(), secs=5.0))

    if not controller:
        q.start()
Ejemplo n.º 5
0
def main(config, controller=None):
    q = controller or dmx.Controller(
        config.get('base', 'address'), bpm=240, nodaemon=False, runout=True)
    # "base color" red
    q.add(all_red())
    # white chase layer
    q.add(single_white_beat_chase(q.get_clock()))
    q.add(bouncing_ball(q.get_clock()))
    if not controller:
        q.start()
def main(config, controller=None):
    # global g
    # g = get_default_fixture_group(config)
    q = controller or dmx.Controller(
        config.get('base', 'address'), bpm=60, nodaemon=True, runout=True)

    q.add(fades.create_multifade([
        all_red(),
        all_blue(),
    ] * 3, secs=5.0))

    if not controller:
        q.start()
Ejemplo n.º 7
0
def main(config, controller=None):
    q = controller or dmx.Controller(
        config.get('base', 'address'), bpm=240, nodaemon=False)

    g.setIntensity(255)
    g.setColor('#ffffff')

    g[0].setColor('#ff0000')
    g[1].setColor('#00ff00')
    g[2].setColor('#0000ff')
    g[3].setColor('#ff00ff')

    from artnet.dmx import patterns
    q.add(patterns.rotate(q.get_clock(), g))

    if not controller:
        q.start()
Ejemplo n.º 8
0
def main(config, controller=None):
    log.info("Running script %s" % __name__)
    controller = dmx.Controller(config.get('base', 'address'), bpm=60)
    controller.start()

    def _runner(scriptname):
        if (scriptname == 'shell'):
            log.error("Can't create nested shells.")
            return
        with controller.autocycle:
            from artnet import scripts
            scripts.run(scriptname, config, controller)

    def _watch(r):
        def __watch(fixture, clock):
            c = clock()
            while (c['running']):
                yield fixture.getFrame()
                c = clock()

        controller.add(__watch(r.groups['all'], controller.get_clock()))

    default_rig = rig.get_default_rig()
    local = dict(
        run=_runner,
        ctl=controller,
        rig=default_rig,
        watch=_watch,
        blackout=lambda: _runner('all_channels_blackout'),
    )

    # try:
    # 	import readline
    # except ImportError, e:
    # 	pass
    # else:
    # 	# We don't have to wrap the following import in a 'try', because
    # 	# we already know 'readline' was imported successfully.
    # 	import rlcompleter
    # 	readline.set_completer(rlcompleter.Completer(local).complete)
    # 	if(sys.platform == 'darwin'):
    # 		readline.parse_and_bind ("bind ^I rl_complete")
    # 	else:
    # 		readline.parse_and_bind("tab:complete")

    code.interact(local=local)
Ejemplo n.º 9
0
def main(config, controller=None):
    q = controller or dmx.Controller(config.get('base', 'address'),
                                     nodaemon=False)
    q.add(iter([[255] * 512]))
    if not controller:
        q.start()
Ejemplo n.º 10
0
 def start_dmx(self):
     if self.dmx is None:
         # Broadcasting on all Arnet nodes network 2.0.0.0/8
         self.dmx = dmx.Controller("2.255.255.255", universes=self.num_universes, fps=15)
         self.dmx.start()