On Jan 27, 2006, at 3:05 PM, Cesare Marilungo wrote:
Hans-Christoph Steiner wrote:
On Jan 27, 2006, at 1:41 PM, Mathieu Bouchard wrote:
On Fri, 27 Jan 2006, IOhannes m zmoelnig wrote:
Steve Peach wrote:
In Max/MSP you can save (compile) your patches into various
plug-ins or applications. I was wondering can this be done in Pd (which is
what I use at home) If it can , could someone let me know please, it
would be MUCH!!! appreciatedit cannot be done. why should it? (the reason for max/msp to offer
this possibility is in its proprietary nature. for pd this is not
necessary: just give away your patches + pd)The problem is that just giving away a working pd that will continue
to work on the target computer is not always easy.Does Pd have any "static-linked" version or otherwise
self-contained? If externals have dependencies, is there anything that can copy those dependencies inside of a directory that can easily by zipped and
shipped?It doesn't have much to do with proprietary vs free.
Pd-extended is self-contained. That's a big motivation in the
creation of it.But compiling Pd patches isn't purely a question of proprietary vs
free. If Pd could be compiled, it could run on embedded systems like
mobile phones and microcontrollers. It would be quite difficult to
make a Pd port to Microchip PIC.Its also a question of flexibility, it would be a nice feature to
have. But its probably not easy to implement..hc
I don't think so.
Most of the times, what you call compiled means just wrapping up the
interpreter with the source (ar the patch in this case), so I don't
think it would be hard to implement also in pd.But what's the point of replicating every feature (and also the
behavior) of Max/MSP? If it's just because PureData is free (as in
beer) I believe we've missed the point of the whole open source
philosophy and we're not in the position to ask developers their time
to implement such features. ;-)
What I call compiling is compiling, not wrapping an interpreter. I
think Max/MSP bundles an interpreter.
I'll quote my reasons again why I think it would be useful (with some
minor corrections to make it clearer):
Compiling Pd patches isn't purely a question of proprietary vs free, or
imitating Max. If Pd could be compiled, it could run on embedded
systems like mobile phones and microcontrollers. It would be quite
difficult to make a Pd port to Microchip PIC or Atmel AVR (but probably
possible to port Pd to mobile phones). Its a question of flexibility.
Check out the Arduino/Wiring for an idea of what I am talking about.
Its basically Processing/Java-lite for microcontroller:
.hc
"Terrorism is not an enemy. It cannot be defeated. It's a tactic.
It's about as sensible to say we declare war on night attacks and
expect we're going to win that war. We're not going to win the war on
terrorism."
- retired U.S. Army general,
William Odom
Hans-Christoph Steiner wrote:
What I call compiling is compiling, not wrapping an interpreter. I
think Max/MSP bundles an interpreter.
that is something totally different from what i was actually talking about: i was answering steve's mail, who - i think - was asking for a way to one-click-create a self contained application, like max/msp, rather than do a real optimized (as in "compiled" vs "interpreted" (ack!, no, i don't want to start a flamewar on python, forth,...)) compilation of (parts of) a pd patch.
i also agree that this would be a very nice feature (however, i will not attempt to do it for now |-))
mfg.as.dr IOhannes
IOhannes m zmoelnig a écrit :
Hans-Christoph Steiner wrote:
What I call compiling is compiling, not wrapping an interpreter. I
think Max/MSP bundles an interpreter.that is something totally different from what i was actually talking about: i was answering steve's mail, who - i think - was asking for a way to one-click-create a self contained application, like max/msp, rather than do a real optimized (as in "compiled" vs "interpreted" (ack!, no, i don't want to start a flamewar on python, forth,...)) compilation of (parts of) a pd patch.
Here're a tool to create standalone tcl/tk applications: http://www.equi4.com/tkoverview.html -- Marc
On Fri, 27 Jan 2006, Marc Lavallée wrote:
Here're a tool to create standalone tcl/tk applications: http://www.equi4.com/tkoverview.html
Pd is not a Tcl/Tk application. Let's say "half" of Pd is a Tcl/Tk application, but how big that half is, is debatable (given that there is code in one half that is sent and executed in the other half at runtime... and other funny things like that)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Mathieu Bouchard a écrit :
On Fri, 27 Jan 2006, Marc Lavallée wrote:
Here're a tool to create standalone tcl/tk applications: http://www.equi4.com/tkoverview.html
Pd is not a Tcl/Tk application. Let's say "half" of Pd is a Tcl/Tk application, but how big that half is, is debatable (given that there is code in one half that is sent and executed in the other half at runtime... and other funny things like that)
The "starkit" includes a vfs (virtual file system), so maybe that all necessary files (binaries, patches, images, etc) could be included as well in one executable file. -- Marc
On Mon, 30 Jan 2006, Marc Lavallée wrote:
Mathieu Bouchard a écrit :
Pd is not a Tcl/Tk application. Let's say "half" of Pd is a Tcl/Tk application, but how big that half is, is debatable (given that there is code in one half that is sent and executed in the other half at runtime... and other funny things like that)
The "starkit" includes a vfs (virtual file system), so maybe that all necessary files (binaries, patches, images, etc) could be included as well in one executable file.
Doesn't it do that at the Tcl level and not at the C level? All the "interesting" stuff in Pd happens in the C side. If you start Pd with the "-nogui" option you don't use Tcl at all. That should give you an idea of the kind of dependency that Pd has on Tcl. Because it doesn't depend much on Tcl, you can't hook into much of Pd just by hooking into Tcl.
Correct me if I'm wrong...
Btw it _is_ possible to do the vfs at the C level for binaries that are not completely static, but that involves some LD_PRELOAD voodoo and most people don't do it. (The only instances I know of it is by debugging tools such as Valgrind and other malloc debuggers, as well as STrace)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Mathieu Bouchard a écrit :
On Mon, 30 Jan 2006, Marc Lavallée wrote:
Mathieu Bouchard a écrit :
Pd is not a Tcl/Tk application. Let's say "half" of Pd is a Tcl/Tk application, but how big that half is, is debatable (given that there is code in one half that is sent and executed in the other half at runtime... and other funny things like that)
The "starkit" includes a vfs (virtual file system), so maybe that all necessary files (binaries, patches, images, etc) could be included as well in one executable file.
Doesn't it do that at the Tcl level and not at the C level? All the "interesting" stuff in Pd happens in the C side. If you start Pd with the "-nogui" option you don't use Tcl at all. That should give you an idea of the kind of dependency that Pd has on Tcl. Because it doesn't depend much on Tcl, you can't hook into much of Pd just by hooking into Tcl.
Correct me if I'm wrong...
I understand it's a wrapper for tcl/tk applications, and I suppose it includes a static version of tcl/tk. I don't know how it would behave with PD. That's worth a try.
Btw it _is_ possible to do the vfs at the C level for binaries that are not completely static, but that involves some LD_PRELOAD voodoo and most people don't do it. (The only instances I know of it is by debugging tools such as Valgrind and other malloc debuggers, as well as STrace)
I have no idea... (maybe this thread should move to pd-dev) -- Marc