<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jasonmcdermott &#187; sketches</title>
	<atom:link href="http://www.jasonmcdermott.net/tag/sketches/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jasonmcdermott.net</link>
	<description>Design, design, design.</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:07:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>animation</title>
		<link>http://www.jasonmcdermott.net/2010/04/animation/</link>
		<comments>http://www.jasonmcdermott.net/2010/04/animation/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 02:34:25 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[processingjs]]></category>
		<category><![CDATA[sketches]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=931</guid>
		<description><![CDATA[Here&#8217;s another mini sketch, using the tester from the wordpress processingjs plugin. Bear with me, folks..Source Code]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another mini sketch, using the tester from the wordpress processingjs plugin.  Bear with me, folks..<a onclick="javascript: pageTracker._trackPageview('/downloads/source'); " href="http://dl.dropbox.com/u/3801794/animation.pde">Source Code</a><script type="application/processing">// <![CDATA[
float Xgrid = 26;float Ygrid;float Cols, Rows;float Size;int W, H;boolean online;void setup() {if (online == false) {W = 800;H = 300;}else {W = 600;H = 200;}size(W,H);Ygrid = Xgrid / (W/H);smooth();frameRate(30);Size = 40;background(0);Cols = W / Xgrid;Rows = H / Ygrid;}void draw() {background(0);for (int i=int(Cols);i > 0;i--) {for (int j = int(Rows); j > 0 ; j--) {float x = i * Cols;float y = j * Rows;strokeWeight(2);stroke(255);point(x,y);}}Size += random(-1,1);fill(255);ellipse(200, H/2, Size,Size);}
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2010/04/animation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>processingjs</title>
		<link>http://www.jasonmcdermott.net/2010/04/processingjs/</link>
		<comments>http://www.jasonmcdermott.net/2010/04/processingjs/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 03:02:16 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[processingjs]]></category>
		<category><![CDATA[sketches]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=917</guid>
		<description><![CDATA[Here is the latest in a small series of tests, embedding processing sketches on this blog. This one uses the wonders of processingjs, John Resig&#8217;s fantastic port of processing to]]></description>
			<content:encoded><![CDATA[<p>Here is the latest in a small series of <a href="http://jasonmcdermott.net/tag/sketches">tests</a>, embedding processing sketches on this blog.  This one uses the wonders of <a href="http://processingjs.org">processingjs</a>, John Resig&#8217;s fantastic port of processing to javascript.  This animation is nicked directly from the processingjs website, so please don&#8217;t hold that against me.  Some oddities notices so far &#8211; I can&#8217;t seem to work out how to include text in processingjs sketches,  apparently there&#8217;s some kind of glyph-y magic which helps &#8211; and the mouse interaction seems broken. Hmm..<script type="application/processing">// <![CDATA[
/*PROCESSINGJS.COM HEADER ANIMATIONMIT License - F1lT3R/Hyper-MetrixNative Processing Compatible*/// Set number of circlesint count = 20;// Set maximum and minimum circle sizeint maxSize = 100;int minSize = 20;// Build float array to store circle propertiesfloat[][] e = new float[count][5];// Set size of dot in circle centerfloat ds=2;// Selected mode switchint sel = 0;// Set drag switch to falseboolean dragging=false;// If use drags mouse...void mouseDragged() {// Set drag switch to truedragging=true;}// If user releases mouse...void mouseReleased() {// ..user is no-longer draggingdragging=false;}int W,H, timed;boolean online;void setup() {// this is one of the more useful pieces of code i've used to date// firstly we check if we're offlineif (online == false) {// if so, we know we're in a processing window// so we set our height/width variables accordinglyW = 800;H = 300;}// if online is true, we know we're in a browser window// so we make the sketch smaller// this way I can sketch out the same sketch but with dynamic size propertieselse {W = 600;H = 200;}size(W,H);smooth();frameRate(30);// Stroke/line/border thicknessstrokeWeight(1);// Initiate array with random values for circlesfor(int j=0;j< count;j++) {e[j][0]=random(width); // Xe[j][1]=random(height); // Ye[j][2]=random(minSize,maxSize); // Radiuse[j][3]=random(-.5,.5); // X Speede[j][4]=random(-.5,.5); // Y Speed}}// Begin main draw loop (called 25 times per second)void draw() {// Fill background blackbackground(0);// Begin looping through circle arrayfor (int j=0;j< count;j++) {// Disable shape stroke/bordernoStroke();// Cache diameter and radius of current circlefloat radi=e[j][2];float diam=radi/2;// If the cursor is within 2x the radius of current circle...if( dist(e[j][0],e[j][1],mouseX,mouseY) < radi ) {// Change fill color to green.fill(64,187,128,100);// Remember user has circle "selected"sel=1;// If user has mouse down and is moving...if(dragging) {// Move circle to circle positione[j][0]=mouseX;e[j][1]=mouseY;}}else {// Keep fill color bluefill(64,128,187,100);// User has nothing "selected"sel=0;}// Draw circleellipse(e[j][0],e[j][1],radi,radi);// Move circlee[j][0]+=e[j][3];e[j][1]+=e[j][4];/* Wrap edges of canvas so circles leave the topand re-enter the bottom, etc... */if( e[j][0] < -diam ) {e[j][0] = width+diam;}if( e[j][0] > width+diam ) {e[j][0] = -diam;}if( e[j][1] < 0-diam ) {e[j][1] = height+diam;}if( e[j][1] > height+diam) {e[j][1] = -diam;}// If current circle is selected...if(sel==1) {// Set fill color of center dot to white..fill(255,255,255,255);// ..and set stroke color of line to green.stroke(128,255,0,100);}else {// otherwise set center dot color to black..fill(0,0,0,255);// and set line color to turquoise.stroke(64,128,128,255);}// Loop through all circlesfor(int k=0;k< count;k++) {// If the circles are close...if( dist(e[j][0],e[j][1],e[k][0],e[k][1]) < radi) {// Stroke a line from current circle to adjacent circleline(e[j][0],e[j][1],e[k][0],e[k][1]);}}// Turn off stroke/bordernoStroke();// Draw dot in center of circlerect(e[j][0]-ds,e[j][1]-ds,ds*2,ds*2);}timed++;if (timed > 1000) {noLoop();}}
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2010/04/processingjs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>processing.js</title>
		<link>http://www.jasonmcdermott.net/2009/08/processing-js/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/processing-js/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 09:43:07 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[processingjs]]></category>
		<category><![CDATA[sketches]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=600</guid>
		<description><![CDATA[This is a quick test of HasCanvas for publishing processing sketches in a web browser.  HasCanvas is built on the very nifty processing.js platform, which means publishing processing sketches is]]></description>
			<content:encoded><![CDATA[<p>This is a quick test of <a href="http://hascanvas.com" target="_blank">HasCanvas</a> for publishing processing sketches in a web browser.  HasCanvas is built on the very nifty <a href="http://processingjs.org" target="_blank">processing.js</a> platform, which means publishing processing sketches is about as easy as clicking 1 + 2 + 3.see for yourself;<iframe src="http://hascanvas.com/poltocar/embed" frameborder="0" scrolling="no" style="width:440px;height:200px;" class="alignright size-medium"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/processing-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>simple metro</title>
		<link>http://www.jasonmcdermott.net/2009/08/simple-metro/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/simple-metro/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 05:00:23 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=582</guid>
		<description><![CDATA[For students in the 11217 introduction to construction class;Here is an example of a simple metronome counter which moves a line up and down a sketch window over a period of time.  You should be able to follow the comments included to see how you might plug your sensors and motors into this sketch to easily arrange for your motors to move a) automatically left/right over a period of time and b) increasing in intensity based on a reading from your slider/light/proximity sensors.]]></description>
			<content:encoded><![CDATA[<p>For students in the 11217 introduction to construction class;Here is an example of a simple metronome counter which moves a line up and down a sketch window over a period of time.  You should be able to follow the comments included to see how you might plug your sensors and motors into this sketch to easily arrange for your motors to move a) automatically left/right over a period of time and b) increasing in intensity based on a reading from your slider/light/proximity sensors.For the purposes of instruction and demonstration, i&#8217;ve connected the line movement to simple mouse input &#8211; move the mouse left/right to influence up/down motion &#8211; so you can see how your sensors might influence pre-programmed movement.Give <a href="http://dl.dropbox.com/u/3801794/circleSize.pde">this sketch</a> a try&#8230;<span id="more-582"></span>Give it a try, it should help in automating your systems, note also that this will mainly work with the simple motors we&#8217;ve given you (that cannot move through more than 360 degrees), not continuous movement motors.[UPDATE] this is the same sketch, <del datetime="2010-08-12T15:01:33+00:00">embedded using the superb combination of hascanvas + processingjs</del> using processingjs.  Move your mouse left and right over the sketch window to modify the metronome speed of the line.<script type="application/processing">float speed = 5.0;float step = 0.5;float direction = 1.0;float value = 0.0; // you should connect this to your motor (eg sp.setPosition(0,value))float drawLine; // this just draws the value to screen as a horizontal linevoid setup() {frameRate(24);  // change this to a lower amount to slow things downsize(200,250);}void draw() {background(255); //clear what was drawn the frame beforespeed = map(mouseX,0,width,0.1,25.0);  // change this to allow your slider to control the line!if (value > 232.0) {direction = direction * -1.0; //move back down when you reach the top}if (value < -22.9) {direction = direction * -1.0; //move back up when you reach the bottom}value = value+(step*speed*direction);drawLine = map(value,-22.9,232.0,0,height); // map the value to the range available in your windowline(0,drawLine,width,drawLine); // draw a line}</script></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/simple-metro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phidget Interface Kit + Processing</title>
		<link>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 06:51:52 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sensing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=571</guid>
		<description><![CDATA[Here's a simple example for connecting a PhidgetInterfaceKit 8/8/8 to a computer, using Processing.<img src="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Picture-7.jpg" alt="Picture 7" title="Picture 7" width="268" height="166"  />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a simple example for connecting a PhidgetInterfaceKit 8/8/8 to a computer, using Processing.</p>
<p>You will need to download the phidget21.jar package from the phidgets website, find it in the &#8216;Programming&#8217; section in the java examples section.  Once downloaded, just use Sketch&gt;Add File&#8230; to add the file to your sketch.  Connect via USB and you&#8217;re ready to go.  I&#8217;ve labelled variables based on the sensors I was using, feel free to reassign and use as you will;&#8230;<span id="more-571"></span></p>
<p>&nbsp;</p>
<p><code></p>
<pre lang="”java”">import com.phidgets.*;</pre>
<pre lang="”java”">import com.phidgets.event.*;</pre>
<pre lang="”java”">InterfaceKitPhidget ik;// swap these labels for the actual sensors you have</pre>
<pre lang="”java”">float mot;</pre>
<pre lang="”java”">float temp;</pre>
<pre lang="”java”">float hum;</pre>
<pre lang="”java”">float light;</pre>
<pre lang="”java”">int xPos;</pre>
<pre lang="”java”">void setup(){</pre>
<pre lang="”java”">size(400,300);</pre>
<pre lang="”java”">setupIK();</pre>
<pre lang="”java”">smooth();</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">void draw(){</pre>
<pre lang="”java”">// the main interfaces for data input /</pre>
<pre lang="”java”">outputreadIK();</pre>
<pre lang="”java”">// clear the previous frame,</pre>
<pre lang="”java”">// draw a new background of greyscale value 200</pre>
<pre lang="”java”">background(200);</pre>
<pre lang="”java”">// draw the sensor input</pre>
<pre lang="”java”">datamot = map (mot,0,1000,0,height);</pre>
<pre lang="”java”">fill(255,0,0);</pre>
<pre lang="”java”">noStroke();</pre>
<pre lang="”java”">ellipse(xPos,(height-mot),10,10);</pre>
<pre lang="”java”">// this controls the graph position onscreen,</pre>
<pre lang="”java”">// it animates the graph and refreshes to the 0 position</pre>
<pre lang="”java”">// when the graph goes offscreen</pre>
<pre lang="”java”">if (xPos &gt;= width){xPos = 0;}else {xPos++;}}</pre>
<pre lang="”java”">void setupIK() {</pre>
<pre lang="”java”">try{</pre>
<pre lang="”java”">ik = new InterfaceKitPhidget();</pre>
<pre lang="”java”">ik.openAny();</pre>
<pre lang="”java”">println("Waiting for Phidget");</pre>
<pre lang="”java”">ik.waitForAttachment();</pre>
<pre lang="”java”">println("OK ready to go");</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">catch(Exception e){println("ERROR");</pre>
<pre lang="”java”">System.out.println(e);}</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">void readIK(){try{</pre>
<pre lang="”java”">// the ports are considered an array, with 8 ports in total</pre>
<pre lang="”java”">// the first port is array number 1, but it is addressed as port 0</pre>
<pre lang="”java”">// since it is 0 elements away from the start of the array.</pre>
<pre lang="”java”">// make sure your 'motion' sensor is located at sensor port 1 (number 0)</pre>
<pre lang="”java”">// and your 'light' sensor is at sensor port 2 (number 1)</pre>
<pre lang="”java”">mot = (float)ik.getSensorValue(1);//</pre>
<pre lang="”java”">light = (float)ik.getSensorValue(1);//</pre>
<pre lang="”java”">hum = (float)ik.getSensorValue(2);//</pre>
<pre lang="”java”">temp = (float)ik.getSensorValue(3);}</pre>
<pre lang="”java”">catch (Exception e){println(e.toString());}</pre>
<pre lang="”java”">}</pre>
<p></code></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phidget Servo motor output via Processing</title>
		<link>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 12:04:14 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sensing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=553</guid>
		<description><![CDATA[<img src="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Picture-8.jpg" alt="Picture 8" title="Picture 8" width="247" height="201"  />I'm currently preparing for a short piece of processing tutoring in the Bachelor of Architecture course, commencing tomorrow.  The course is a 1st year construction subject, in which the year group is designing modular structures from found objects (read; whatever they can find in large amounts at Reverse Garbage), with a  12-15 unsuspecting students are going to be shown the slippery slope that is processing, all in the aim of augmenting small construction projects with responsive elements.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently preparing for a short piece of processing tutoring in the Bachelor of Architecture course, commencing tomorrow.  The course is a 1st year construction subject, in which the year group is designing modular structures from found objects (read; whatever they can find in large amounts at Reverse Garbage), with a  12-15 unsuspecting students are going to be shown the slippery slope that is processing, all in the aim of augmenting small construction projects with responsive elements.I&#8217;ve used the standard phidget servo motors with max/msp before, but I&#8217;ve decided to switch focus to processing so such solutions will no longer suffice.  There are some benefits to not using max/msp in the university context;</p>
<ul>
<li>Runtime &#8211; i can&#8217;t count the number of times we&#8217;ve built test prototypes and final projects only to see them fall over due to the small number of licences we&#8217;ve access to on campus.  The runtime solution is acceptible for last minute, last chance, last straw moments but it&#8217;s just not good enough for day to day use or experimentation.</li>
<li>The extraordinary cost of licensing &#8211; the licences bought by the university come at a ridiculous cost, not to mention the <em>involved</em> installation process.  Processing by comparison is such a simple install &#8211; for both the core components and the additional libraries.</li>
<li>Extensibility &#8211; max/msp additional objects are always a welcome addition to the program, however the objects themselves tend to be closed off, limited in how much they reveal of their inner workings and can be fairly slow.</li>
</ul>
<p>To this end I&#8217;ve enjoyed the processing learning curve, there&#8217;s been more than enough learning resources available online and in book form, so I&#8217;m definitely pushing for its&#8217; inclusion in the syllabus in the arch. faculty.  Anthony Burke has been teaching processing in the master of architecture course this semester (with assistance from the computation whiz-kid Ben Coorey), so along with the arduino hardware the transition from proprietary to open-source projects is well under way in the DAB.So to proceed with the real agenda of this post, I was searching for simple code to interface with the PhidgetServo motor output units we&#8217;ve been using, this time working in processing.  I couldn&#8217;t find any decent examples online so had to cobble together one myself.Read on for more;&#8230;<span id="more-553"></span></p>
<p>&nbsp;<br />
<code></p>
<pre lang="”java”">
import com.phidgets.*;import com.phidgets.event.*;
// Declare Variables - a ServoPhidget object called 'sp',
// a Double called 'pos' and an integer called 'xPos'ServoPhidget sp;
// Declare the servophidgetdouble pos;
// this is a type of number, which can store more decimal
// place values than the standard floating point value,
// check the referennce pageint xPos;
// Set size, video framerate, connect to and open phidget object
void setup(){
frameRate(20);
size(400,300);
try{
// Create &amp; Assign the servophidget
sp = new ServoPhidget();
sp.openAny();
println("Waiting for Phidget");
sp.waitForAttachment();
// if you do not see this below in the console,
your phidget is not connected
println("OK ready to go");
} catch(Exception e){
println("ERROR");
System.out.println(e);
}
}
void draw(){
background(200);
// map the mouse x coordinate to the
// available range of the servophidget
pos = map(mouseX,0,width,-22.9,232.0);
// read the data from the phidget
try{
sp.setPosition(0,pos);
sp.getPositionMax(0);
// checking the max and min values for the servophidget
double helloMax = sp.getPositionMax(0);
double helloMin = sp.getPositionMin(0);
// print a line to the console to display the data as it arrives
println("min is: " + helloMin + ", max is: " + helloMax + ", current position is: " + pos);
} catch(Exception e) {
println("ERROR");
System.out.println(e);
}
// the double variable is not used in processing,
// but is needed to send to the servophidget.
// to display this data as a graph onscreen you need
// to convert it to a floating point number
float fPos = (float)pos;
fPos = map(fPos,-22.9,232.0,0,height);
stroke(0);
//  line(xPos,0,xPos,height-fPos);
// Un-comment out the line above to draw a vertical graph of the motor
stroke(50);
line(mouseX,0,mouseX,height);
// this controls the graph position onscreen,
// it animates the graph and refreshes to the 0 position
// when the graph goes offscreen
if (xPos &gt;= width){xPos = 0;}else {xPos++;}
}
</pre>
<p><span style="text-decoration: line-through;">note this requires the phidget21.jar core library file, which is included on the <a href="http://www.phidgets.com/programming_resources.php" target="_blank">phidgets programming download page</a>, just look for the Java examples download.</span>[Update] Download the phidget jar archive <a href="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Phidget21.jar">here</a>.When downloaded, copy+paste the above code into a new sketch, then select Sketch&gt;Add File... to add the phidget21.jar file to your sketch.  After that, plug in the phidget servo + a motor and you're ready to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>maxmsp to processing</title>
		<link>http://www.jasonmcdermott.net/2008/11/maxmsp-to-processing/</link>
		<comments>http://www.jasonmcdermott.net/2008/11/maxmsp-to-processing/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 03:15:01 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[maxmsp]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sketches]]></category>

		<guid isPermaLink="false">http://jasonmcdermott.net/?p=2010</guid>
		<description><![CDATA[====== Maxmsp to Processing ====== Below is the first effort at sending Max/MSP data to a Processing sketch for output. The MaxLink object has made the task *almost* as simple]]></description>
			<content:encoded><![CDATA[<p>====== Maxmsp to Processing ======</p>
<p>Below is the first effort at sending Max/MSP data to a Processing sketch for output.  The <a href="http://jklabs.net/maxlink">MaxLink object</a> has made the task *almost* as simple as using the jit.lcd object internally in Max.  Clearly the data needs to be massaged into a managable, or otherwise different form but this looks to be much simpler than initially feared.</p>
<p>I will be experimenting with the other sketches and patches packaged with the free object lib generously provided by the guys at <a href="http://jklabs.net">jklabs</a>, so there will be plenty more to come.</p>
<p>Also of note;<br />
The image below links to screencast-o-matic, a free web service which will create an exportable, taggable, uploadable desktop screen grab from within firefox!  no download or installation is required, simply select the size and away you go.  I&#8217;ve exported the screencast as a .mov, but the link seemed more in keeping with the logic of the app.  Enjoy!</p>
<p><html><br />
<iframe width=504 height=424 frameborder="0" scrolling="no" src="http://www.screencast-o-matic.com/embed?sc=cjXhnlnDu&#038;w=500&#038;np=0&#038;v=2"></iframe><br />
</html></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2008/11/maxmsp-to-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

