Hi, anyone out there having luck with pd 0.37, linux and jack?
Current devel_0_37 (is this the branch to get?) does not build on linux, it fails while trying to compile the portaudio stuff:
cc -DPD -DUNIX -Wall -W -Wstrict-prototypes -Wno-unused
-Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer
-DDL_OPEN -DUSEAPI_PORTAUDIO -DPA_USE_OSS -DPA_LITTLE_ENDIAN
-DUSEAPI_OSS -I../portaudio/pa_common
-I../portaudio/pablio -I../portaudio/portmidi-macosx -DPA_USE_ALSA
-DUSEAPI_ALSA -DUSEAPI_JACK -DJACK_XRUN -DINSTALL_PREFIX="/usr/local"
-I. -c -o ../obj/../portaudio/pa_common/pa_allocation.o
../portaudio/pa_common/pa_allocation.c
In file included from ../portaudio/pa_common/pa_allocation.c:34:
../portaudio/pa_common/pa_util.h:59: parse error before
"PaHostApiTypeId"
../portaudio/pa_common/pa_util.h:59: warning: function declaration isn't
a prototype
../portaudio/pa_common/pa_util.h:72: parse error before '*' token
../portaudio/pa_common/pa_util.h:73: warning: function declaration isn't
a prototype
../portaudio/pa_common/pa_util.h:92: parse error before "hostApiType"
../portaudio/pa_common/pa_util.h:93: warning: function declaration isn't
a prototype
make: *** [../portaudio/pa_common/pa_allocation.o] Error 1
There does not seem to be any way of turning off portaudio in configure :-( I looked around and it seemed like the missing stuff was only defined for windows.
I can get the "official" 0.37 version to build with a couple of patches that were posted to the list. But I can't get it to work with jack with buffer sizes < 512 (it keeps printing "Partial read" error messages). I found a thread in the list about this but "#define JACK_OUT_MAX 64" is there (instead of 512) and it does not make any difference for me... Any help appreciated.
-- Fernando
Hi Fernando At 11:26 AM 29/09/2003, Fernando Pablo Lopez-Lezcano wrote:
Current devel_0_37 (is this the branch to get?) does not build on linux, it fails while trying to compile the portaudio stuff:
cc -DPD -DUNIX -Wall -W -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -DDL_OPEN -DUSEAPI_PORTAUDIO -DPA_USE_OSS -DPA_LITTLE_ENDIAN -DUSEAPI_OSS -I../portaudio/pa_common -I../portaudio/pablio -I../portaudio/portmidi-macosx -DPA_USE_ALSA -DUSEAPI_ALSA -DUSEAPI_JACK -DJACK_XRUN -DINSTALL_PREFIX="/usr/local" -I. -c -o ../obj/../portaudio/pa_common/pa_allocation.o ../portaudio/pa_common/pa_allocation.c In file included from ../portaudio/pa_common/pa_allocation.c:34: ../portaudio/pa_common/pa_util.h:59: parse error before "PaHostApiTypeId" ../portaudio/pa_common/pa_util.h:59: warning: function declaration isn't a prototype ../portaudio/pa_common/pa_util.h:72: parse error before '*' token ../portaudio/pa_common/pa_util.h:73: warning: function declaration isn't a prototype ../portaudio/pa_common/pa_util.h:92: parse error before "hostApiType" ../portaudio/pa_common/pa_util.h:93: warning: function declaration isn't a prototype make: *** [../portaudio/pa_common/pa_allocation.o] Error 1
There does not seem to be any way of turning off portaudio in configure :-( I looked around and it seemed like the missing stuff was only defined for windows.
I can get the "official" 0.37 version to build with a couple of patches that were posted to the list. But I can't get it to work with jack with buffer sizes < 512 (it keeps printing "Partial read" error messages). I found a thread in the list about this but "#define JACK_OUT_MAX 64" is there (instead of 512) and it does not make any difference for me... Any help appreciated.
I have successfully used PD with JACK at a buffer size of 64 with no problems. I also posted a patch to the list to fix a jack client close bug, which I recommend be included in the package.
Luke
Luke Yelavich AudioSlack Founder and main package maintainer Audio software packaged for the Slackware Linux Distribution http://www.audioslack.com luke@audioslack.com
I wrote earlier:
I have successfully used PD with JACK at a buffer size of 64 with no problems. I also posted a patch to the list to fix a jack client close bug, which I recommend be included in the package.
Just to clarify, I mean the pd-dev list. I would be happy to send you the patch if you wish.
What version of JACK are you compiling against BTW?
Luke
Luke Yelavich AudioSlack Founder and main package maintainer Audio software packaged for the Slackware Linux Distribution http://www.audioslack.com luke@audioslack.com
I have successfully used PD with JACK at a buffer size of 64 with no problems. I also posted a patch to the list to fix a jack client close bug, which I recommend be included in the package.
Just to clarify, I mean the pd-dev list. I would be happy to send you the patch if you wish.
I got the pathes from the list (thanks!!). Sorry for the waste of bandwidth, pd 0.37 works with jack, I just mixed up versions while building and testing :-(
What version of JACK are you compiling against BTW?
0.80.0
Although it can work at less than 512 frames with jack, it quickly becomes unusable. I guess the gui is still tied too closely with the audio processing...
One curious behavior I found is this:
-- Fernando
At 12:50 PM 29/09/2003, Fernando Pablo Lopez-Lezcano wrote:
Although it can work at less than 512 frames with jack, it quickly becomes unusable. I guess the gui is still tied too closely with the audio processing...
One curious behavior I found is this:
- start jack (sr=48000)
- bring up the test audio panel
- start the test tone
- stop audio processing
- start audio processing
- generated test tone goes up in pitch... apparently it thinks it is processing at 44.1 but jack is running at 48k.
Yeah, I can reproduce this as well. Something needs to be added to force PD to use JACK's sample rate. I might have a dig around in the source to see if I can find anything related to this.
The problem itself goes back to the way PD interfaces with JACK, which is IMO dirty. When one starts the audio in PD, a JACK client is created, but once the audio stops, the client is completely closed, and all pports vanish. My patch only parcially fixes this as the JACK client was not being closed properly. A better, more perminant sollution needs to be put in place, as once one stops the audio processing, any connections that the user may have created are lost.
This doesn't fix your PortAudio problem however.
Luke
Luke Yelavich AudioSlack Founder and main package maintainer Audio software packaged for the Slackware Linux Distribution http://www.audioslack.com luke@audioslack.com
Hi,
I am going to check whats going on and commit the changes ASAP.
Thanks a lot for your observations.
Guenter
On Mon, 29 Sep 2003, Luke Yelavich wrote:
At 12:50 PM 29/09/2003, Fernando Pablo Lopez-Lezcano wrote:
Although it can work at less than 512 frames with jack, it quickly becomes unusable. I guess the gui is still tied too closely with the audio processing...
One curious behavior I found is this:
- start jack (sr=48000)
- bring up the test audio panel
- start the test tone
- stop audio processing
- start audio processing
- generated test tone goes up in pitch... apparently it thinks it is processing at 44.1 but jack is running at 48k.
Yeah, I can reproduce this as well. Something needs to be added to force PD to use JACK's sample rate. I might have a dig around in the source to see if I can find anything related to this.
The problem itself goes back to the way PD interfaces with JACK, which is IMO dirty. When one starts the audio in PD, a JACK client is created, but once the audio stops, the client is completely closed, and all pports vanish. My patch only parcially fixes this as the JACK client was not being closed properly. A better, more perminant sollution needs to be put in place, as once one stops the audio processing, any connections that the user may have created are lost.
This doesn't fix your PortAudio problem however.
Luke
Luke Yelavich AudioSlack Founder and main package maintainer Audio software packaged for the Slackware Linux Distribution http://www.audioslack.com luke@audioslack.com
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
At 11:26 PM 3/10/2003, guenter geiger wrote:
Hi,
I am going to check whats going on and commit the changes ASAP.
Thanks a lot for your observations.
Guenter
Guenter
I was able to reproduce this, but found out that if the audio is not turned on as soon as the patch loads, there is no problem. I think what is happening is the loadbang is being executed before the GUI is fully drawn. Since JACK is of a real-time nature, the JACK client is created, but since the GUI is also not fully drawn, PD has taken too long in the JACK period cycle.
I.E the loadbang execution needs to happen after the GUI is drawn.
Hope this helps
Luke
Luke Yelavich AudioSlack Founder and main package maintainer Audio software packaged for the Slackware Linux Distribution http://www.audioslack.com luke@audioslack.com
On Fri, 3 Oct 2003, Luke Yelavich wrote:
At 11:26 PM 3/10/2003, guenter geiger wrote:
Hi,
I am going to check whats going on and commit the changes ASAP.
Thanks a lot for your observations.
Guenter
Guenter
I was able to reproduce this, but found out that if the audio is not turned on as soon as the patch loads, there is no problem. I think what is happening is the loadbang is being executed before the GUI is fully drawn. Since JACK is of a real-time nature, the JACK client is created, but since the GUI is also not fully drawn, PD has taken too long in the JACK period cycle.
I.E the loadbang execution needs to happen after the GUI is drawn.
Hope this helps
Hi,
I have updated CVS devel_0_37 branch and I hope that I was able to get rid of some of the problems with jack that were introduced by the "Media" menu.
Cheers,
Guenter
I am going to check whats going on and commit the changes ASAP.
Thanks a lot for your observations.
I was able to reproduce this, but found out that if the audio is not turned on as soon as the patch loads, there is no problem. I think what is happening is the loadbang is being executed before the GUI is fully drawn. Since JACK is of a real-time nature, the JACK client is created, but since the GUI is also not fully drawn, PD has taken too long in the JACK period cycle.
I.E the loadbang execution needs to happen after the GUI is drawn.
Hope this helps
I have updated CVS devel_0_37 branch and I hope that I was able to get rid of some of the problems with jack that were introduced by the "Media" menu.
Thanks Guenter, it builds fine now. The problem with the sampling rate changing when using jack at 48KHz and turning audio processing on and off is still there, but well, you can specify -r 48000 in the command line and it will stay at the correct frequency.
Are all changes from the "official" 0.37 version merged in into cvs? -- Fernando
On 7 Oct 2003, Fernando Pablo Lopez-Lezcano wrote:
Thanks Guenter, it builds fine now. The problem with the sampling rate changing when using jack at 48KHz and turning audio processing on and off is still there, but well, you can specify -r 48000 in the command line and it will stay at the correct frequency.
Are all changes from the "official" 0.37 version merged in into cvs?
Actually I have fixed the samplerate problem, maybe it is not there yet because of the sourceforge latency. Thomas has merged in everything from 0.37, so it is pretty close to Millers version.
Guenter
Thanks Guenter, it builds fine now. The problem with the sampling rate changing when using jack at 48KHz and turning audio processing on and off is still there, but well, you can specify -r 48000 in the command line and it will stay at the correct frequency.
Are all changes from the "official" 0.37 version merged in into cvs?
Actually I have fixed the samplerate problem, maybe it is not there yet because of the sourceforge latency.
Arghh.... we need a low latency patch for sourceforge!! :-) Still not there...... -- Fernando