Thanks guys.
On 5/5/07, marius schebella marius.schebella@gmail.com wrote:
Hi Daniel,
I don't know if it has advantages, but it is possoble to open/close patches from another patch. Maybe an advantage would be that it is faster, because you don't have to resart pd. but I don't know how to handle crashes...
Currently, I call ps every now and then to get the status of pd using pd's pid. If it has stalled I can kill and restart it. I'm setting up my whole system as a Linux daemon that runs in the background and handles patch control and input devices. It starts jack for me and connects all of my midi connections. Currently, I'm using udev to tell the daemon when a new device is connected so it will start a new listener that sends OSC from the device or to shut it down on a removal (device = sdl joystick). That way, everything is plug and play since I have no way of setting anything up without a gui and mouse/keyboard. If anyone is interested, I'm thinking of making a release available to try out. There is a client mode that will only handle the devices so multiple machines can send input info. (ahh OSC power). It's all hackish alpha, but it is starting to work ...
anyway, have a look at
manuals/pd-msg/2.message_and_pd/2.open_close.pd
I swear I went through the whole manual and didnt notice this!
you open a patch by using a message to pd (starting with ";pd").
the first argument is open, the second the patchname and the third the directory. to close you give the argument menuclose and then the prefix "pd-" and the patchname. some time ago it was not possible to use abbreviations for directories (like a dot). maybe this works now. but you can always use the full path name. regarding closing, many people are talking about a "closebang" but I am not sure if that is about shutting down pd or closing a patch. it should provide a clean shutdown. maybe this affects serial connections? I don't know. For me it worked the way I described it above and I had no problems. [that is a message( [;pd open mypatch.pd /home/marius/pd( [;pd menuclose pd-mypatch.pd(
Awesome .. I will have to try this out!
marius.
Daniel Wilcox wrote:
Hi,
So this is my first post to the list.
back story: I'm running pd in Linux on a small wearable computer. I do not use a screen, mouse, or keyboard, just an arduino box with a button and some other doo dads to control patch loading / activation.
I've successfully automated pd in Windows using a python windows testing library to grab widgets and send keys to applications, but the
Gnome
alternative cannot see tcl/tk widgets ... I'm better off running without a gui anyway. :P
I've hacked a quick controller patch using the ;open message for a show, but that was only a temp fix as I have no way to close patches from within pd ... or is there? I do not want to have to open an entire set of patches at once as my machine only has 256 Mb of ram and, if I start using lots of samples, this could be a problem.
So now I'm exec launching and SIGINT'ing pd in C :
- lauch pd with the current patch and remember the process id
- the patch contains an osc object to receive all of my controllers
- sigint pd when I'm done (btw Whats the cleanest kill signal to send?)
Now my questions are:
- Is there a built in way to close an open pd patch from within pd ...?
My thinking is that I can open pd with a small control patch that receives messages to open and close patches.
- If not, has anyone made an automation object? Would anyone be
interested if I attempted to write one?
- Does having a built-in method to do this provide any advantage over my
current solution of launching/killing pd?
The advantage I have now is that I can monitor the running status of pd so if it crashes, which it has done when using the aforementioned temp hack, I can safely kill and restart on the current patch.
Thanks!
-- Dan Wilcox danomatika www.robotcowboy.com http://www.robotcowboy.com
PD-list@iem.at mailing list UNSUBSCRIBE and account-management ->