<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Processing Meets Max, Max for Live</title>
	<atom:link href="http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/feed/" rel="self" type="application/rss+xml" />
	<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/</link>
	<description>The home for visualists</description>
	<lastBuildDate>Thu, 09 Feb 2012 19:43:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
	<item>
		<title>By: bilderbuchi</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7498</link>
		<dc:creator>bilderbuchi</dc:creator>
		<pubDate>Wed, 09 Dec 2009 06:02:37 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7498</guid>
		<description>having a FFGL plugin for processing (or other stuff like vvvv or puredata) would be great! 
	imagine being able to use, e.g. resolume avenue with a source plugin playing all your generative goodness along with video files! </description>
		<content:encoded><![CDATA[<p>having a FFGL plugin for processing (or other stuff like vvvv or puredata) would be great!<br />
	imagine being able to use, e.g. resolume avenue with a source plugin playing all your generative goodness along with video files!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Kirn</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7486</link>
		<dc:creator>Peter Kirn</dc:creator>
		<pubDate>Tue, 08 Dec 2009 08:52:54 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7486</guid>
		<description>Yeah, absolutely - I think this is important news or I wouldn&#039;t have posted it. 
 
	I think people will naturally have a different take on this coming from the Max angle than from the Processing angle, as well. For Processing&#039;s part, I think a number of these problems are solvable within Processing and Java, so I&#039;ll put my money where my mouth is and as I&#039;m doing more with it, see if I can&#039;t share the framework I&#039;m building in a way it may be reusable to others. 
 
	The one big deficiency in Processing I see remains audio and signal processing, but there I think the most practical solution will be to continue finding ways to embed open source audio in Processing. That&#039;s not any philosophical statement about open source versus proprietary, either - it would mean that you could integrate it with the Processing build environment, which is a practical consideration. </description>
		<content:encoded><![CDATA[<p>Yeah, absolutely &#8211; I think this is important news or I wouldn&#039;t have posted it. </p>
<p>	I think people will naturally have a different take on this coming from the Max angle than from the Processing angle, as well. For Processing&#039;s part, I think a number of these problems are solvable within Processing and Java, so I&#039;ll put my money where my mouth is and as I&#039;m doing more with it, see if I can&#039;t share the framework I&#039;m building in a way it may be reusable to others. </p>
<p>	The one big deficiency in Processing I see remains audio and signal processing, but there I think the most practical solution will be to continue finding ways to embed open source audio in Processing. That&#039;s not any philosophical statement about open source versus proprietary, either &#8211; it would mean that you could integrate it with the Processing build environment, which is a practical consideration.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: onar3d</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7484</link>
		<dc:creator>onar3d</dc:creator>
		<pubDate>Tue, 08 Dec 2009 08:46:40 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7484</guid>
		<description>@Mattbot 
 
	Impressive that Max includes a JVM object, that had evaded me! I only thought it supported javascript, as opposed to full-on java. 
 
	That alone covers a great deal of ground; with exception of allowing the easy integration of generative visuals into the jitter workflow, which seems to be coming up as well! 
 
	A very good idea which hasn&#039;t yet been implemented would be to make it even more extensible, by embedding Processing into a freeframe plugin instead, which then in turn can be embedded in Max/MSP, or any other compatible host. 
 
	There was talk of embedding my Mother program into freeframe, but ultimately it turned out to be potentially too time consuming for me to be able to do it as a spare time project, the way I had developed Mother. 
 
	There&#039;s a great deal of cool visualist software out there, it&#039;s about time more than just control data is shared between systems! </description>
		<content:encoded><![CDATA[<p>@Mattbot </p>
<p>	Impressive that Max includes a JVM object, that had evaded me! I only thought it supported javascript, as opposed to full-on java. </p>
<p>	That alone covers a great deal of ground; with exception of allowing the easy integration of generative visuals into the jitter workflow, which seems to be coming up as well! </p>
<p>	A very good idea which hasn&#039;t yet been implemented would be to make it even more extensible, by embedding Processing into a freeframe plugin instead, which then in turn can be embedded in Max/MSP, or any other compatible host. </p>
<p>	There was talk of embedding my Mother program into freeframe, but ultimately it turned out to be potentially too time consuming for me to be able to do it as a spare time project, the way I had developed Mother. </p>
<p>	There&#039;s a great deal of cool visualist software out there, it&#039;s about time more than just control data is shared between systems!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mattbot</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7500</link>
		<dc:creator>Mattbot</dc:creator>
		<pubDate>Tue, 08 Dec 2009 08:25:21 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7500</guid>
		<description>@onar3d 
 
	You&#039;re certainly right about Max&#039;s language limitations.  I had to use C to create a Max object in order to implement Euclid&#039;s algorithm which is recursive.  (Which you can get here under the MIT license: &lt;a href=&quot;http://github.com/Mattbot/mattbot.euclid)&quot; rel=&quot;nofollow&quot;&gt;http://github.com/Mattbot/mattbot.euclid)&lt;/a&gt; 
 
	Max includes a Java virtual machine object so it already has access to an external language more suited to things like recursion.  Processing and Adam Murray&#039;s excellent [ajm.ruby] object are both built on top of Max&#039;s included JVM. </description>
		<content:encoded><![CDATA[<p>@onar3d </p>
<p>	You&#039;re certainly right about Max&#039;s language limitations.  I had to use C to create a Max object in order to implement Euclid&#039;s algorithm which is recursive.  (Which you can get here under the MIT license: <a href="http://github.com/Mattbot/mattbot.euclid)" rel="nofollow"></a><a href="http://github.com/Mattbot/mattbot.euclid" rel="nofollow">http://github.com/Mattbot/mattbot.euclid</a>) </p>
<p>	Max includes a Java virtual machine object so it already has access to an external language more suited to things like recursion.  Processing and Adam Murray&#039;s excellent [ajm.ruby] object are both built on top of Max&#039;s included JVM.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: onar3d</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7490</link>
		<dc:creator>onar3d</dc:creator>
		<pubDate>Tue, 08 Dec 2009 02:33:56 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7490</guid>
		<description>Following this argument, I would like to add some more formal (academic?) reasoning as to why integrating Processing with Max/MSP might be a good idea. 
 
	There is significant published work on the limitations of Dataflow languages in general (ie PD, Max, vvvv, etc). The two main problems this family of languages faces is that a programmer cannot define his/her own datastructures, and that there is no efficient way of implementing recursion. Both of the above happen to be crucial when programming procedural computer graphics, and are problems a declarative language (Processing) does not have. 
 
	The common solution adopted is to allow a programmer to write his/her own &#039;box&#039; in a declarative language, implementing the problematic code. Max/MSP&#039;s way around the problem is allowing you to write javascript inside a box, but the speed of execution is so low, that it is unuseable for anything as demanding as real-time procedural graphics. 
 
	Integrating Processing into Max/MSP therefore not only allows more efficient procedural computer graphics in a dataflow language, but goes further, in that it helps address a general limitation inherent to Max/MSP&#039;s dataflow heritage. </description>
		<content:encoded><![CDATA[<p>Following this argument, I would like to add some more formal (academic?) reasoning as to why integrating Processing with Max/MSP might be a good idea. </p>
<p>	There is significant published work on the limitations of Dataflow languages in general (ie PD, Max, vvvv, etc). The two main problems this family of languages faces is that a programmer cannot define his/her own datastructures, and that there is no efficient way of implementing recursion. Both of the above happen to be crucial when programming procedural computer graphics, and are problems a declarative language (Processing) does not have. </p>
<p>	The common solution adopted is to allow a programmer to write his/her own &#039;box&#039; in a declarative language, implementing the problematic code. Max/MSP&#039;s way around the problem is allowing you to write javascript inside a box, but the speed of execution is so low, that it is unuseable for anything as demanding as real-time procedural graphics. </p>
<p>	Integrating Processing into Max/MSP therefore not only allows more efficient procedural computer graphics in a dataflow language, but goes further, in that it helps address a general limitation inherent to Max/MSP&#039;s dataflow heritage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mattbot</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7488</link>
		<dc:creator>Mattbot</dc:creator>
		<pubDate>Tue, 08 Dec 2009 01:11:18 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7488</guid>
		<description>@Yancy Nodebox looks nice!  I like that it&#039;s in Python.  I&#039;ll be keeping an eye on this. </description>
		<content:encoded><![CDATA[<p>@Yancy Nodebox looks nice!  I like that it&#039;s in Python.  I&#039;ll be keeping an eye on this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kodama.pixel &#187; Blog Archive &#187; A Lesson In Projection</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7495</link>
		<dc:creator>kodama.pixel &#187; Blog Archive &#187; A Lesson In Projection</dc:creator>
		<pubDate>Mon, 07 Dec 2009 23:46:58 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7495</guid>
		<description>[...] I think learning the basics of code helps to understand structures within Max. And there are excellent opportunities to combine the two on the [...]</description>
		<content:encoded><![CDATA[<p>[...] I think learning the basics of code helps to understand structures within Max. And there are excellent opportunities to combine the two on the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mattbot</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7492</link>
		<dc:creator>Mattbot</dc:creator>
		<pubDate>Mon, 07 Dec 2009 22:45:07 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7492</guid>
		<description>&lt;a href=&#039;http://noisepages.com/members/peter/&#039; rel=&quot;nofollow&quot;&gt;@Peter&lt;/a&gt; 
 
	The bit I specifically took issue with was this paragraph: 
 
	&quot;The point I wanted to make &#8211; and this is not a criticism of this effort or Max &#8211; is that one strength of Processing is that it can run anywhere. It can go in a browser, in JavaScript, on a Linux netbook, and soon on phones and embedded devices. You can make your work in Processing and turn it into a standalone application that can run anywhere, and edit it on any machine. You can keep your sketches in the cloud, have your laptop catch fire, and then download Processing from the site and go right back to editing without registering or authorizing or anything like that. That may not be the case once you start cobbling it together with Max and the like.&quot; 
 
	You can still keep your sketches online and download them to the Plan B laptop, etc.  They will still run independently of Max.  In the context of using Live, Max&#039;s portability verses Processing&#039;s portability, its a bit moot.  You&#039;re still stuck in Win/Mac land with authentication to deal with, as you scramble to get Live working.  A bit of preplanning and proactive system administration can offset the effects of having to do a system rebuild in the wild regardless of the platform.  (It&#039;s happened to me too.) 
 
	So it seems to me the point of your point is whether or not to go totally open source such as creating a Processing only solution as in our video mixer example.  It just seems a bit unfair to introduce a criticism laboring this point without establishing the context of  proprietary vs. open source software debate more clearly. 
 
	On the topic of meshing or a single solution, I&#039;d love a single solution but I haven&#039;t seen it yet.  Part of the attraction of using Max and Processing is that they are low hanging fruit.  Trying to write a Javascript or Ruby drawing framework for [jit.lcd] is painful.  Processing does it better.  Recreating a GUI and video playback engine on par with Max&#039;s in Processing isn&#039;t what I&#039;m really interested in either as they already exist in Max and Jitter.  If I had to start coding stuff like that from the ground up, I&#039;m going to bypass the JVM completely and reach for C/C++ and/or Objective-C. </description>
		<content:encoded><![CDATA[<p><a href='http://noisepages.com/members/peter/' rel="nofollow">@Peter</a> </p>
<p>	The bit I specifically took issue with was this paragraph: </p>
<p>	&quot;The point I wanted to make &ndash; and this is not a criticism of this effort or Max &ndash; is that one strength of Processing is that it can run anywhere. It can go in a browser, in JavaScript, on a Linux netbook, and soon on phones and embedded devices. You can make your work in Processing and turn it into a standalone application that can run anywhere, and edit it on any machine. You can keep your sketches in the cloud, have your laptop catch fire, and then download Processing from the site and go right back to editing without registering or authorizing or anything like that. That may not be the case once you start cobbling it together with Max and the like.&quot; </p>
<p>	You can still keep your sketches online and download them to the Plan B laptop, etc.  They will still run independently of Max.  In the context of using Live, Max&#039;s portability verses Processing&#039;s portability, its a bit moot.  You&#039;re still stuck in Win/Mac land with authentication to deal with, as you scramble to get Live working.  A bit of preplanning and proactive system administration can offset the effects of having to do a system rebuild in the wild regardless of the platform.  (It&#039;s happened to me too.) </p>
<p>	So it seems to me the point of your point is whether or not to go totally open source such as creating a Processing only solution as in our video mixer example.  It just seems a bit unfair to introduce a criticism laboring this point without establishing the context of  proprietary vs. open source software debate more clearly. </p>
<p>	On the topic of meshing or a single solution, I&#039;d love a single solution but I haven&#039;t seen it yet.  Part of the attraction of using Max and Processing is that they are low hanging fruit.  Trying to write a Javascript or Ruby drawing framework for [jit.lcd] is painful.  Processing does it better.  Recreating a GUI and video playback engine on par with Max&#039;s in Processing isn&#039;t what I&#039;m really interested in either as they already exist in Max and Jitter.  If I had to start coding stuff like that from the ground up, I&#039;m going to bypass the JVM completely and reach for C/C++ and/or Objective-C.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Kirn</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7501</link>
		<dc:creator>Peter Kirn</dc:creator>
		<pubDate>Mon, 07 Dec 2009 22:42:37 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7501</guid>
		<description>Also worth noting: 
 &lt;a href=&quot;http://openendedgroup.com/field/wiki/ProcessingIntegrationFourWays&quot; rel=&quot;nofollow&quot;&gt;http://openendedgroup.com/field/wiki/ProcessingIn...&lt;/a&gt; 
 
	-- and The Field is doing things Processing currently can&#039;t, like responding to code live. Mac-only, but could be ported. 
 
	They, in turn, have also tried a bridge to Max. But I think technically, some of the strength here comes from the Python and Java platforms and the stuff that&#039;s built atop them. In the case of The Field, they&#039;re able to support JavaScript, embedded Java, Groovy, Clojure and Scala, all thanks to the Java VM beneath and the open work done atop them. 
 
	Of course, an artist looking at that list -- or even Max and Processing -- is likely to be overwhelmed with the number of choices. So I think, as with this combination of Max and Processing, the key is that there are this many choices because people have different needs and preferences. </description>
		<content:encoded><![CDATA[<p>Also worth noting:<br />
 <a href="http://openendedgroup.com/field/wiki/ProcessingIntegrationFourWays" rel="nofollow">http://openendedgroup.com/field/wiki/ProcessingIn&#8230;</a> </p>
<p>	&#8211; and The Field is doing things Processing currently can&#039;t, like responding to code live. Mac-only, but could be ported. </p>
<p>	They, in turn, have also tried a bridge to Max. But I think technically, some of the strength here comes from the Python and Java platforms and the stuff that&#039;s built atop them. In the case of The Field, they&#039;re able to support JavaScript, embedded Java, Groovy, Clojure and Scala, all thanks to the Java VM beneath and the open work done atop them. </p>
<p>	Of course, an artist looking at that list &#8212; or even Max and Processing &#8212; is likely to be overwhelmed with the number of choices. So I think, as with this combination of Max and Processing, the key is that there are this many choices because people have different needs and preferences.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yancy</title>
		<link>http://createdigitalmotion.com/2009/12/processing-meets-max-max-for-live/#comment-7502</link>
		<dc:creator>Yancy</dc:creator>
		<pubDate>Mon, 07 Dec 2009 22:29:18 +0000</pubDate>
		<guid isPermaLink="false">http://createdigitalmotion.com/2009/12/07/processing-meets-max-max-for-live/#comment-7502</guid>
		<description>&lt;a href=&quot;http://nodebox.net/&quot; rel=&quot;nofollow&quot;&gt;Nodebox&lt;/a&gt; has an &lt;a href=&quot;http://nodebox.net/code/index.php/OSC&quot; rel=&quot;nofollow&quot;&gt;OSC library&lt;/a&gt; if your interested in the more vector side of things.  It&#039;s OSX only at the moment, but &lt;a href=&quot;http://beta.nodebox.net/&quot; rel=&quot;nofollow&quot;&gt;Nodebox2&lt;/a&gt; is shaping up nicely, is ported to Jython for access to Java and Python code, and will run on Windows too. </description>
		<content:encoded><![CDATA[<p><a href="http://nodebox.net/" rel="nofollow">Nodebox</a> has an <a href="http://nodebox.net/code/index.php/OSC" rel="nofollow">OSC library</a> if your interested in the more vector side of things.  It&#039;s OSX only at the moment, but <a href="http://beta.nodebox.net/" rel="nofollow">Nodebox2</a> is shaping up nicely, is ported to Jython for access to Java and Python code, and will run on Windows too.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

