Changeset - cad8207933d7
[Not reviewed]
default
0 2 0
Drew Perttula - 12 years ago 2013-06-08 08:21:24
drewp@bigasterisk.com
KC fix logging, startup after graph sync, display uri tails when there's no label
Ignore-this: 55d0cac2cd05d07ac6e7691b25b6b117
2 files changed with 26 insertions and 19 deletions:
0 comments (0 inline, 0 general)
bin/keyboardcomposer
Show inline comments
 
#!bin/python
 

	
 
from __future__ import division, nested_scopes
 
from run_local import log
 
import cgi, os, sys, time, subprocess, logging, random
 
from optparse import OptionParser
 
import webcolors, colorsys
 
@@ -12,7 +13,6 @@ from Tix import *
 
import Tix as tk
 
import pickle
 

	
 
import run_local
 
from light9.Fadable import Fadable
 
from light9.Submaster import Submasters, sub_maxes
 
from light9.subclient import SubClient
 
@@ -142,7 +142,9 @@ class SubmasterBox(Frame):
 
                    self.pauseTrace = False
 

	
 
    def updateName(self):
 
        self.namelabel.config(text=self.sub.graph.label(self.sub.uri))
 
        def shortUri(u):
 
            return '.../' + u.split('/')[-1]
 
        self.namelabel.config(text=self.sub.graph.label(self.sub.uri) or shortUri(self.sub.uri))
 

	
 
    def launch_subcomposer(self, *args):
 
        subprocess.Popen(["bin/subcomposer", "--no-geometry", self.name])
 
@@ -232,8 +234,8 @@ class KeyboardComposer(Frame, SubClient)
 
                             self.graph.value(sub.uri, L9['order']),
 
                             sub)
 
            for sub in self.submasters.get_all_subs())
 
        dispatcher.connect(self.onNewSub, "new submaster")
 
        dispatcher.connect(self.onLostSub, "lost submaster")
 
        #dispatcher.connect(self.onNewSub, "new submaster")
 
        #dispatcher.connect(self.onLostSub, "lost submaster")
 
        log.info("withgroups %s", withgroups)
 

	
 
        for group, order, sub in withgroups:
 
@@ -520,6 +522,18 @@ class Sliders(BCF2000):
 
            kc.change_row(kc.current_row + diff)
 
            self.valueOut(name, 0)
 

	
 
def launch(opts, root, graph, session):
 
    tl = toplevelat("Keyboard Composer - %s" % opts.session,
 
                    existingtoplevel=root, graph=graph, session=session)
 

	
 
    kc = KeyboardComposer(tl, graph, session,
 
                          hw_sliders=not opts.no_sliders)
 
    kc.pack(fill=BOTH, expand=1)
 

	
 
    for helpline in ["Bindings: B3 mute; C-l edit levels in subcomposer"]:
 
        tk.Label(root,text=helpline, font="Helvetica -12 italic",
 
                 anchor='w').pack(side='top',fill='x')
 
            
 
if __name__ == "__main__":
 
    parser = OptionParser()
 
    parser.add_option('--no-sliders', action='store_true',
 
@@ -528,8 +542,7 @@ if __name__ == "__main__":
 
    parser.add_option('-v', action='store_true', help="log info level")
 
    opts, args = parser.parse_args()
 

	
 
    logging.basicConfig(level=logging.INFO if opts.v else logging.WARN)
 
    log = logging.getLogger('keyboardcomposer')
 
    log.setLevel(logging.INFO if opts.v else logging.WARN)
 

	
 
    graph = SyncedGraph("keyboardcomposer")
 

	
 
@@ -541,16 +554,8 @@ if __name__ == "__main__":
 

	
 
    session = clientsession.getUri('keyboardcomposer', opts)
 

	
 
    tl = toplevelat("Keyboard Composer - %s" % opts.session,
 
                    existingtoplevel=root, graph=graph, session=session)
 

	
 
    kc = KeyboardComposer(tl, graph, session,
 
                          hw_sliders=not opts.no_sliders)
 
    kc.pack(fill=BOTH, expand=1)
 

	
 
    for helpline in ["Bindings: B3 mute; C-l edit levels in subcomposer"]:
 
        tk.Label(root,text=helpline, font="Helvetica -12 italic",
 
                 anchor='w').pack(side='top',fill='x')
 
    graph.initiallySynced.addCallback(
 
        lambda _: launch(opts, root, graph, session))
 

	
 
    if 0: # needs fixing, or maybe it's obsolete because other progs can just patch the rdf graph
 
        import twisted.internet
light9/Submaster.py
Show inline comments
 
@@ -27,7 +27,7 @@ class Submaster(object):
 
            # obsolete
 
            dispatcher.connect(log.error, 'reload all subs')
 

	
 
        log.debug("%s initial levels %s", self.name, self.levels)
 
        #log.debug("%s initial levels %s", self.name, self.levels)
 

	
 
    def _editedLevels(self):
 
        pass
 
@@ -271,7 +271,7 @@ def combine_subdict(subdict, name=None, 
 
class Submasters:
 
    "Collection o' Submaster objects"
 
    def __init__(self, graph):
 
        self.submasters = {}
 
        self.submasters = {} # uri : Submaster
 
        self.graph = graph
 

	
 
        graph.addHandler(self.findSubs)
 
@@ -280,11 +280,13 @@ class Submasters:
 
        current = set()
 

	
 
        for s in self.graph.subjects(RDF.type, L9['Submaster']):
 
            if self.graph.contains((s, RDF.type, L9['LocalSubmaster'])):
 
                continue
 
            log.info("found sub %s", s)
 
            if s not in self.submasters:
 
                sub = self.submasters[s] = PersistentSubmaster(self.graph, s)
 
                dispatcher.send("new submaster", sub=sub)
 
                current.add(s)
 
            current.add(s)
 
        for s in set(self.submasters.keys()) - current:
 
            del self.submasters[s]
 
            dispatcher.send("lost submaster", subUri=s)
0 comments (0 inline, 0 general)