Hi folks.
Now that pd~ works well for me. I'm sad to see it is not doing what I hope it would. Maybe I could send the patch, but it's simple so I think there's no need.
What it does is that it takes a snapshot of the spectrum and does pretty extensive calculations with it, gets combinations of the lists' elements, does transpositions, plots a graph over 1200 points, bla bla bla.
When I do it on my patch, Pd just freezes completely, the audio stops, and it then waits until all of this is over to come back to life. It usually takes around 10 seconds!!!
I thought that if I put all of this in a separate patch under [pd~] that it would do all it had to do without killing the audio in the parent/super patch. But Nothing Changes!
I figure it must be related to the "attention" in the help files, which says something like: "subprocess' clock is slaved to audio I/O it gets from superpatch!".
In other words, the clocks are in sinc. So if one stops, the other waits.
is that it???
If so... no way around to change this with [pd~], right?
But would it be possible to review this and maybe allow it for future versions?
So then, how is it possible to have a separate process, in a separate core, with an independent clock?
to it via net objects?
Thanks a lot. alex
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2011-12-01 19:06, Alexandre Torres Porres wrote:
In other words, the clocks are in sinc. So if one stops, the other waits.
is that it???
yes, that is the purpose and strength of [pd~].
miller did a paper/presentation on that topic at the 3rd Pd~convention in Sao Paolo; in case you have missed it there'you can download the paper at [1]
If so... no way around to change this with [pd~], right?
no, not if yuo don't want to defeat the purpose of [pd~].
But would it be possible to review this and maybe allow it for future versions?
no, not if yuo don't want to defeat the purpose of [pd~].
So then, how is it possible to have a separate process, in a separate core, with an independent clock?
by using a mechanism that is not synchronous.
- Use separate computers? - Just open another actual Pd and send messages
to it via net objects?
yes; the latter seems to be the most feasible in this context.
fgmasdr IOhannes
[1] http://puredata.info/community/projects/convention09/puckette.pdf
Le 01/12/11 19:06, Alexandre Torres Porres a écrit :
So then, how is it possible to have a separate process, in a separate core, with an independent clock?
- Use separate computers? - Just open another actual Pd and send
messages to it via net objects?
Hello Alex,
Yes the easiest way is to have two different instances of pd running and to communicate (some) data values using netsend / netreceive on localhost. Depending of what you do (is there some Gem?), it is usually said it helps to have the audio process in one pd and the other only doing the computing and displaying in Gem. Having two instances of pd is trivial under linux (just start another pd in the terminal), in osx i only know one way: you have to duplicate the whole Pd app and rename it, in windows i don't know. good luck n
----- Original Message -----
From: Nicolas Montgermont nicolas_montgermont@yahoo.fr To: pd-list@iem.at Cc: Sent: Thursday, December 1, 2011 1:24 PM Subject: Re: [PD] pd~ not helping, any hints?
Le 01/12/11 19:06, Alexandre Torres Porres a écrit :
So then, how is it possible to have a separate process, in a separate core,
with an independent clock?
- Use separate computers? - Just open another actual Pd and send messages
to it via net objects?
Hello Alex,
Yes the easiest way is to have two different instances of pd running and to communicate (some) data values using netsend / netreceive on localhost. Depending of what you do (is there some Gem?), it is usually said it helps to have the audio process in one pd and the other only doing the computing and displaying in Gem. Having two instances of pd is trivial under linux (just start another pd in the terminal), in osx i only know one way: you have to duplicate the whole Pd app and rename it,
OSX has a terminal, doesn't it? Can't you just start one pd followed by &, then another?
in windows i don't know.
In Windows it's also trivial-- just open another instance of Pd from the start menu, command line, .bat file, or whatever.
good luck n -- http://nim.on.free.fr
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
well, for the record, I tried and [netsend / netreceive] are doing the trick. cheers
2011/12/1 Alexandre Torres Porres porres@gmail.com
Hi folks.
Now that pd~ works well for me. I'm sad to see it is not doing what I hope it would. Maybe I could send the patch, but it's simple so I think there's no need.
What it does is that it takes a snapshot of the spectrum and does pretty extensive calculations with it, gets combinations of the lists' elements, does transpositions, plots a graph over 1200 points, bla bla bla.
When I do it on my patch, Pd just freezes completely, the audio stops, and it then waits until all of this is over to come back to life. It usually takes around 10 seconds!!!
I thought that if I put all of this in a separate patch under [pd~] that it would do all it had to do without killing the audio in the parent/super patch. But Nothing Changes!
I figure it must be related to the "attention" in the help files, which says something like: "subprocess' clock is slaved to audio I/O it gets from superpatch!".
In other words, the clocks are in sinc. So if one stops, the other waits.
is that it???
If so... no way around to change this with [pd~], right?
But would it be possible to review this and maybe allow it for future versions?
So then, how is it possible to have a separate process, in a separate core, with an independent clock?
- Use separate computers? - Just open another actual Pd and send messages
to it via net objects?
Thanks a lot. alex
Sorry, I wrote this before I received the digest with the answers.
Thanks for the replies.
[pd~] is still coming quite in handy. I'm now allowed to open 2 instances of my abstractions that take almost 90% CPU each. Works perfectly!
Too bad it can't unsync the clocks. It's very "elegant", to just open one file, and have it all there.
I know about the paper and figured it couldn't be done and all... I'm not that well versed in programming to go deep under the hood and give you objective possibilities or ways around. But I still have some ideas that seems to be reasonable. Like, there could be a new [pd~] like object, that would allow this to be possible to this exact kind of purpose.
Because when I see another "Pd" opened so I can use the net objects, it just look the same as if I had opened it with [pd~] subprocesses. I assume there's a way to do it.
But you could still have this new function inside [pd~]. Then, with some sort of flag or creation argument, [pd~] could function like that.
Anyway, I'm sure there can be quite a hassle, and maybe just "not worth it", but I don't see it as something impossible. Do I have a point?
Thanks Alex
2011/12/1 Alexandre Torres Porres porres@gmail.com
well, for the record, I tried and [netsend / netreceive] are doing the trick. cheers
2011/12/1 Alexandre Torres Porres porres@gmail.com
Hi folks.
Now that pd~ works well for me. I'm sad to see it is not doing what I hope it would. Maybe I could send the patch, but it's simple so I think there's no need.
What it does is that it takes a snapshot of the spectrum and does pretty extensive calculations with it, gets combinations of the lists' elements, does transpositions, plots a graph over 1200 points, bla bla bla.
When I do it on my patch, Pd just freezes completely, the audio stops, and it then waits until all of this is over to come back to life. It usually takes around 10 seconds!!!
I thought that if I put all of this in a separate patch under [pd~] that it would do all it had to do without killing the audio in the parent/super patch. But Nothing Changes!
I figure it must be related to the "attention" in the help files, which says something like: "subprocess' clock is slaved to audio I/O it gets from superpatch!".
In other words, the clocks are in sinc. So if one stops, the other waits.
is that it???
If so... no way around to change this with [pd~], right?
But would it be possible to review this and maybe allow it for future versions?
So then, how is it possible to have a separate process, in a separate core, with an independent clock?
- Use separate computers? - Just open another actual Pd and send messages
to it via net objects?
Thanks a lot. alex