Hi I remember reading somewhere that it is possible to have 2 Pd patches open running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video.
How do I do this?
On Tue, 17 Aug 2010, João de Brito Rocha Reis Vidigal wrote:
I remember reading somewhere that it is possible to have 2 Pd patches open running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video. How do I do this?
It's OS-dependent. In Linux you just click on Pd a second time (or third time, etc).
In OSX, the dock prevents this to happen, so, you have to go in Finder, ctrl-click, "Show Contents", and inside of that there's a "MACOS" folder with file named just "Pd" (no suffix). If you click on this several times, it starts Pd several times.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? Is there a way to know which processor it uses, and whether it always uses the same processor?
Pierre
2010/8/17 Mathieu Bouchard matju@artengine.ca
On Tue, 17 Aug 2010, João de Brito Rocha Reis Vidigal wrote:
I remember reading somewhere that it is possible to have 2 Pd patches open
running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video. How do I do this?
It's OS-dependent. In Linux you just click on Pd a second time (or third time, etc).
In OSX, the dock prevents this to happen, so, you have to go in Finder, ctrl-click, "Show Contents", and inside of that there's a "MACOS" folder with file named just "Pd" (no suffix). If you click on this several times, it starts Pd several times.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
For communications between the two instances you can use OSC - that's very flexible.
Em 17 de agosto de 2010 11:55, Pierre Massat pimassat@gmail.com escreveu:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? Is there a way to know which processor it uses, and whether it always uses the same processor?
Pierre
2010/8/17 Mathieu Bouchard matju@artengine.ca
On Tue, 17 Aug 2010, João de Brito Rocha Reis Vidigal wrote:
I remember reading somewhere that it is possible to have 2 Pd patches open running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video. How do I do this?
It's OS-dependent. In Linux you just click on Pd a second time (or third time, etc).
In OSX, the dock prevents this to happen, so, you have to go in Finder, ctrl-click, "Show Contents", and inside of that there's a "MACOS" folder with file named just "Pd" (no suffix). If you click on this several times, it starts Pd several times.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
There's also the pd~ object that embeds a Pd instance within an object inside another one. It's still under development but I've already been using it pretty hard.
cheers Miller
On Tue, Aug 17, 2010 at 12:05:26PM -0300, Bernardo Barros wrote:
For communications between the two instances you can use OSC - that's very flexible.
Em 17 de agosto de 2010 11:55, Pierre Massat pimassat@gmail.com escreveu:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? Is there a way to know which processor it uses, and whether it always uses the same processor?
Pierre
2010/8/17 Mathieu Bouchard matju@artengine.ca
On Tue, 17 Aug 2010, João de Brito Rocha Reis Vidigal wrote:
I remember reading somewhere that it is possible to have 2 Pd patches open running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video. How do I do this?
It's OS-dependent. In Linux you just click on Pd a second time (or third time, etc).
In OSX, the dock prevents this to happen, so, you have to go in Finder, ctrl-click, "Show Contents", and inside of that there's a "MACOS" folder with file named just "Pd" (no suffix). If you click on this several times, it starts Pd several times.
 _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of
Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always
uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well?
On 17 Aug 2010, at 16:15, Pedro Lopes wrote:
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Then OSC will suit your perfectly (you can just use your messages through sockets, if you don't want to use OSC, but I like it personally for many reasons).
Just have one pd sending OSC messages to the other through a port. There's several issues regarding serious sync, but if you feel that its do-able in this easy way.. gor for bingo (as we say in portuguese).
best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)"
download these patches, they describe different approaches in how to approach this http://web.uni-weimar.de/medien/wiki/Audiovideo
mn.
Am 17.08.2010 um 17:18 schrieb João de Brito Rocha Reis Vidigal:
I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well?
On 17 Aug 2010, at 16:15, Pedro Lopes wrote:
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app.
I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169
hope it helps
bests
Mario
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well?
On 17 Aug 2010, at 16:15, Pedro Lopes wrote:
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of
Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always
uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Since I'm doing this to ease multiple video processing (up to 18 short videos), do you think it's ok to open several different net ports? or will it then get stuck with that!?
2010/8/17 Mario Mora maredmo@gmail.com
Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app.
I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169
hope it helps
bests
Mario
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well?
On 17 Aug 2010, at 16:15, Pedro Lopes wrote:
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance of
Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always
uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I open 40 sockets in pd sometimes (communicate with several flash/processing clients over OSC and simple string commands...well almost the same), never had an issue with that :)
2010/8/18 João de Brito Vidigal jbvidigal@gmail.com
Since I'm doing this to ease multiple video processing (up to 18 short videos), do you think it's ok to open several different net ports? or will it then get stuck with that!?
2010/8/17 Mario Mora maredmo@gmail.com
Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app.
I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169
hope it helps
bests
Mario
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM).
"(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well?
On 17 Aug 2010, at 16:15, Pedro Lopes wrote:
Can you clarify this a bit further?
What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able)
(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)
Best regards, Pedro
2010/8/17 João de Brito Rocha Reis Vidigal jbvidigal@gmail.com
Any idea on how to get the first Pd working with one processor and the second with the other?
I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!?
On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote:
On Tue, 17 Aug 2010, Pierre Massat wrote:
Does this mean that in Linux and on a dual core machine one instance
of Pd only uses one processor?
No, it doesn't mean that.
But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads.
Then there is the "client process", which "own" the patch windows and the main window. This runs separately.
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
Is there a way to know which processor it uses, and whether it always
uses the same processor?
No idea... I still run a single-core all day long.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Wed, 2010-08-18 at 15:34 +0100, João de Brito Vidigal wrote:
Since I'm doing this to ease multiple video processing (up to 18 short videos), do you think it's ok to open several different net ports? or will it then get stuck with that!?
Most of the net classes in Pd I am aware of are not threaded, so yeah, this theoretically could be an issue. In practice it might not.
The worst that can happen is when the receiving end point disappears without the sending end point noticing it. In such a case, the buffer of the sender gets filled and when it has reached the maximum, it blocks Pd completely. If both the sender and the receiver are running on the same box this very unlikely to happen. But still be aware of the buffer: If you send a lot of data, you might still be able to fill it, which would again cause drop outs. But again, if both are on the same box, it's unlikely you hit some bandwidth limit.
Now after writing this, I realize that problems relating to buffering are specifcic to TCP. There is no need to do buffering for sending UDP, so using UDP should even be less likely to cause troubles.
Roman
2010/8/17 Mario Mora maredmo@gmail.com Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app. I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169 hope it helps bests Mario 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM). "(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well? On 17 Aug 2010, at 16:15, Pedro Lopes wrote: Can you clarify this a bit further? What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able) (your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that) Best regards, Pedro 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> Any idea on how to get the first Pd working with one processor and the second with the other? I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!? On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote: On Tue, 17 Aug 2010, Pierre Massat wrote: > Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? No, it doesn't mean that. But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads. Then there is the "client process", which "own" the patch windows and the main window. This runs separately. Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread. > Is there a way to know which processor it uses, and whether it always uses the same processor? No idea... I still run a single-core all day long. _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list -- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
p.s.: notice that my 40 sockets rarely have packets on them, its not poling intensive. Just from time to time, when users change stuff around..
2010/8/18 Roman Haefeli reduzent@gmail.com
On Wed, 2010-08-18 at 15:34 +0100, João de Brito Vidigal wrote:
Since I'm doing this to ease multiple video processing (up to 18 short videos), do you think it's ok to open several different net ports? or will it then get stuck with that!?
Most of the net classes in Pd I am aware of are not threaded, so yeah, this theoretically could be an issue. In practice it might not.
The worst that can happen is when the receiving end point disappears without the sending end point noticing it. In such a case, the buffer of the sender gets filled and when it has reached the maximum, it blocks Pd completely. If both the sender and the receiver are running on the same box this very unlikely to happen. But still be aware of the buffer: If you send a lot of data, you might still be able to fill it, which would again cause drop outs. But again, if both are on the same box, it's unlikely you hit some bandwidth limit.
Now after writing this, I realize that problems relating to buffering are specifcic to TCP. There is no need to do buffering for sending UDP, so using UDP should even be less likely to cause troubles.
Roman
2010/8/17 Mario Mora maredmo@gmail.com Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app. I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169 hope it helps bests Mario 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM). "(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well? On 17 Aug 2010, at 16:15, Pedro Lopes wrote: Can you clarify this a bit further? What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able) (your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that) Best regards, Pedro 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> Any idea on how to get the first Pd working with one processor and the second with the other? I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!? On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote: On Tue, 17 Aug 2010, Pierre Massat wrote: > Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? No, it doesn't mean that. But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads. Then there is the "client process", which "own" the patch windows and the main window. This runs separately. Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread. > Is there a way to know which processor it uses, and whether it always uses the same processor? No idea... I still run a single-core all day long. _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list -- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I think I just have to send messages to open a specific file, turn it on and turn it off! should be no big deal! I was just trying the [pd~] object... it's too much for me... can't handle it... (specially under the stress I'm having!) So... I'll try the udp I guess... but how do I do that?
2010/8/18 Pedro Lopes pedro.lopes@ist.utl.pt
p.s.: notice that my 40 sockets rarely have packets on them, its not poling intensive. Just from time to time, when users change stuff around..
2010/8/18 Roman Haefeli reduzent@gmail.com
On Wed, 2010-08-18 at 15:34 +0100, João de Brito Vidigal wrote:
Since I'm doing this to ease multiple video processing (up to 18 short videos), do you think it's ok to open several different net ports? or will it then get stuck with that!?
Most of the net classes in Pd I am aware of are not threaded, so yeah, this theoretically could be an issue. In practice it might not.
The worst that can happen is when the receiving end point disappears without the sending end point noticing it. In such a case, the buffer of the sender gets filled and when it has reached the maximum, it blocks Pd completely. If both the sender and the receiver are running on the same box this very unlikely to happen. But still be aware of the buffer: If you send a lot of data, you might still be able to fill it, which would again cause drop outs. But again, if both are on the same box, it's unlikely you hit some bandwidth limit.
Now after writing this, I realize that problems relating to buffering are specifcic to TCP. There is no need to do buffering for sending UDP, so using UDP should even be less likely to cause troubles.
Roman
2010/8/17 Mario Mora maredmo@gmail.com Hi Joao
You can achieve that by starting one instance of pd in the usual way (for audio process by example) and the other one using the terminal app , writing there the adress to the app and starting it with the ./Pd-extended command by example....it is recommended that you start the pd instace for video (gem) with -noaudio flag or, alternatively desctivating the audio in the menu of the app. I have used that approach with success for audio and video processing in real-time like this: http://www.vimeo.com/12532169 hope it helps bests Mario 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> I'm using OSX I want to sync 2 PD's (not 2 PD patches). One to control sound the other to control video (GEM). "(your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that)" can OSX do it as well? On 17 Aug 2010, at 16:15, Pedro Lopes wrote: Can you clarify this a bit further? What are the two things you want to sync? (Arduino and pd? No need for OSC for that...but very do-able) (your OS can tell you in which CPU a process is running, there are several cmd tools in linux for that) Best regards, Pedro 2010/8/17 João de Brito Rocha Reis Vidigal <jbvidigal@gmail.com> Any idea on how to get the first Pd working with one processor and the second with the other? I'm using the Arduino firmata to trigger both sound and video. I think I can't open twice the same port! So how can I use the OSC then to sync the triggering!? On 17 Aug 2010, at 16:05, Mathieu Bouchard wrote: On Tue, 17 Aug 2010, Pierre Massat wrote: > Does this mean that in Linux and on a dual core machine one instance of Pd only uses one processor? No, it doesn't mean that. But all the messages and signals circulate in a since thread (on a single cpu) unless you use special tools to split it into several threads. Then there is the "client process", which "own" the patch windows and the main window. This runs separately. Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread. > Is there a way to know which processor it uses, and whether it always uses the same processor? No idea... I still run a single-core all day long. _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801 _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list -- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
On Wed, 2010-08-18 at 16:27 +0100, João de Brito Vidigal wrote:
So... I'll try the udp I guess... but how do I do that?
I'd use [netsend 1] on the sender and [netreceive <portnuber> 1] on the sender. You can use 'localhost' as host, if both are running on the same box.
Roman
2010/8/18 Pedro Lopes pedro.lopes@ist.utl.pt p.s.: notice that my 40 sockets rarely have packets on them, its not poling intensive. Just from time to time, when users change stuff around..
2010/8/18 Roman Haefeli <reduzent@gmail.com> On Wed, 2010-08-18 at 15:34 +0100, João de Brito Vidigal wrote: > Since I'm doing this to ease multiple video processing (up to 18 short > videos), do you think it's ok to open several different net ports? or > will it then get stuck with that!? Most of the net classes in Pd I am aware of are not threaded, so yeah, this theoretically could be an issue. In practice it might not. The worst that can happen is when the receiving end point disappears without the sending end point noticing it. In such a case, the buffer of the sender gets filled and when it has reached the maximum, it blocks Pd completely. If both the sender and the receiver are running on the same box this very unlikely to happen. But still be aware of the buffer: If you send a lot of data, you might still be able to fill it, which would again cause drop outs. But again, if both are on the same box, it's unlikely you hit some bandwidth limit. Now after writing this, I realize that problems relating to buffering are specifcic to TCP. There is no need to do buffering for sending UDP, so using UDP should even be less likely to cause troubles. Roman > 2010/8/17 Mario Mora <maredmo@gmail.com> > Hi Joao > > > You can achieve that by starting one instance of pd in the > usual way (for audio process by example) and the other one > using the terminal app , writing there the adress to the app > and starting it with the ./Pd-extended command by > example....it is recommended that you start the pd instace for > video (gem) with -noaudio flag or, alternatively desctivating > the audio in the menu of the app. > > > I have used that approach with success for audio and video > processing in real-time like this: > http://www.vimeo.com/12532169 > > > hope it helps > > > bests > > > Mario > > > > 2010/8/17 João de Brito Rocha Reis Vidigal > <jbvidigal@gmail.com> > I'm using OSX > I want to sync 2 PD's (not 2 PD patches). One to > control sound the other to control video (GEM). > > > "(your OS can tell you in which CPU a process is > running, there are several cmd tools in linux for > that)" > can OSX do it as well? > > > On 17 Aug 2010, at 16:15, Pedro Lopes wrote: > > Can you clarify this a bit further? > > What are the two things you want to sync? (Arduino and > pd? No need for OSC for that...but very do-able) > > (your OS can tell you in which CPU a process is > running, there are several cmd tools in linux for > that) > > > Best regards, > Pedro > > 2010/8/17 João de Brito Rocha Reis Vidigal > <jbvidigal@gmail.com> > Any idea on how to get the first Pd working > with one processor and the second with the > other? > > I'm using the Arduino firmata to trigger both > sound and video. I think I can't open twice > the same port! So how can I use the OSC then > to sync the triggering!? > > > > On 17 Aug 2010, at 16:05, Mathieu Bouchard > wrote: > > On Tue, 17 Aug 2010, Pierre Massat wrote: > > > Does this mean that in Linux and on a dual > core machine one instance of Pd only uses one > processor? > > No, it doesn't mean that. > > But all the messages and signals circulate in > a since thread (on a single cpu) unless you > use special tools to split it into several > threads. > > Then there is the "client process", which > "own" the patch windows and the main window. > This runs separately. > > Also, [soundfiler], some GEM input/output > classes, and much of PDP, can run in an > alternate thread. > > > Is there a way to know which processor it > uses, and whether it always uses the same > processor? > > No idea... I still run a single-core all day > long. > > _ _ __ ___ _____ ________ _____________ > _____________________ ... > | Mathieu Bouchard, Montréal, Québec. > téléphone: +1.514.383.3801 > > > > > _______________________________________________ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > > > -- > Pedro Lopes (ongoing MSc) > contact: pedro.lopes@ist.utl.pt > website: http://web.ist.utl.pt/Pedro.Lopes > > > > > _______________________________________________ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > > > _______________________________________________ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list -- Pedro Lopes (ongoing MSc) contact: pedro.lopes@ist.utl.pt website: http://web.ist.utl.pt/Pedro.Lopes
Hi, On Tue, Aug 17, 2010 at 11:05:57AM -0400, Mathieu Bouchard wrote:
Also, [soundfiler], some GEM input/output classes, and much of PDP, can
run in an alternate thread.
I think, you mean [readsf~] and [writesf~] instead of [soundfiler] here, which in upstream Pd is unthreaded.
[pd~] may be worth a look to distribute load on more cores but ...
No idea... I still run a single-core all day long.
... me, too.
Frank Barknecht Do You RjDj.me? _ ______footils.org__
On Tue, 17 Aug 2010, Frank Barknecht wrote:
On Tue, Aug 17, 2010 at 11:05:57AM -0400, Mathieu Bouchard wrote:
Also, [soundfiler], some GEM input/output classes, and much of PDP, can run in an alternate thread.
I think, you mean [readsf~] and [writesf~] instead of [soundfiler] here, which in upstream Pd is unthreaded.
right. The code of the threaded [soundfiler], which was made in 2004 or so, was lost in the sea of indifference.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801
On 08/17/2010 02:11 PM, João de Brito Rocha Reis Vidigal wrote:
Hi I remember reading somewhere that it is possible to have 2 Pd patches open running synched at the same time. This would be to manage sound and video in different patches in order not to get (or get less) glitches in sound and video.
How do I do this?
Depends on what you mean by synched.
Well of course you need to run two instances of Pd as if it was two different programs.
If you mean using one patch (in one pd instance) for audio and the other (another pd instance) for video, which is i think the only solution to get both audio and video work well, I usually synchronize them by exchanging messages through [netsend]/[netreceive] pairs, via either TCP or UDP.
I would periodically send a packet from audio patch to video patch to tell it the current time. The video patch would then compare it with its own time. If the difference (measured in frames) is above a certain threshold, it would use some strategy to correct the situation in the least disturbing way depending on the application.
In the most simple case, you would detect if the difference in frames is
1 (or <-1) and you would wait or skip the necessary number of frmaes.
Depending on the application, you may need much less than that (or a bit more). For example, when you have to start playing an audio and video clip at the same time (which may be an audio and video file or the generation of images and sound), you just send one message from the "master" (e.g. to the audio patch) to the "slave" (e.g. the video patch) so they would start at the same time. If the audio and videos you're playing or generating are short enough (few minutes) you may even not observe significant desynchronization. If you do, then you can resort to the above strategies to correct it.
All depends on the precision you need.
I usually use audio as a master and video as a slave because slightly affecting the speed of the video (or even skipping a frame) for resynching is usually much easier and more acceptable than doing the same on the audio side - but of course it depends.
Well I'm kind of assuming you're using GEM for the video; GEM is pretty good at maintaining a reliable timing; if it gets slow because of CPU load for a limited period of time, it tries to compensate it when it can, so it tends to not accumulate big errors soon.
Is this what you were talking about?