changeset 810:f29788d1c8c9

kc/sc session control Ignore-this: bd0be61e7cd08e65118fdb96914470dc
author drewp@bigasterisk.com
date Mon, 23 Jul 2012 12:03:06 +0000
parents 7f1aef5fbddb
children b19cd005a491
files bin/keyboardcomposer bin/subcomposer
diffstat 2 files changed, 13 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/bin/keyboardcomposer	Thu Jul 19 04:54:29 2012 +0000
+++ b/bin/keyboardcomposer	Mon Jul 23 12:03:06 2012 +0000
@@ -345,8 +345,8 @@
         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 @@
 
     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)
 
--- a/bin/subcomposer	Thu Jul 19 04:54:29 2012 +0000
+++ b/bin/subcomposer	Mon Jul 23 12:03:06 2012 +0000
@@ -11,11 +11,13 @@
 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 @@
         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 @@
         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 @@
     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 @@
 
     task.LoopingCall(sc.sendupdate).start(1)
 
+    root.protocol('WM_DELETE_WINDOW', reactor.stop)
     tksupport.install(root,ms=10)
     prof.run(reactor.run, profile=False)