[PD] communicating with the shell

Hans-Christoph Steiner hans at eds.org
Thu Jan 29 21:21:37 CET 2009


If someone writes the code and submits it to the patch tracker, it  
will be included!  That's all it takes to fix it. ;)  Or pay someone  
to fix it, or submit really clear, simple bug reports, i.e. a simple  
patch that will reproduce the problem everytime.

.hc

On Jan 28, 2009, at 6:49 PM, Andy Farnell wrote:

>
>
>
> 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
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list



----------------------------------------------------------------------------

As we enjoy great advantages from inventions of others, we should be  
glad of an opportunity to serve others by any invention of ours; and  
this we should do freely and generously.         - Benjamin Franklin






More information about the Pd-list mailing list