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@iem.at To: pd-list@lists.iem.at, 20160904152103.GD5414@localhost.localdomain Subject: Re: [PD] connecting pd-gui to pd Message-ID: 4ff4b5f6-084c-912c-1b82-b20729308e9e@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@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@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/
listinfo/pd-list