diff options
Diffstat (limited to 'src/native/albind.c')
-rw-r--r-- | src/native/albind.c | 720 |
1 files changed, 720 insertions, 0 deletions
diff --git a/src/native/albind.c b/src/native/albind.c new file mode 100644 index 0000000..023f235 --- /dev/null +++ b/src/native/albind.c @@ -0,0 +1,720 @@ +/** +* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* -Redistribution of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* +* -Redistribution in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* Neither the name of Sun Microsystems, Inc. or the names of contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* This software is provided "AS IS," without a warranty of any kind. +* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING +* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR +* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS +* LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A +* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. +* IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT +* OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR +* PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, +* ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* +* You acknowledge that this software is not designed or intended for use in the +* design, construction, operation or maintenance of any nuclear facility. +*/ + + +#include "albind.h" +#include "extal.h" + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGenBuffersNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numBuffers, jobject buffers) { + if(buffers == 0) { + + } + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,buffers); + alGenBuffers((ALsizei)numBuffers,p); +} +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGenBuffersNative__I_3I + (JNIEnv *env, jobject obj, jint numBuffers, jintArray buffers) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,buffers,0); + if(p) { + alGenBuffers((ALsizei)numBuffers,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,buffers,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDeleteBuffersNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numBuffers, jobject buffers) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,buffers); + if(p) { + alDeleteBuffers((ALsizei)numBuffers,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDeleteBuffersNative__I_3I + (JNIEnv *env, jobject obj, jint numBuffers, jintArray buffers) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,buffers,0); + if(p) { + alDeleteBuffers((ALsizei)numBuffers,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,buffers,p,0); +} + +JNIEXPORT jboolean JNICALL Java_net_java_games_joal_ALImpl_alIsBuffer + (JNIEnv *env, jobject obj, jint bufferName) { + jboolean result; + result = alIsBuffer((ALuint)bufferName); + return result; +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alBufferDataNative__IILjava_nio_ByteBuffer_2II + (JNIEnv *env, + jobject obj, + jint bufferName, + jint format, + jobject data, + jint size, + jint frequency) { + ALvoid *p = (ALvoid*)(*env)->GetDirectBufferAddress(env,data); + if(p) { + alBufferData((ALuint)bufferName, + (ALenum)format, + p, + (ALsizei)size, + (ALsizei)frequency); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alBufferDataNative__II_3BII + (JNIEnv *env, + jobject obj, + jint bufferName, + jint format, + jbyteArray data, + jint size, + jint frequency) { + ALvoid *p = (ALvoid*)(*env)->GetPrimitiveArrayCritical(env,data,0); + if(p) { + alBufferData((ALuint)bufferName, + (ALenum)format, + p, + (ALsizei)size, + (ALsizei)frequency); + } + (*env)->ReleasePrimitiveArrayCritical(env,data,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetBufferfNative__II_3F + (JNIEnv *env, jobject obj, jint buffer, jint pname, jfloatArray rv) { + ALfloat *result = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,rv,0); + alGetBufferf((ALuint)buffer, (ALenum)pname, result); + (*env)->ReleasePrimitiveArrayCritical(env,rv,result,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetBufferfNative__IILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint buffer, jint pname, jobject rv) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,rv); + if(p) { + alGetBufferf((ALuint)buffer, (ALenum)pname, p); + } +} + +JNIEXPORT jfloat JNICALL Java_net_java_games_joal_ALImpl_alGetBufferf__II + (JNIEnv *env, jobject obj, jint buffer, jint pname) { + jfloat result; + alGetBufferf((ALuint)buffer, (ALenum)pname, &result); + return result; +} + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetBufferiNative__II_3I + (JNIEnv *env, jobject obj, jint buffer, jint pname, jintArray rv) { + ALint *p = (ALint*)(*env)->GetPrimitiveArrayCritical(env,rv,0); + if(p) { + alGetBufferi((ALuint)buffer, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetBufferiNative__IILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint buffer, jint pname, jobject rv) { + ALint *p = (ALint*)(*env)->GetDirectBufferAddress(env,rv); + if(p) { + alGetBufferi((ALuint)buffer, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +JNIEXPORT jint JNICALL Java_net_java_games_joal_ALImpl_alGetBufferi__II + (JNIEnv *env, jobject obj, jint buffer, jint pname) { + ALint result; + alGetBufferi((ALuint)buffer, (ALenum)pname, &result); + return (jint)result; +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGenSourcesNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alGenSources((ALsizei)numSources,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGenSourcesNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alGenSources((ALsizei)numSources,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDeleteSourcesNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alDeleteSources((ALsizei)numSources, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +/* + * Class: net_java_games_joal_AL + * Method: alDeleteSources + * Signature: (ILjava/nio/IntBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDeleteSourcesNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alDeleteSources((ALsizei)numSources, p); + } +} + +JNIEXPORT jboolean JNICALL Java_net_java_games_joal_ALImpl_alIsSource + (JNIEnv *env, jobject obj, jint sourceName) { + alIsSource((ALuint)sourceName); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcei + (JNIEnv *env, jobject obj, jint source, jint pname, jint value) { + alSourcei((ALuint)source,(ALenum)pname, (ALint)value); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcef + (JNIEnv *env, jobject obj, jint source, jint pname, jfloat value) { + alSourcef((ALuint)source,(ALenum)pname, (ALfloat)value); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcefvNative__II_3F + (JNIEnv *env, jobject obj, jint source, jint pname, jfloatArray value) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alSourcefv((ALuint)source, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); +} + +/* + * Class: net_java_games_joal_AL + * Method: alSourcefv + * Signature: (IILjava/nio/FloatBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcefvNative__IILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint pname, jobject value) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,value); + alSourcefv((ALuint)source, (ALenum)pname, p); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSource3f + (JNIEnv *env, + jobject obj, + jint source, + jint pname, + jfloat v1, + jfloat v2, + jfloat v3) { + alSource3f((ALuint)source, + (ALenum)pname, + (ALfloat)v1, + (ALfloat)v2, + (ALfloat)v3); +} + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourcefNative__II_3F + (JNIEnv *env, jobject obj, jint source, jint pname, jfloatArray rv) { + ALfloat *p = (*env)->GetPrimitiveArrayCritical(env,rv,0); + if(p) { + alGetSourcef((ALuint)source, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetSourcef + * Signature: (IILjava/nio/FloatBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourcefNative__IILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint pname, jobject rv) { + ALfloat *p = (*env)->GetDirectBufferAddress(env,rv); + if(p) { + alGetSourcef((ALuint)source, (ALenum)pname, p); + } +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetSourcef + * Signature: (II)F + */ +JNIEXPORT jfloat JNICALL Java_net_java_games_joal_ALImpl_alGetSourcef__II + (JNIEnv *env, jobject obj, jint source, jint pname) { + jfloat result; + alGetSourcef((ALuint)source, (ALenum)pname, &result); + return result; +} + + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourcefvNative__IILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint pname, jobject value) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetSourcefv((ALuint)source, (ALenum)pname, p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourcefvNative__II_3F + (JNIEnv *env, jobject obj, jint source, jint pname, jfloatArray value) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetSourcefv((ALuint)source, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourceiNative__II_3I + (JNIEnv *env, jobject obj, jint source, jint pname, jintArray rv) { + ALint *p = (ALint*)(*env)->GetPrimitiveArrayCritical(env,rv,0); + if(p) { + alGetSourcei((ALuint)source, (ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetSourcei + * Signature: (IILjava/nio/IntBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetSourceiNative__IILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint pname, jobject rv) { + ALint *p = (ALint*)(*env)->GetDirectBufferAddress(env,rv); + if(p) { + alGetSourcei((ALuint)source, (ALenum)pname, p); + } +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetSourcei + * Signature: (II)I + */ +JNIEXPORT jint JNICALL Java_net_java_games_joal_ALImpl_alGetSourcei__II + (JNIEnv *env, jobject obj, jint source, jint pname) { + ALint result; + alGetSourcei((ALuint)source, (ALenum)pname, &result); + return (jint)result; +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePlay + (JNIEnv *env, jobject obj, jint source) { + alSourcePlay((ALuint)source); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePlayvNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alSourcePlayv((ALsizei)numSources,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePlayvNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alSourcePlayv((ALsizei)numSources,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePause + (JNIEnv *env, jobject obj, jint source) { + alSourcePause((ALuint)source); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePausevNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alSourcePausev((ALsizei)numSources,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourcePausevNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alSourcePausev((ALsizei)numSources,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceStop + (JNIEnv *env, jobject obj, jint source) { + alSourceStop((ALuint)source); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceStopvNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alSourceStopv((ALsizei)numSources,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceStopvNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alSourceStopv((ALsizei)numSources,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceRewind + (JNIEnv *env, jobject obj, jint source) { + alSourceRewind((ALuint)source); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceRewindvNative__I_3I + (JNIEnv *env, jobject obj, jint numSources, jintArray sources) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,sources,0); + if(p) { + alSourceRewindv((ALsizei)numSources,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,sources,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceRewindvNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint numSources, jobject sources) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,sources); + if(p) { + alSourceRewindv((ALsizei)numSources,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceQueueBuffersNative__IILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint numBuffers, jobject buffers) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,buffers); + if(p) { + alSourceQueueBuffers((ALuint)source, (ALsizei)numBuffers, p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceQueueBuffersNative__II_3I + (JNIEnv *env, jobject obj, jint source, jint numBuffers, jintArray buffers) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,buffers,0); + if(p) { + alSourceQueueBuffers((ALuint)source, (ALsizei)numBuffers, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,buffers,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceUnqueueBuffersNative__II_3I + (JNIEnv *env, jobject obj, jint source, jint numBuffers, jintArray buffers) { + ALuint *p = (ALuint*)(*env)->GetPrimitiveArrayCritical(env,buffers,0); + if(p) { + alSourceUnqueueBuffers((ALuint)source, (ALsizei)numBuffers, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,buffers,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alSourceUnqueueBuffersNative__IILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint source, jint numBuffers, jobject buffers) { + ALuint *p = (ALuint*)(*env)->GetDirectBufferAddress(env,buffers); + if(p) { + alSourceUnqueueBuffers((ALuint)source, (ALsizei)numBuffers, p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alListenerf + (JNIEnv *env, jobject obj, jint pname, jfloat value) { + alListenerf((ALenum)pname,(ALfloat)value); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alListener3f + (JNIEnv *env, jobject obj, jint pname, jfloat v1, jfloat v2, jfloat v3) { + alListener3f((ALenum)pname, (ALfloat)v1, (ALfloat)v2, (ALfloat)v3); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alListenerfvNative__I_3F + (JNIEnv *env, jobject obj, jint pname, jfloatArray rv) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,rv,0); + alListenerfv((ALenum)pname, p); + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alListenerfvNative__ILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,value); + alListenerfv((ALenum)pname, p); +} + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListenerfNative__I_3F + (JNIEnv *env, jobject obj, jint pname, jfloatArray rv) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,rv,0); + if(p) { + alGetListenerf((ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,rv,p,0); +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetListenerf + * Signature: (ILjava/nio/FloatBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListenerfNative__ILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject rv) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,rv); + if(p) { + alGetListenerf((ALenum)pname, p); + } +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetListenerf + * Signature: (I)F + */ +JNIEXPORT jfloat JNICALL Java_net_java_games_joal_ALImpl_alGetListenerf__I + (JNIEnv *env, jobject object, jint pname) { + jfloat result; + alGetListenerf((ALenum)pname, &result); + return result; +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListener3fNative__I_3F_3F_3F + (JNIEnv *env, jobject obj, jint pname, jfloatArray v1, jfloatArray v2, jfloatArray v3) { + ALfloat *p1 = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,v1,0); + ALfloat *p2 = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,v2,0); + ALfloat *p3 = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,v3,0); + if(p1 && p2 && p3) { + alGetListener3f((ALenum)pname, p1, p2, p3); + } + (*env)->ReleasePrimitiveArrayCritical(env,v3,p3,0); + (*env)->ReleasePrimitiveArrayCritical(env,v2,p2,0); + (*env)->ReleasePrimitiveArrayCritical(env,v1,p1,0); +} + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListener3fNative__ILjava_nio_FloatBuffer_2Ljava_nio_FloatBuffer_2Ljava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject v1, jobject v2, jobject v3) { + ALfloat *p1 = (ALfloat*)(*env)->GetDirectBufferAddress(env,v1); + ALfloat *p2 = (ALfloat*)(*env)->GetDirectBufferAddress(env,v2); + ALfloat *p3 = (ALfloat*)(*env)->GetDirectBufferAddress(env,v3); + if(p1 && p2 && p3) { + alGetListener3f((ALenum)pname, p1, p2, p3); + } +} + + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListenerfvNative__I_3F + (JNIEnv *env, jobject obj, jint pname, jfloatArray value) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetListenerfv((ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListenerfvNative__ILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetListenerfv((ALenum)pname, p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListeneriNative__I_3I + (JNIEnv *env, jobject obj, jint pname, jintArray value) { + ALint *p = (ALint*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetListeneri((ALenum)pname, p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); + +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetListeneri + * Signature: (ILjava/nio/IntBuffer;)V + */ +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetListeneriNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALint *p = (ALint*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetListeneri((ALenum)pname, p); + } +} + +/* + * Class: net_java_games_joal_AL + * Method: alGetListeneri + * Signature: (I)I + */ +JNIEXPORT jint JNICALL Java_net_java_games_joal_ALImpl_alGetListeneri__I + (JNIEnv *env, jobject obj, jint pname) { + ALint result; + alGetListeneri((ALenum)pname, &result); + return (jint)result; +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alEnable + (JNIEnv *env, jobject obj, jint capability) { + alEnable((ALenum)capability); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDisable + (JNIEnv *env, jobject obj, jint capability) { + alDisable((ALenum)capability); +} + +JNIEXPORT jboolean JNICALL Java_net_java_games_joal_ALImpl_alIsEnabled + (JNIEnv *env, jobject obj, jint pname) { + return alIsEnabled((ALenum)pname); +} + +JNIEXPORT jboolean JNICALL Java_net_java_games_joal_ALImpl_alGetBoolean + (JNIEnv *env, jobject obj, jint pname) { + return alGetBoolean((ALenum)pname); +} + +JNIEXPORT jdouble JNICALL Java_net_java_games_joal_ALImpl_alGetDouble + (JNIEnv *env, jobject obj, jint pname) { + return alGetDouble((ALenum)pname); +} + +JNIEXPORT jfloat JNICALL Java_net_java_games_joal_ALImpl_alGetFloat + (JNIEnv *env, jobject obj, jint pname) { + return alGetFloat((ALenum)pname); +} + +JNIEXPORT jint JNICALL Java_net_java_games_joal_ALImpl_alGetInteger + (JNIEnv *env, jobject obj, jint pname) { + return alGetInteger((ALenum)pname); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetDoublevNative__I_3D + (JNIEnv *env, jobject obj, jint pname, jdoubleArray value) { + ALdouble *p = (ALdouble*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetDoublev((ALenum)pname,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); + +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetDoublevNative__ILjava_nio_DoubleBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALdouble *p = (ALdouble*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetDoublev((ALenum)pname,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetFloatvNative__I_3F + (JNIEnv *env, jobject obj, jint pname, jfloatArray value) { + ALfloat *p = (ALfloat*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetFloatv((ALenum)pname,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetFloatvNative__ILjava_nio_FloatBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALfloat *p = (ALfloat*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetFloatv((ALenum)pname,p); + } +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetIntegervNative__I_3I + (JNIEnv *env, jobject obj, jint pname, jintArray value) { + ALint *p = (ALint*)(*env)->GetPrimitiveArrayCritical(env,value,0); + if(p) { + alGetIntegerv((ALenum)pname,p); + } + (*env)->ReleasePrimitiveArrayCritical(env,value,p,0); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alGetIntegervNative__ILjava_nio_IntBuffer_2 + (JNIEnv *env, jobject obj, jint pname, jobject value) { + ALint *p = (ALint*)(*env)->GetDirectBufferAddress(env,value); + if(p) { + alGetIntegerv((ALenum)pname,p); + } +} + + +JNIEXPORT jstring JNICALL Java_net_java_games_joal_ALImpl_alGetString + (JNIEnv *env, jobject obj, jint pname) { + ALubyte* p = alGetString((ALenum)pname); + return (*env)->NewStringUTF(env, p); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDistanceModel + (JNIEnv *env, jobject obj, jint value) { + alDistanceModel((ALenum)value); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDopplerFactor + (JNIEnv *env, jobject obj, jfloat value) { + alDopplerFactor((ALfloat)value); +} + +JNIEXPORT void JNICALL Java_net_java_games_joal_ALImpl_alDopplerVelocity + (JNIEnv *env, jobject obj, jfloat value) { + alDopplerVelocity((ALfloat)value); +} + +JNIEXPORT jint JNICALL Java_net_java_games_joal_ALImpl_alGetError + (JNIEnv *env, jobject obj) { + return alGetError(); +} + +JNIEXPORT jboolean JNICALL Java_net_java_games_joal_ALImpl_alIsExtensionPresent + (JNIEnv *env, jobject obj, jstring extName) { + ALubyte *str; + str = (ALubyte*)(*env)->GetStringUTFChars(env, extName, NULL); + if(!str) { + return 0; + } + return alIsExtensionPresent(str); +} |