Changeset 68
- Timestamp:
- 14/03/10 17:13:58 (5 months ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
-
LiveControl/DeviceControl.py (modified) (3 diffs)
-
LiveControl/Looper.py (modified) (1 diff)
-
LiveControl/Sequencer.py (added)
-
LiveOSC/LiveOSC Control.adg (added)
-
LiveOSC/LiveOSC.py (modified) (5 diffs)
-
LiveOSC/OSCAPI.txt (modified) (1 diff)
-
osc_tester.pd (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LiveControl/DeviceControl.py
r64 r68 40 40 self.dlisten = {} 41 41 self.plisten = {} 42 self.bstates = {} 43 for i in range((self.width - 1) * self.height): 44 self.bstates[i] = 0 42 45 43 46 self.lcd2 = ["", ""] … … 234 237 return cols 235 238 239 def to_bid(self, x, y): 240 return ((self.width - 1) * x) + y 241 236 242 def do_button_press(self, x, y, v): 243 # Record Button States 244 if x != self.width - 1: 245 self.bstates[self.to_bid(x,y)] = v 246 237 247 if v == 1: 238 248 # Track Right … … 293 303 bval = float((self.height - 1) - y) / float(self.height - 1) 294 304 val = (float(bval) * float(ran)) + float(start) 295 305 306 if self.to_bid(x,y) + 1 < len(self.bstates) and self.to_bid(x,y) - 1 > 0: 307 off = float(1.0 / float(self.height - 1))/2 * float(ran) 308 309 if self.bstates[(self.to_bid(x,y) + 1)] == 1: 310 val -= off 311 312 if self.bstates[(self.to_bid(x,y) - 1)] == 1: 313 val += off 314 296 315 self.tracks()[self.device[0]].devices[self.device[1]].parameters[pid].value = val 297 316 self.device_cache[self.device[0]][self.device[1]][pid][1] = val 298 299 317 300 318 def do_bg(self): -
trunk/LiveControl/Looper.py
r66 r68 44 44 self.step = 0 45 45 self.sindex = [0.25,0.5,1,2,4,6,8,10,12] 46 47 self.precords = [0 for i in range(self.height - 2)] 48 self.patterns = [{} for i in range(self.height - 2)] 46 49 47 50 self.do_refresh_state() -
trunk/LiveOSC/LiveOSC.py
r67 r68 213 213 self.rem_tracks_listener() 214 214 self.rem_device_listeners() 215 self.rem_transport_listener() 215 216 216 217 self.song().remove_visible_tracks_listener(self.refresh_state) … … 230 231 self.add_tracks_listener() 231 232 self.add_device_listeners() 233 self.add_transport_listener() 232 234 233 235 trackNumber = 0 … … 306 308 self.oscServer.sendOSC("/live/tempo", (tempo)) 307 309 310 def add_transport_listener(self): 311 if self.song().is_playing_has_listener(self.transport_change) != 1: 312 self.song().add_is_playing_listener(self.transport_change) 313 314 def rem_transport_listener(self): 315 if self.song().is_playing_has_listener(self.transport_change) == 1: 316 self.song().remove_is_playing_listener(self.transport_change) 317 318 def transport_change(self): 319 self.oscServer.sendOSC("/live/play", (self.song().is_playing and 2 or 1)) 320 308 321 def add_overdub_listener(self): 309 322 self.rem_overdub_listener() … … 674 687 675 688 def clip_position(self, clip, tid, cid): 676 if clip.is_playing: 677 self.oscServer.sendOSC('/live/clip/position', (tid, cid, clip.playing_position, clip.length, clip.loop_start, clip.loop_end)) 689 if self.check_md(1): 690 if clip.is_playing: 691 self.oscServer.sendOSC('/live/clip/position', (tid, cid, clip.playing_position, clip.length, clip.loop_start, clip.loop_end)) 678 692 679 693 def slot_changestate(self, slot, tid, cid): … … 770 784 def meter_changestate(self, tid, track, lr, r = 0): 771 785 if r == 2: 772 if lr == 0: 773 self.oscServer.sendOSC('/live/master/meter', (0, float(track.output_meter_left))) 786 if self.check_md(2): 787 if lr == 0: 788 self.oscServer.sendOSC('/live/master/meter', (0, float(track.output_meter_left))) 789 else: 790 self.oscServer.sendOSC('/live/master/meter', (1, float(track.output_meter_right))) 791 elif r == 1: 792 if self.check_md(3): 793 if lr == 0: 794 self.oscServer.sendOSC('/live/return/meter', (tid, 0, float(track.output_meter_left))) 795 else: 796 self.oscServer.sendOSC('/live/return/meter', (tid, 1, float(track.output_meter_right))) 797 else: 798 if self.check_md(4): 799 if lr == 0: 800 self.oscServer.sendOSC('/live/track/meter', (tid, 0, float(track.output_meter_left))) 801 else: 802 self.oscServer.sendOSC('/live/track/meter', (tid, 1, float(track.output_meter_right))) 803 804 def check_md(self, param): 805 devices = self.song().master_track.devices 806 807 if len(devices) > 0: 808 if devices[0].parameters[param].value > 0: 809 return 1 774 810 else: 775 self.oscServer.sendOSC('/live/master/meter', (1, float(track.output_meter_right))) 776 elif r == 1: 777 if lr == 0: 778 self.oscServer.sendOSC('/live/return/meter', (tid, 0, float(track.output_meter_left))) 779 else: 780 self.oscServer.sendOSC('/live/return/meter', (tid, 1, float(track.output_meter_right))) 811 return 0 781 812 else: 782 if lr == 0: 783 self.oscServer.sendOSC('/live/track/meter', (tid, 0, float(track.output_meter_left))) 784 else: 785 self.oscServer.sendOSC('/live/track/meter', (tid, 1, float(track.output_meter_right))) 786 813 return 0 814 787 815 # Device Listeners 788 816 def add_device_listeners(self): -
trunk/LiveOSC/OSCAPI.txt
r67 r68 160 160 without the need for a polling call 161 161 162 /live/play (2 = playing, 1 = stopped) 163 162 164 /live/track/info 163 165 /live/clip/info -
trunk/osc_tester.pd
r23 r68 1 #N canvas 768 22 4 87 41910;1 #N canvas 768 22 499 526 10; 2 2 #X declare -lib mrpeach/unpackOSC; 3 3 #X declare -lib mrpeach/udpreceive; … … 18 18 #X obj 308 214 routeOSC /live; 19 19 #X obj 308 245 routeOSC /tempo; 20 #X obj 192 97 print;21 20 #X obj 27 131 loadbang; 22 21 #X msg 165 226 /live/return/device 0 0; 22 #X obj 97 302 slider 127 0 15; 23 #X obj 266 342 routeOSC /track; 24 #X obj 213 390 routeOSC /meter; 25 #X obj 63 472 route; 26 #X obj 312 450 demux 1 2 3 4 5; 27 #X floatatom 280 491 5 0 0 0 - - -; 28 #X floatatom 160 494 5 0 0 0 - - -; 29 #X floatatom 168 324 5 0 0 0 - - -; 30 #X obj 169 302 * 100; 31 #X obj 189 461 unpack 0 0 0; 32 #X obj 356 411 swap; 33 #X obj 57 302 slider 127 0 15; 34 #X floatatom 115 276 5 0 0 0 - - -; 35 #X obj 116 254 * 100; 23 36 #X connect 5 0 6 0; 24 37 #X connect 7 0 6 0; 25 38 #X connect 8 0 11 0; 26 #X connect 8 0 13 0;27 39 #X connect 9 0 8 0; 28 40 #X connect 11 0 12 0; 41 #X connect 11 0 16 0; 29 42 #X connect 12 0 10 0; 30 #X connect 14 0 5 0; 31 #X connect 15 0 7 0; 43 #X connect 13 0 5 0; 44 #X connect 14 0 7 0; 45 #X connect 16 0 17 0; 46 #X connect 17 0 24 0; 47 #X connect 19 1 28 0; 48 #X connect 19 2 23 0; 49 #X connect 22 0 15 0; 50 #X connect 23 0 22 0; 51 #X connect 24 0 21 0; 52 #X connect 24 0 25 0; 53 #X connect 24 2 25 1; 54 #X connect 25 0 19 0; 55 #X connect 25 1 19 1; 56 #X connect 27 0 26 0; 57 #X connect 28 0 27 0;
Note: See TracChangeset
for help on using the changeset viewer.
