# HG changeset patch # User drewp@bigasterisk.com # Date 2012-07-23 12:03:06 # Node ID f29788d1c8c920d8a7340eacd1d5769c08af6406 # Parent 7f1aef5fbddb821cc4536ee45dfa9158dabae0b8 kc/sc session control Ignore-this: bd0be61e7cd08e65118fdb96914470dc diff --git a/bin/keyboardcomposer b/bin/keyboardcomposer --- a/bin/keyboardcomposer +++ b/bin/keyboardcomposer @@ -345,8 +345,8 @@ class KeyboardComposer(Frame, SubClient) try: row = self.rows[self.current_row] except IndexError: - # if we're mid-load, this row might appear soon. If we - # changed interactively, the user is out of bounds and + # if we're mid-load, this row might still appear soon. If + # we changed interactively, the user is out of bounds and # needs to be brought back in if fromGraph: return @@ -548,7 +548,8 @@ if __name__ == "__main__": root = Tk() initTkdnd(root.tk, 'tkdnd/trunk/') - + + # this has yet to be moved into the session graph tl = toplevelat("Keyboard Composer - %s" % opts.session, existingtoplevel=root) diff --git a/bin/subcomposer b/bin/subcomposer --- a/bin/subcomposer +++ b/bin/subcomposer @@ -11,11 +11,13 @@ from light9.dmxchanedit import Levelbox from light9 import dmxclient, Patch, Submaster, showconfig, prof from light9.uihelpers import toplevelat from light9.rdfdb.syncedgraph import SyncedGraph +from light9.rdfdb import clientsession class Subcomposer(tk.Frame): - def __init__(self, master, graph): + def __init__(self, master, graph, session): tk.Frame.__init__(self, master, bg='black') self.graph = graph + self.session = session self.levelbox = Levelbox(self, graph) self.levelbox.pack(side='top') @@ -38,18 +40,6 @@ class Subcomposer(tk.Frame): for box in [self.savebox, self.loadbox]: box.set(subname) - def save_levels(self, *args): - levelfile = file("subcomposer.savedlevels","w") - levelfile.write(" ".join(map(str, self.levels))) - - def load_levels(self): - try: - levelfile = file("subcomposer.savedlevels","r") - levels = map(float, levelfile.read().split()) - self.set_levels(levels) - except IOError: - pass - def savenewsub(self, subname): leveldict={} for i,lev in zip(range(len(self.levels)),self.levels): @@ -59,6 +49,7 @@ class Subcomposer(tk.Frame): s=Submaster.Submaster(subname,leveldict=leveldict) s.save() + # this is going to be more like 'tie to sub' and 'untied' def loadsub(self, subname): """puts a sub into the levels, replacing old level values""" s=Submaster.Submasters(showconfig.getGraph()).get_sub_by_name(subname) @@ -107,17 +98,19 @@ if __name__ == "__main__": parser = OptionParser(usage="%prog [subname]") parser.add_option('--no-geometry', action='store_true', help="don't save/restore window geometry") + clientsession.add_option(parser) opts, args = parser.parse_args() root=tk.Tk() root.config(bg='black') root.tk_setPalette("#004633") if not opts.no_geometry: - toplevelat("subcomposer", root) + toplevelat("subcomposer - %s" % opts.session, root) graph = SyncedGraph("subcomposer") + session = clientsession.getUri('subcomposer', opts) - sc = Subcomposer(root, graph) + sc = Subcomposer(root, graph, session) sc.pack() tk.Label(root,text="Bindings: B1 adjust level; B2 set full; B3 instant bump", @@ -130,5 +123,6 @@ if __name__ == "__main__": task.LoopingCall(sc.sendupdate).start(1) + root.protocol('WM_DELETE_WINDOW', reactor.stop) tksupport.install(root,ms=10) prof.run(reactor.run, profile=False)