Changeset 79


Ignore:
Timestamp:
12/04/10 16:56:56 (8 years ago)
Author:
st8
Message:

LiveControl_TO: Added meter listeners for track level meteres, cleaned up a bit of the step sequencer. Moved local ip address to config file as function doesnt always return the correct value. Added delays to parameter changes to stop feedback loops

Location:
trunk/LiveControl_TO
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LiveControl_TO/DeviceControl.py

    r77 r79  
    109109            self.oscServer.sendOSC('/3/rotary' + str(pid), (param.value - param.min)/(param.max-param.min)) 
    110110             
    111             x = self.xy(0) 
    112             y = self.xy(1) 
    113              
    114111            if tid == self.device[0] and did == self.device[1]: 
    115112                x = self.xy(0) 
     
    117114                 
    118115                if x == pid or y == pid: 
    119                     self.update_xy() 
     116                    if self.update == 0: 
     117                        self.update_xy() 
    120118         
    121119        self.log("Parameter: " + str(tid) + " " + str(did) + " " + str(pid) + " changed: " + str(param.value) + " min:" + str(param.min) + " max:" + str(param.max)) 
     
    296294                    px.value = (xy[1] * (px.max - px.min)) + px.min 
    297295                    py.value = (xy[0] * (py.max - py.min)) + py.min 
     296                     
     297                    self.update = 4 
    298298                 
    299299    def device_left(self): 
  • trunk/LiveControl_TO/LiveControl.py

    r77 r79  
    6060        except: 
    6161            remote  = 'localhost' 
     62             
     63        try: 
     64            local = config.get("LiveControl", "local") 
     65        except: 
     66            local  = 'localhost'             
    6267 
    6368        try: 
     
    7984            self.height = 9 
    8085             
    81         self.oscServer = RemixNet.OSCServer(remote, send, RemixNet.get_ip(), receive) 
     86        self.oscServer = RemixNet.OSCServer(remote, send, local, receive) 
    8287         
    8388        for j in range(1,9): 
     
    267272# Ableton Methods 
    268273 
    269     def refresh_state(self): 
    270         self.cur_sel() 
    271      
     274    def refresh_state(self):    
    272275        for i in range(len(self.prog)): 
    273276            self.prog[i].do_refresh_state() 
     277             
     278        self.cur_sel()             
    274279         
    275280    def update_display(self): 
  • trunk/LiveControl_TO/Sequencer.py

    r77 r79  
    170170                if cp > pos and cp < pos + self.quan: 
    171171                    if pos != self.last: 
    172                         self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i+1), 1) 
    173                         self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i+1 == 1 and 16 or i), 0) 
    174                         self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i-1), 0) 
     172                        self.oscServer.sendOSC('/4/led' + str(i+1), 1) 
     173                        #self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i+1), 1) 
     174                        #self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i+1 == 1 and 16 or i), 0) 
     175                        #self.oscServer.sendOSC('/4/multitoggle2/1/' + str(i-1), 0) 
    175176                         
    176177                        self.last = pos 
     178                else: 
     179                    self.oscServer.sendOSC('/4/led' + str(i+1), 0) 
    177180     
    178181    def do_bg(self): 
  • trunk/LiveControl_TO/TrackControl.py

    r77 r79  
    4040        self.shift = 0 
    4141        self.mode = 0 
     42         
     43        self.update = 0 
     44        self.update_tr = [] 
    4245 
    4346        self.oscServer.sendOSC('/2/led1', 1) 
     
    107110                 
    108111            track.add_name_listener(self.update_mixer) 
     112             
    109113            self.listen[track] = cb 
    110114             
    111115    def mixer_changestate(self, tid, track): 
     116        self.log(str(self.update)) 
     117        if self.update == 0: 
     118            self.do_update_tr(tid, track) 
     119        else: 
     120            self.update_tr.append([tid, track]) 
     121             
     122     
     123    def do_update_tr(self, tid, track): 
    112124        sl = len(track.mixer_device.sends) 
    113125         
     
    137149                self.oscServer.sendOSC('/2/fader' + str(id), track.mixer_device.sends[1].value) 
    138150                 
    139             self.update_track(tid, id-1) 
     151            self.update_track(tid, id-1)     
    140152         
    141153    def do_refresh_state(self): 
     
    216228            self.oscServer.sendOSC('/6/toggle' + str(i+15), send == 0 and 1 or 0) 
    217229             
    218             self.oscServer.sendOSC('/6/toggle' + str(i+22), track.current_monitoring_state) 
    219              
    220230            self.oscServer.sendOSC('/6/toggle' + str(i+29), track.mute == 0 and 1 or 0) 
    221231            self.oscServer.sendOSC('/6/toggle' + str(i+36), track.solo == 1 and 1 or 0) 
    222232             
    223233            if track.can_be_armed: 
     234                self.oscServer.sendOSC('/6/toggle' + str(i+22), track.current_monitoring_state) 
    224235                self.oscServer.sendOSC('/6/toggle' + str(i+43), track.arm == 1 and 1 or 0) 
    225236                 
     
    274285 
    275286        elif page == 2: 
    276             self.log(str(page) + " " + str(id)) 
     287             
    277288            if type == 'nav': 
    278289                if val == 1: 
     
    319330                        if len(self.tracks()[tr].mixer_device.sends) > 1: 
    320331                            self.song().visible_tracks[tr].mixer_device.sends[1].value = val    
    321                      
     332                  
     333                self.update = 4 
     334                  
    322335    def do_bg(self): 
    323         pass 
     336        if self.update > 0: 
     337            self.update -= 1 
     338             
     339        if self.update == 1: 
     340            if len(self.update_tr) > 0: 
     341                for tr in self.update_tr: 
     342                    self.do_update_tr(tr[0], tr[1]) 
     343                     
     344                self.update_tr = [] 
    324345         
    325346    def do_update(self): 
    326         pass 
     347        tracks = self.tracks() 
     348     
     349        for i in range(self.width): 
     350            if i == 7: 
     351                self.oscServer.sendOSC('/2/fader' + str(i+1) + 'l', self.song().master_track.output_meter_left) 
     352                self.oscServer.sendOSC('/2/fader' + str(i+1) + 'r', self.song().master_track.output_meter_right) 
     353             
     354            elif i < self.twidth: 
     355                tr = i + self.track 
     356                track = tracks[tr] 
     357                     
     358                if track.has_audio_output: 
     359                    self.oscServer.sendOSC('/2/fader' + str(i+1) + 'l', track.output_meter_left) 
     360                    self.oscServer.sendOSC('/2/fader' + str(i+1) + 'r', track.output_meter_right) 
     361                else: 
     362                    self.oscServer.sendOSC('/2/fader' + str(i+1) + 'l', 0) 
     363                    self.oscServer.sendOSC('/2/fader' + str(i+1) + 'r', 0)                   
  • trunk/LiveControl_TO/livecontrol_to.txt

    r77 r79  
    11[LiveControl] 
     2local = 192.168.160.10 
    23remote = 192.168.160.81 
    34send = 5001 
Note: See TracChangeset for help on using the changeset viewer.