Mercurial > code > home > repos > light9
diff bin/gyrocontroller @ 272:460bc5ebcaaf
gyrocontroller can use patch names, Submasters gets get_all_sub_names()
author | David McClosky <dmcc@bigasterisk.com> |
---|---|
date | Fri, 17 Jun 2005 07:00:51 +0000 |
parents | 97c08a1c4351 |
children | 3b73f0a58a54 |
line wrap: on
line diff
--- a/bin/gyrocontroller Fri Jun 17 04:23:07 2005 +0000 +++ b/bin/gyrocontroller Fri Jun 17 07:00:51 2005 +0000 @@ -4,6 +4,7 @@ import run_local from light9.Submaster import Submasters, Submaster, combine_subdict from light9.subclient import SubClient +import light9.Patch as Patch import Tix as Tk @@ -48,12 +49,25 @@ self.subnames = subnames self.refresh() def get_sub(self, name): + if name in self.submasters.get_all_sub_names(): + return self.submasters.get_sub_by_name(name) + try: val = int(name) - s = Submaster("Ch%d" % val, {val : 1.0}, temporary=True) + s = Submaster("#%d" % val, {val : 1.0}, temporary=True) return s except ValueError: - return self.submasters.get_sub_by_name(name) + pass + + try: + subnum = Patch.get_dmx_channel(name) + s = Submaster("'%s'" % name, {subnum : 1.0}, temporary=True) + return s + except ValueError: + pass + + # make an error sub + return Submaster('%s!?' % name) def refresh(self): # reload subs from disk self.submasters = Submasters()