Changeset - e0fc0e6127f4
[Not reviewed]
default
0 1 0
David McClosky - 18 years ago 2007-06-15 20:13:23
dmcc@bigasterisk.com
keyboardcomposer: use submaster group information
1 file changed with 8 insertions and 1 deletions:
0 comments (0 inline, 0 general)
bin/keyboardcomposer
Show inline comments
 
@@ -13,12 +13,13 @@ import pickle
 
import run_local
 
from light9.Fadable import Fadable
 
from light9.Submaster import Submasters, sub_maxes
 
from light9.subclient import SubClient
 
from light9 import dmxclient, showconfig, networking, prof
 
from light9.uihelpers import toplevelat, bindkeys
 
from light9.namespaces import L9
 
from bcf2000 import BCF2000
 

	
 
nudge_keys = {
 
    'up'   : list('qwertyui'),
 
    'down' : list('asdfghjk')
 
}
 
@@ -206,16 +207,21 @@ class KeyboardComposer(Frame, SubClient)
 
                
 
    def draw_sliders(self):
 
        self.tk_focusFollowsMouse()
 

	
 
        rowcount = -1
 
        col = 0
 
        last_group = None
 
        graph = showconfig.getGraph()
 
        for sub in self.submasters.get_all_subs():
 
            if col == 0: # make new row
 
            group = graph.value(sub.uri, L9['group'])
 

	
 
            if col == 0 or group != last_group: # make new row
 
                row = self.make_row()
 
                rowcount += 1
 
                col = 0
 
            current_level = self.current_sub_levels.get(sub.name, 0)
 
            subtk = self.draw_sub_slider(row, col, sub.name, current_level)
 
            self.slider_table[(rowcount, col)] = subtk
 
            self.name_to_subtk[sub.name] = subtk
 

	
 
            def slider_changed(x, y, z, subtk=subtk,
 
@@ -227,12 +233,13 @@ class KeyboardComposer(Frame, SubClient)
 

	
 
            subtk.slider_var.trace('w', slider_changed)
 

	
 
            # initial position
 
            self.send_to_hw(sub.name, col + 1)
 
            col = (col + 1) % 8
 
            last_group = group
 

	
 
    def send_to_hw(self, subName, hwNum):
 
        if isinstance(self.sliders, DummySliders):
 
            return
 
            
 
        v = round(127 * self.slider_vars[subName].get())
0 comments (0 inline, 0 general)