# HG changeset patch # User Becky Stewart # Date 1297966131 0 # Node ID a5504f7d14872b484e2226fbe050bbea635b2cb2 # Parent 70dc114870788b8975f4996317078edf24231faa# Parent dae2a0d963d5acc64083e18d173b62dc7a5df6a1 Merge diff -r 70dc11487078 -r a5504f7d1487 Ableton Project/Ableton.als Binary file Ableton Project/Ableton.als has changed diff -r 70dc11487078 -r a5504f7d1487 Ableton Project/osc_input.amxd Binary file Ableton Project/osc_input.amxd has changed diff -r 70dc11487078 -r a5504f7d1487 Abletons max connection.maxpat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Abletons max connection.maxpat Thu Feb 17 18:08:51 2011 +0000 @@ -0,0 +1,619 @@ +{ + "patcher" : { + "fileversion" : 1, + "rect" : [ 204.0, 44.0, 988.0, 691.0 ], + "bglocked" : 0, + "defrect" : [ 204.0, 44.0, 988.0, 691.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "udpsend localhost 12344", + "id" : "obj-32", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 0, + "patching_rect" : [ 747.0, 573.0, 144.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /person", + "id" : "obj-31", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 736.0, 533.0, 98.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pak i f f f", + "id" : "obj-30", + "fontname" : "Arial", + "numinlets" : 4, + "fontsize" : 12.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 728.0, 454.0, 59.5, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "id" : "obj-29", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 866.0, 403.0, 80.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "id" : "obj-27", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 794.0, 403.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "id" : "obj-25", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "patching_rect" : [ 723.0, 399.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "number", + "id" : "obj-23", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ], + "patching_rect" : [ 653.0, 403.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "button", + "id" : "obj-21", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 175.0, 322.0, 20.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "button", + "id" : "obj-19", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patching_rect" : [ 385.0, 319.0, 20.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "flush", + "id" : "obj-17", + "fontname" : "Arial", + "numinlets" : 2, + "fontsize" : 12.0, + "numoutlets" : 2, + "outlettype" : [ "int", "int" ], + "patching_rect" : [ 313.0, 356.0, 36.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/chord", + "id" : "obj-16", + "fontname" : "Arial", + "numinlets" : 2, + "fontsize" : 12.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 358.0, 433.0, 44.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "udpsend 169.254.5.9 12345", + "id" : "obj-10", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 0, + "patching_rect" : [ 353.0, 538.0, 160.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/pitch_vel_chan \"82 127 2\"", + "linecount" : 4, + "id" : "obj-9", + "fontname" : "Arial", + "numinlets" : 2, + "fontsize" : 12.0, + "presentation_rect" : [ 200.0, 127.0, 0.0, 0.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 222.0, 86.0, 50.0, 60.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0 0 0", + "id" : "obj-7", + "fontname" : "Arial", + "numinlets" : 1, + "fontsize" : 12.0, + "numoutlets" : 3, + "outlettype" : [ "int", "int", "int" ], + "patching_rect" : [ 306.0, 272.0, 79.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "82 127 2", + "linecount" : 2, + "id" : "obj-6", + "fontname" : "Arial", + "numinlets" : 2, + "fontsize" : 12.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 403.0, 253.0, 50.0, 32.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "ctlout a", + "id" : "obj-2", + "fontname" : "Arial", + "numinlets" : 3, + "fontsize" : 12.0, + "numoutlets" : 0, + "patching_rect" : [ 569.0, 243.0, 49.0, 20.0 ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "OSC input is routed to instruments 1-3.", + "linecount" : 2, + "id" : "obj-54", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 16.935125, + "numoutlets" : 0, + "patching_rect" : [ 433.0, 31.91593, 176.0, 45.0 ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "value, CC number, channel", + "id" : "obj-43", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 8.046342, + "numoutlets" : 0, + "patching_rect" : [ 613.0, 160.0, 117.0, 16.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "zl rev", + "id" : "obj-39", + "fontname" : "Arial Bold", + "numinlets" : 2, + "fontsize" : 10.0, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 569.0, 157.0, 36.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Route MIDI data from Joe to the three instruments.", + "linecount" : 5, + "id" : "obj-35", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 0, + "patching_rect" : [ 228.0, 293.0, 71.0, 64.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "fromsymbol", + "id" : "obj-15", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 306.0, 218.0, 68.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print unhandled_osc", + "id" : "obj-14", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 0, + "patching_rect" : [ 400.0, 157.0, 109.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "From tim's Grid mapping.\nIn form: channel, CC number, value", + "linecount" : 2, + "id" : "obj-13", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 8.381793, + "numoutlets" : 0, + "patching_rect" : [ 577.0, 100.959999, 152.0, 26.0 ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "From Joe as one big string", + "id" : "obj-11", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 7.352522, + "numoutlets" : 0, + "patching_rect" : [ 322.0, 116.231461, 105.0, 15.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route /cc", + "id" : "obj-8", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 569.0, 133.0, 52.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route /pitch_vel_chan", + "id" : "obj-5", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 306.0, 133.0, 113.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "udpreceive 12346", + "id" : "obj-3", + "fontname" : "Arial Bold", + "numinlets" : 1, + "fontsize" : 10.0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 304.0, 42.0, 94.0, 18.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "noteout a", + "id" : "obj-1", + "fontname" : "Arial", + "numinlets" : 3, + "fontsize" : 12.0, + "numoutlets" : 0, + "patching_rect" : [ 306.0, 404.0, 61.0, 20.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-30", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-30", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-30", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-30", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-31", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-32", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 1 ], + "destination" : [ "obj-1", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-16", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 1 ], + "destination" : [ "obj-17", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-10", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-9", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 2 ], + "destination" : [ "obj-1", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-6", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-39", 0 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-39", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-5", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 1 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } + +} diff -r 70dc11487078 -r a5504f7d1487 of/frabk.ttf Binary file of/frabk.ttf has changed diff -r 70dc11487078 -r a5504f7d1487 of/testApp.cpp --- a/of/testApp.cpp Thu Feb 17 18:08:19 2011 +0000 +++ b/of/testApp.cpp Thu Feb 17 18:08:51 2011 +0000 @@ -20,9 +20,6 @@ ofBackground(238,238,224); ofEnableAlphaBlending(); ofSetLineWidth(12); - -franklinBook.loadFont("frabk.ttf", 32); - } //-------------------------------------------------------------- @@ -32,22 +29,6 @@ // update the open ni context and user tracker context.update(); user.update(); - -} - - -void testApp::getCoordinates(ofxTrackedUser* tracked, int userID){ - //tracked = user.getTrackedUser(i); - - head[userID][0] = tracked->neck.begin.x; - head[userID][1] = tracked->neck.begin.y; - head[userID][2] = tracked->neck.begin.z; - - ofSetColor(0x00FF00); - outputString = "HeadX : "; - outputString += ofToString(head[0][0]); - franklinBook.drawString(outputString, 100,600); - } //-------------------------------------------------------------- @@ -70,60 +51,30 @@ for(int i = 0; i < user.getNumTrackedUsers(); ++i) { ofxTrackedUser* tracked = user.getTrackedUser(i); if(tracked != NULL) { - - //getCoordinates(tracked, i); - //andrews code - int userID = i; - - if (userID < 6){ - - head[userID][0] = tracked->neck.begin.x; - head[userID][1] = tracked->neck.begin.y; - head[userID][2] = tracked->neck.begin.z; - - ofSetColor(0x000000); - outputString = "HeadX : "; - outputString += ofToString(head[userID][0]); - outputString += " HeadY : "; - outputString += ofToString(head[userID][1]); - outputString += " HeadZ : "; - outputString += ofToString(head[userID][2]); - - //outputString += ofToString(head[0][0]); - franklinBook.drawString(outputString, 100,600+userID*40); - - } - - //end andrew - info << i << " neck pos: " << tracked->left_lower_arm.end.x << " " << tracked->left_lower_arm.end.y << " " << tracked->neck.begin.z << endl; - if (tracked->neck.begin.x != 0) +if (tracked->neck.begin.x != 0) - ofSetColor(139,0,0,100); - ofNoFill(); - float w = ofGetWidth(); - float h = ofGetHeight(); - - ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->left_lower_arm.begin.x,tracked->left_lower_arm.begin.y,tracked->left_lower_arm.end.x,/*tracked->left_lower_arm.end.y*/ w); - ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->right_lower_arm.begin.x,tracked->right_lower_arm.begin.y,tracked->right_lower_arm.end.x,/*tracked->right_lower_arm.end.y*/ w); - ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->left_lower_leg.begin.x,tracked->left_lower_leg.begin.y,tracked->left_lower_leg.end.x,/*tracked->left_lower_leg.end.y*/ h); - ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->right_lower_leg.begin.x,tracked->right_lower_leg.begin.y,tracked->right_lower_leg.end.x,/*tracked->right_lower_leg.end.y*/ h); - - - ofFill(); - ofSetColor(255,255,100); - ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30); - ofSetColor(0); - ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,35); - ofSetColor(255,255,100); - ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30); - ofSetColor(0); - ofCircle(tracked->neck.begin.x+10.0f,tracked->neck.begin.y,6); - ofCircle(tracked->neck.begin.x-10.0f,tracked->neck.begin.y,6); - +ofSetColor(139,0,0,100); + ofNoFill(); + float w = ofGetWidth(); + float h = ofGetHeight(); +ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->left_lower_arm.begin.x,tracked->left_lower_arm.begin.y,tracked->left_lower_arm.end.x,/*tracked->left_lower_arm.end.y*/ w); +ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->right_lower_arm.begin.x,tracked->right_lower_arm.begin.y,tracked->right_lower_arm.end.x,/*tracked->right_lower_arm.end.y*/ w); +ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->left_lower_leg.begin.x,tracked->left_lower_leg.begin.y,tracked->left_lower_leg.end.x,/*tracked->left_lower_leg.end.y*/ h); +ofBezier(tracked->neck.begin.x,tracked->neck.begin.y,tracked->neck.end.x,tracked->neck.end.y,tracked->right_lower_leg.begin.x,tracked->right_lower_leg.begin.y,tracked->right_lower_leg.end.x,/*tracked->right_lower_leg.end.y*/ h); +ofFill(); +ofSetColor(255,255,100); + ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30); +ofSetColor(0); +ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,35); +ofSetColor(255,255,100); + ofCircle(tracked->neck.begin.x,tracked->neck.begin.y,30); + ofSetColor(0); +ofCircle(tracked->neck.begin.x+10.0f,tracked->neck.begin.y,6); +ofCircle(tracked->neck.begin.x-10.0f,tracked->neck.begin.y,6); } } ofFill(); diff -r 70dc11487078 -r a5504f7d1487 of/testApp.h --- a/of/testApp.h Thu Feb 17 18:08:19 2011 +0000 +++ b/of/testApp.h Thu Feb 17 18:08:51 2011 +0000 @@ -14,8 +14,6 @@ void update(); void draw(); - void getCoordinates(ofxTrackedUser* tracked, int userID); - void keyPressed (int key); void keyReleased(int key); void mouseMoved(int x, int y ); @@ -29,14 +27,6 @@ ofxImageGenerator image; //ofImage Davy; bool drawIt; - - int head[6][3];//x,y,and z of the head - - ofTrueTypeFont franklinBook; - string outputString; }; - - - #endif diff -r 70dc11487078 -r a5504f7d1487 tim_grid_mapper/grid_mapper.py --- a/tim_grid_mapper/grid_mapper.py Thu Feb 17 18:08:19 2011 +0000 +++ b/tim_grid_mapper/grid_mapper.py Thu Feb 17 18:08:51 2011 +0000 @@ -17,8 +17,8 @@ #### OSC OPTIONS - THESE NEED TO BE SET MANUALLY #### my_port = 12344 # to receive OSC messages -joe = ('localhost', "THIS_MUST_BE_SET") -ableton = ('localhost', "THIS_MUST_BE_SET") +joe = ('localhost', 12345) +ableton = ('localhost', 12346) ### Constants for grid mapping: # The range of values that the input coordinates and output values may take: @@ -30,6 +30,7 @@ 'pitch' : 0, 'cc1' : 0, 'cc2' : 0, + 'velocity' : 0, } MAX = { 'x' : 1., @@ -38,6 +39,7 @@ 'pitch' : 15, 'cc1' : 127, 'cc2' : 127, + 'velocity' : 127, } @@ -64,7 +66,7 @@ def send_to_joe(data, address='/test'): '''Sends `data` to Joe directly as an OSC message. ''' - message = OSCMesssage(address) + message = OSCMessage(address) message.extend(data) client.sendto(message, joe) print_d('==OSC Output to Joe %s:==\n %s' % (joe, data)) @@ -79,10 +81,10 @@ send_to_joe([ 'Turn off note %i on channel %i' % (pitch, channel), # first string is ignored - pitch, # pitch to turn off + int(pitch), # pitch to turn off 0, # 0 to turn note off 127, # doesn't matter for note-off (but never send 0) - channel, + int(channel), ]) @@ -91,7 +93,8 @@ `data` should be in form [person_id, x, y, z] ''' - pitch, velocity, channel, cc1, cc2 = grid_map(data) + pitch, velocity, channel, cc1, cc2 = grid_map(*data) + ## Format data for Joe - done using Specification.txt on 2011-02-15 @@ -109,10 +112,10 @@ send_to_joe([ 'Turn on note %i on channel %i' % (pitch, channel), # first value is string which is ignored - pitch, + int(pitch), 1, # 1 to turn note on - velocity, - channel + int(velocity), + int(channel) ])