[PD] communicating with the shell
Andy Farnell
padawan12 at obiwannabe.co.uk
Thu Jan 29 00:49:01 CET 2009
Yep, actually that was a prescriptive and arrogant thing
of me to suggest dropping it. I have lots of patches that use
it too.
So, poor [shell], very useful, but quite broken (if you use
it in any serious way). How can it be fixed?
On Thu, 29 Jan 2009 00:12:14 +0100
Jack <jack at rybn.org> wrote:
> I just want to say that i am very happy tu use [shell] in my patch.
> It is very useful to execute a PHP script for exemple.
> ++
>
> Jack
>
>
>
> Le 28 janv. 09 à 21:49, Andy Farnell a écrit :
>
> >
> >
> > Both Lua and Python are great suggestions. But avoid the issue
> > of fixing [shell]. It has been problematic for a long time and
> > this is another opportunity to discover how to fix it, or
> > deprecate/remove it altogether.
> >
> > I think there's something to be said for all Pd distros _not_
> > including [shell] for obvious reasons. If users want to open
> > that door it should be an informed decision. That would happen
> > if they could only use PyExt and PdLua. [shell] is very buggy,
> > has it's day finally come to be fixed or dropped?
> >
> >
> >
> > On Wed, 28 Jan 2009 14:50:32 -0500
> > patrick <puredata at 11h11.com> wrote:
> >
> >> another solution is with pyext.
> >> in pdmtl abstractions it's under linux.process.pd (but i think it
> >> should
> >> work on windows and mac (not tested)).
> >>
> >> import sys, os, time, signal, subprocess
> >> try:
> >> import pyext
> >> except:
> >> print "ERROR: This script must be loaded by the PD pyext
> >> external"
> >> sys.exit()
> >>
> >> class sub(pyext._class):
> >> """A simple script to start and stop process"""
> >>
> >> # number of inlets and outlets
> >> _inlets=1
> >> _outlets=1
> >>
> >> def __init__(self,*args):
> >> pass
> >>
> >> def start_1(self,a):
> >> global process
> >> process = subprocess.Popen(str(a))
> >> self._outlet(1, 'opening '+str(a))
> >>
> >> def stop_1(self,*a):
> >> os.kill(process.pid, signal.SIGTERM)
> >> self._outlet(1, 'stopping process '+str(process.pid))
> >>
> >>
> >> _______________________________________________
> >> Pd-list at iem.at mailing list
> >> UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> >> listinfo/pd-list
> >
> >
> > --
> > Use the source
> >
> > _______________________________________________
> > Pd-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/
> > listinfo/pd-list
>
--
Use the source
More information about the Pd-list
mailing list