[PD] communicating with the shell
Andy Farnell
padawan12 at obiwannabe.co.uk
Wed Jan 28 21:49:31 CET 2009
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
More information about the Pd-list
mailing list