[PD] connecting pd-gui to pd

Jeremiah Rose jeremiah.aaron.rose at gmail.com
Tue Sep 13 07:40:38 CEST 2016


Hi Miller and IOhannes,

Thanks for the extremely informative replies!

The -guicmd option seems to work but will not meet my needs unfortunately.
I'm specifically interested in a way to connect the GUI to an existing
running instance of the DSP without interrupting the patch.

IOhannes, I came across your suggestion of using a proxy server in an old
Google Groups post from 2010:
https://groups.google.com/forum/#!topic/linux.debian.bugs.dist/lKMEPX417h4

By doing the following,

*Terminal 1*
$ cd /tmp
$ mknod backpipe p
$ netcat -l -p 8000 0<backpipe | netcat -l -p 7000 1>backpipe
*Terminal 2*
$ /usr/bin/pd -guiport 8000
*Terminal 3*
$ /usr/lib/pd/bin/pd-gui 7000

I was able to get it working successfully. However, the problem is that
until the GUI is started, the DSP does not start running. So the DSP cannot
run independently of the GUI (if I start the DSP with -nogui then the
-guiport command no longer works).

Do you think it would be difficult to write a patch for PD to create the
following behaviour?

*Terminal 1*
$ /usr/bin/pd -nogui -guiport 8000
(sound starts playing)
*Terminal 2*
$ /usr/lib/pd/bin/pd-gui 8000

Regards,
Jerry



> From: IOhannes m zmölnig <zmoelnig at iem.at>
> To: pd-list at lists.iem.at, 20160904152103.GD5414 at localhost.localdomain
> Subject: Re: [PD] connecting pd-gui to pd
> Message-ID: <4ff4b5f6-084c-912c-1b82-b20729308e9e at iem.at>
> Content-Type: text/plain; charset="utf-8"
>
> On 09/10/2016 04:23 PM, Miller Puckette wrote:
> > This might help (the subject line is confusing but I think this answers
> > your question too :)
> >
> > https://lists.puredata.info/pipermail/pd-list/2016-09/116052.html
>
> actually, i think the answer is not entirely correct.
>
> at least i'm pretty confident that it still works the same as it used to
> back in - hm, hm - 2006 (and later), when we did the "peer data" thing.
>
> what i did back then was:
> use a proxy that listens to two different tcp/ip ports (say 8001 and
> 8002; with all messages that are received on one port being forwarded to
> the other port - in both directions)
>
> start Pd like "pd -guiport 8001" (so it uses the proxy as it's "GUI").
> start Pd-gui like "pd-gui pdhost:8002" (so it uses the proxy as it's
> "DSP" engine).
>
> unfortunately the proxy needs a bit of magic built in, for all that to
> work properly.
> what i remember from back then:
> - if you want to do some audio-configuration via the menu, the proxy
> MUST record a few messages at the beginning of the session (after
> connection to the DSP), when all the necessary data is sent to the GUI
> - the proxy must store all the active window IDs, so when the pd-gui
> connects anew, it can tell the DSP to redraw all the windows.
> - i *think* the proxy needs to do a bit of handshake when connecting to
> the DSP.
> - for sanities reasons, it might make sense to disallow Ctrl-Q to
> shut-down the DSP
> - you might need to handle the watchdog events in the proxy (if running
> with "-rt")
>
> i also remember a bit of problems when using Pd-GUI on OSX (and we never
> tried on W32), but i cannot remember the nature of these problems (and
> bear in mind that the main objective of that project was to have
> *multiple* GUIs talk to a single DSP)
>
> mdgfdsa
> IOhannes
>

On 11 September 2016 at 00:23, Miller Puckette <msp at ucsd.edu> wrote:

> This might help (the subject line is confusing but I think this answers
> your question too :)
>
> https://lists.puredata.info/pipermail/pd-list/2016-09/116052.html
>
> cheers
> Miller
>
> On Sat, Sep 10, 2016 at 05:17:45PM +1000, Jeremiah Rose wrote:
> > Hi there, I've already asked this question over at the pdpatchrepo forums
> > but I get the feeling you guys really know your stuff so I wanted to ask
> > here too.
> >
> > Here's the situation -
> >
> > Computer 1: a raspberry pi with no screen, keyboard or mouse that
> > automatically runs a headless instance of pure data when it boots up:
> > pd -nogui mypatch.pd
> >
> > Computer 2: my laptop. I want to start the GUI separetly and connect it
> to
> > the existing pd instance on the raspberry pi so that I can program the
> > patch, alter it, save it, and watch it in action. I believe the command
> > should be something like:
> > pd-gui HOST:PORT
> >
> > But I can't seem to make it work and there is no documentation to speak
> of
> > anywhere. Can anyone help?
> >
> > I'd be happy to document this on the pd wiki and forums once I figure it
> > out, as there currently seems to be no reference.
>
> > _______________________________________________
> > Pd-list at lists.iem.at mailing list
> > UNSUBSCRIBE and account-management -> https://lists.puredata.info/
> listinfo/pd-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160913/55a7f509/attachment.html>


More information about the Pd-list mailing list