Closed PortAudio-admin closed 12 years ago
Comment by @bejayoharen
According to Stephane Letz, this patch is not required:
From: letz@grame.fr
Subject: [Portaudio] PA 19 working with JackOSX
Date: May 25, 2006 9:50:54 AM EDT
To: portaudio@techweb.rfa.org
Hi,
Just let you know that PA 19 is working correctly when used with JackOSX (www.jackosx.com) on OSX.
Thus a PortAudio based application using the CoreAudio backend, will became a Jack client (using the JackRouter driver part of the JackOSX package) This was not working with PA 18. I've not tested the direct PortAudio ==> Jack backend on OSX. but this should work also
Best Regards
Stephane Letz
Portaudio mailing list Portaudio@techweb.rfa.org http://techweb.rfa.org/mailman/listinfo/portaudio
Comment by @bejayoharen
This patch is no longer valid against the current code, but the core-aduio related changes should be taken care of. This ticket should be reassigned to the Jack Person, but I don;t know who that is.
Comment by Anonymous on Assembla
[Trac: Originally commented by leland_lucius on 2006-09-24 19:33:15]
Stephane is correct. As-is, portaudio does indeed work when using the Jack router. But, the patch also adds native (or direct) Jack support. This removes the need to have the router running and is akin to the support in Linux.
Let me break down the patch as suggested by Ross and then let's see what Jack-specific stuff is left. I'll be working on that this evening.
Leland
Comment by Anonymous on Assembla
[Trac: Originally commented by leland_lucius on 2006-09-24 19:33:15]
Bjorn,
I've attached a new Jack patch that has all of the ringbuffer stuff stripped out. If you and Ross approve those changes, then this new patch is all that is needed to include native Jack support on OSX.
Leland
diff -ruN orig/v19-devel/configure v19-devel/configure
--- orig/v19-devel/configure 2006-11-25 01:19:53.000000000 -0600
+++ v19-devel/configure 2006-11-25 01:19:24.000000000 -0600
@@ -20528,6 +20528,17 @@
CFLAGS="$CFLAGS -I\$(top_srcdir)/pa_asio -I$ASIDIR/host/mac -I$ASIODIR/common";
CXXFLAGS="$CFLAGS";
fi
+
+ if [ $have_jack = "yes" ] && [ $with_jack != "no" ] ; then
+ DLL_LIBS="$DLL_LIBS $JACK_LIBS"
+ CFLAGS="$CFLAGS $JACK_CFLAGS"
+ OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o"
+ cat >>confdefs.h <<\_ACEOF
+#define PA_USE_JACK 1
+_ACEOF
+
+ fi
+
;;
mingw* )
diff -ruN orig/v19-devel/configure.in v19-devel/configure.in
--- orig/v19-devel/configure.in 2006-11-25 01:19:53.000000000 -0600
+++ v19-devel/configure.in 2006-11-25 01:19:14.000000000 -0600
@@ -152,6 +152,14 @@
CFLAGS="$CFLAGS -I\$(top_srcdir)/pa_asio -I$ASIDIR/host/mac -I$ASIODIR/common";
CXXFLAGS="$CFLAGS";
fi
+
+ if [[ $have_jack = "yes" ] && [ $with_jack != "no" ]] ; then
+ DLL_LIBS="$DLL_LIBS $JACK_LIBS"
+ CFLAGS="$CFLAGS $JACK_CFLAGS"
+ OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o"
+ AC_DEFINE(PA_USE_JACK)
+ fi
+
;;
mingw* )
Comment by @bejayoharen
fixed in revision 1191
Comment by @RossBencina
TRAC migration: propagating ticket status from TRAC
Issue closed by @RossBencina
Issue created by Anonymous on Assembla
[Trac: Originally reported by leland_lucius on 2006-09-24 19:33:15]
The attached patch adds support for using Jack under Mac OSX. It includes a fix for memory overlays in pa_jack.c and fixes building CoreAudio and Jack at the same time.
There was a problem with duplicate symbols due to CoreAudio haveing its own version of pablio/ringbuffer.c and the way pa_jack.c included the same file. So, I took the ringbuffer.c|h files from the hostapi/coreaudio directory, added the Linux memory barriers, and moved it back to the pablio directory.
Now, CoreAudio and Jack use the same ringbuffer code and CoreAudio doesn't have to have its own copy.