Changeset 22 for trunk/TouchOSC_LC


Ignore:
Timestamp:
05/07/09 12:00:40 (14 months ago)
Author:
st8
Message:

LiveOSC:
Added return and master track listeners and calls (see documentation for implementation)
Added device parameters
/live/send <Track> now returns a list of sends and values

TouchOSC_LC
Page 3 now automatically maps to sends and allows toggling and inter-send routing

TouchOSC
Updated LiveControl TouchOSC layout and corresponding config file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/TouchOSC_LC/TouchOSC.py

    r19 r22  
    1717    # Enable Logging 
    1818    _LOG = 0 
     19     
     20    # Track offset 
     21    tos = 7 
    1922 
    2023    def __init__(self, c_instance): 
     
    6164        self.c_instance.show_message("TouchOSC > Server Started on " + str(local) + ", sending data to: " + str(remote))         
    6265                                 
    63         self.song().add_current_song_time_listener(self.oscServer.processIncomingUDP) 
     66        #self.song().add_current_song_time_listener(self.oscServer.processIncomingUDP) 
    6467 
    6568######################################################################     
     
    153156# Main Touch OSC Functions  
    154157    def callback(self, msg): 
    155         if re.search("xy", msg[0]): 
     158        # Sends handler 
     159        if re.search("/3/multitoggle1/", msg[0]): 
     160            ids = msg[0].split('/') 
     161         
     162            ret = 5 - int(ids[3]) 
     163            sid = int(ids[4]) - 1 
     164             
     165            if sid >= ret: 
     166                sid = sid + 1 
     167             
     168            self.log("row: " + str(ret) + " col:" + str(sid)) 
     169         
     170            track = self.song().return_tracks[ret] 
     171            track.mixer_device.sends[sid].value = msg[2]         
     172         
     173         
     174        elif re.search("/3/push", msg[0]): 
     175            id  = int(msg[0].replace("/3/push", "")) - 1 
     176             
     177            tr  = (id % 6) + self.tos 
     178            sid = (id / 6)    
     179             
     180            track = self.song().tracks[tr] 
     181            track.mixer_device.sends[sid].value = msg[2] 
     182         
     183        elif re.search("/3/toggle", msg[0]): 
     184            id  = int(msg[0].replace("/3/toggle", "")) - 1 
     185             
     186            tr  = (id % 6) + self.tos 
     187            sid = (id / 6) + 2 
     188             
     189            self.log("tr: " + str(tr) + " send: " + str(sid)) 
     190             
     191            track = self.song().tracks[tr] 
     192             
     193            # Sends 
     194            track.mixer_device.sends[sid].value = msg[2] 
     195  
     196            tot = 0 
     197            for s in range(2, len(track.mixer_device.sends)): 
     198                tot += track.mixer_device.sends[s].value 
     199 
     200            if tot > 0: 
     201                track.mixer_device.volume.value = 0 
     202            else: 
     203                track.mixer_device.volume.value = 0.85 
     204     
     205        elif re.search("xy", msg[0]): 
    156206            cc = self.tuple_idx(self.cc, msg[0]) 
    157207             
Note: See TracChangeset for help on using the changeset viewer.