diff --git a/dmx.py b/dmx.py index b09f574..ef13a75 100644 --- a/dmx.py +++ b/dmx.py @@ -189,7 +189,8 @@ class FixtureOutput: def tick(self, dt): for fixture in self._fixtures: fixture.tick(dt) - self._dmx.submit() + if self._dmx is not None: + self._dmx.submit() def main(): diff --git a/factory.py b/factory.py index 6a736e8..37df635 100644 --- a/factory.py +++ b/factory.py @@ -48,6 +48,8 @@ class MakeSet: class MakeFixtureTypes: def __new__(cls, config): + if config is None: + config = [] def parse_range(src): (a, b) = src.split('-') @@ -77,6 +79,8 @@ class MakeFixtureTypes: class MakeFixtures: def __new__(cls, config, fixture_types): fixtures = {} + if config is None: + config = [] for fixture in config: dmxch = config[fixture]['dmx'] type = config[fixture]['type'] @@ -88,6 +92,8 @@ class MakeFixtures: class MakeGroups: def __new__(cls, config, fixtures): groups = {} + if config is None: + config = [] for group in config: fobjects = [] for fixture in config[group]: @@ -101,6 +107,8 @@ class MakeGroups: class MakeScenes: def __new__(cls, config, fixtures, groups): scenes = {} + if config is None: + config = [] for scene in config: objects = {} for name in config[scene].keys(): diff --git a/gig.py b/gig.py index dfb346e..d124539 100755 --- a/gig.py +++ b/gig.py @@ -392,12 +392,12 @@ def main(): audiencecontent = AudienceContent(gigconfig=config, eventrunner=eventrunner) -# try: - wrapper = ClientWrapper() - DMX_DATA_SIZE = DMX_UNIVERSE_SIZE - dmx_object = dmx.DMX(args.universe, wrapper, DMX_DATA_SIZE) -# except Exception: -# pass + try: + wrapper = ClientWrapper() + DMX_DATA_SIZE = DMX_UNIVERSE_SIZE + dmx_object = dmx.DMX(args.universe, wrapper, DMX_DATA_SIZE) + except Exception: + dmx_object = None fixtureoutput = dmx.FixtureOutput(fixtures=[config['fixtures'][x] for x in config['fixtures']], dmx=dmx_object) pyglet.clock.schedule_interval(fixtureoutput.tick, 1/30.0)