On Tue, 4 Oct 2005, David Plans Casal wrote:
On 4 Oct 2005, at 03:52, Mathieu Bouchard wrote:
David is talking about the Ruby side of GridFlow, which has no equivalent in Jitter. Recent versions of MAX can handle Java and JavaScript externals straight out of the box.
This is indeed what I'm trying to point out. Javascript is underestimated all the time as a language, and having it in Max is a paradigm shift, IMHO.
Javascript is AFAIK already used to write a large part of Mozilla/FireFox, no?
And what qualifies something to be called a paradigm shift?
Ruby is a step up from that, in that it allows access to true OO (please dont' bash me over the head with PD OOness here), access to the rest of your machine without PD sit-ups, and access to whatever libraries you care to mention (plus writing your own, of course), and direct bindings for C libraries, etc etc etc.
Connecting to C libraries isn't automatic, but there's a Ruby/DL tool that can help. For C++ there is SWIG, which currently can't export towards Pd, but can export towards Ruby and Python and such.
Pd is a lot different because its messages never have return values, which is something SWIG can't deal with. This requires reorganisations and/or workarounds. What's a float(*)(float) in C becomes an extra outlet _and_ an extra inlet in Pd, and that's only if you aren't expected to change the pointer in the meanwhile, because that'd mean you're screwed.
Ruby and Python have their own interesting libraries, which are not available in regular C/C++.
____________________________________________________________________ Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju Freelance Digital Arts Engineer, Montréal QC Canada