Modified to JPortAudio to support builds on Macintosh.
This commit is contained in:
parent
373c29f7b0
commit
ac4bb571cb
4 changed files with 36 additions and 3 deletions
|
|
@ -1,5 +1,10 @@
|
|||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#if defined(__APPLE__)
|
||||
#include <JavaVM/jni.h>
|
||||
#else
|
||||
#include <jni.h>
|
||||
#endif
|
||||
|
||||
/* Header for class com_portaudio_BlockingStream */
|
||||
|
||||
#ifndef _Included_com_portaudio_BlockingStream
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* DO NOT EDIT THIS FILE - it is machine generated */
|
||||
#include <jni.h>
|
||||
#include <JavaVM/jni.h>
|
||||
/* Header for class com_portaudio_PortAudio */
|
||||
|
||||
#ifndef _Included_com_portaudio_PortAudio
|
||||
|
|
|
|||
|
|
@ -178,8 +178,12 @@ jint jpa_ThrowError( JNIEnv *env, const char *message )
|
|||
// Throw an exception on error.
|
||||
jint jpa_CheckError( JNIEnv *env, PaError err )
|
||||
{
|
||||
if( err < 0 )
|
||||
if( err == -1 )
|
||||
{
|
||||
return jpa_ThrowError( env, "-1, possibly no available default device" );
|
||||
}
|
||||
else if( err < 0 )
|
||||
{
|
||||
if( err == paUnanticipatedHostError )
|
||||
{
|
||||
const PaHostErrorInfo *hostErrorInfo = Pa_GetLastHostErrorInfo();
|
||||
|
|
|
|||
|
|
@ -34,4 +34,28 @@ Place the following libraries where they can be found, typically in the same fol
|
|||
- jportaudio_x86.dll
|
||||
- jportaudio_x64.dll
|
||||
|
||||
*/
|
||||
@section java_comp_max Building JPortAudio on Mac
|
||||
|
||||
These are notes from building JPortAudio on a Mac with 10.6.8 and XCode 4.
|
||||
|
||||
I created a target of type 'C' library.
|
||||
|
||||
I added the regular PortAudio frameworks plus the JavaVM framework.
|
||||
|
||||
I modified com_portaudio_PortAudio.h and com_portaudio_BlockingStream.h so that jni.h could found.
|
||||
|
||||
@code
|
||||
#if defined(__APPLE__)
|
||||
#include <JavaVM/jni.h>
|
||||
#else
|
||||
#include <jni.h>
|
||||
#endif
|
||||
@endcode
|
||||
|
||||
This is bad because those header files are autogenerated and will be overwritten.
|
||||
We need a better solution for this.
|
||||
|
||||
I had trouble finding the "libjportaudio.jnilib". So I added a Build Phase that copied the library to "/Users/phil/Library/Java/Extensions".
|
||||
|
||||
On the Mac we can create a universal library for both 32 and 64-bit JVMs. So in the JAR file I will open "jportaudio" on Apple. ON WIndows I will continue to open "jportaudio_x64" and "jportaudio_x86".
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue