Changeset - 551f06733559
[Not reviewed]
default
0 2 0
David McClosky - 18 years ago 2007-06-15 23:05:21
dmcc@bigasterisk.com
bcf2000 and kc: sliders can be turned off
2 files changed with 26 insertions and 4 deletions:
0 comments (0 inline, 0 general)
bcf2000.py
Show inline comments
 
@@ -42,7 +42,7 @@ class BCF2000(object):
 
    def poll(self):
 
        try:
 
            bytes = self.dev.read(3)
 
        except IOError, e:
 
        except (IOError, AttributeError):
 
            return
 
        if len(bytes) == 0:
 
            print "midi stall, reopen slider device"
 
@@ -91,6 +91,9 @@ class BCF2000(object):
 

	
 
    def valueOut(self, name, value):
 
        """call this to send an event to the hardware"""
 
        if self.dev is None:
 
            return
 

	
 
        value = int(value)
 
        if self.lastValue.get(name) == value:
 
            return
 
@@ -101,7 +104,10 @@ class BCF2000(object):
 
            value = value * 127
 
        #print "bcf: write %s %s" % (name, value)
 
        self.dev.write(chr(0xb0) + chr(which[0]) + chr(int(value)))
 
        
 

	
 
    def close(self):
 
        self.dev.close()
 
        self.dev = None
 

	
 
if __name__ == '__main__':
 
    b = BCF2000()
bin/keyboardcomposer
Show inline comments
 
@@ -85,10 +85,10 @@ class KeyboardComposer(Frame, SubClient)
 
                pass
 

	
 
        self.connect_to_hw(hw_sliders)
 
        self.draw_ui()
 
        self.draw_ui(hw_sliders)
 
        self.send_levels_loop()
 

	
 
    def draw_ui(self):
 
    def draw_ui(self, hw_sliders):
 
        self.rows = [] # this holds Tk Frames for each row
 
        self.slider_vars = {} # this holds subname:sub Tk vars
 
        self.slider_table = {} # this holds coords:sub Tk vars
 
@@ -111,10 +111,26 @@ class KeyboardComposer(Frame, SubClient)
 
            command=lambda: self.save_current_stage(self.sub_name.get()), 
 
            bg='black', fg='white')
 
        self.save_stage_button.pack(side=LEFT)
 
        self.sliders_status_var = IntVar()
 
        self.sliders_status_var.set(hw_sliders)
 
        self.sliders_checkbutton = Checkbutton(self.buttonframe, 
 
            text="Sliders", variable=self.sliders_status_var,
 
            command=lambda: self.toggle_slider_connectedness(),
 
            bg='black', fg='white')
 
        self.sliders_checkbutton.pack(side=LEFT)
 

	
 
        self.sub_name = Entry(self.buttonframe, bg='black', fg='white')
 
        self.sub_name.pack(side=LEFT)
 
        self.stop_frequent_update_time = 0
 

	
 
    def toggle_slider_connectedness(self):
 
        state = self.sliders_status_var.get()
 
        if state:
 
            self.sliders.reopen()
 
        else:
 
            self.sliders.close()
 
        self.change_row(self.current_row)
 
        self.rows[self.current_row].focus()
 
    def connect_to_hw(self, hw_sliders):
 
        if hw_sliders:
 
            self.sliders = Sliders(self)
0 comments (0 inline, 0 general)