From 7a763bff2934753b04d01b1b4154e696d6fbcd5a Mon Sep 17 00:00:00 2001 From: Brian Matzon Date: Sat, 27 Dec 2003 02:10:56 +0000 Subject: [PATCH] *fv support --- src/java/org/lwjgl/openal/CoreAL.java | 24 +++++++++++++++++++ src/native/common/org_lwjgl_openal_CoreAL.cpp | 20 ++++++++++++++++ src/native/common/org_lwjgl_openal_CoreAL.h | 22 ++++++++++++++--- 3 files changed, 63 insertions(+), 3 deletions(-) diff --git a/src/java/org/lwjgl/openal/CoreAL.java b/src/java/org/lwjgl/openal/CoreAL.java index 75addf2e..59c23445 100644 --- a/src/java/org/lwjgl/openal/CoreAL.java +++ b/src/java/org/lwjgl/openal/CoreAL.java @@ -315,6 +315,17 @@ public abstract class CoreAL extends BaseAL implements BaseALConstants { */ public static native void alListenerf(int pname, float value); + /** + * Listener attributes are changed using the Listener group of commands. + * + * @param pname name of the attribute to be set + * @param value FloatBuffer containing value to set the attribute to + */ + public static void alListener(int pname, FloatBuffer value) { + nalListenerfv(pname, value, value.position()); + } + public static native void nalListenerfv(int pname, FloatBuffer value, int offset); + /** * Listener attributes are changed using the Listener group of commands. * @@ -404,6 +415,19 @@ public abstract class CoreAL extends BaseAL implements BaseALConstants { */ public static native void alSourcef(int source, int pname, float value); + /** + * Specifies the position and other properties as taken into account during + * sound processing. + * + * @param source Source to det property on + * @param pname property to set + * @param value FloatBuffer containing value of property + */ + public static void alSource(int source, int pname, FloatBuffer value) { + nalSourcefv(source, pname, value, value.position()); + } + public static native void nalSourcefv(int source, int pname, FloatBuffer value, int offset); + /** * Specifies the position and other properties as taken into account during * sound processing. diff --git a/src/native/common/org_lwjgl_openal_CoreAL.cpp b/src/native/common/org_lwjgl_openal_CoreAL.cpp index db00b361..2a37be10 100644 --- a/src/native/common/org_lwjgl_openal_CoreAL.cpp +++ b/src/native/common/org_lwjgl_openal_CoreAL.cpp @@ -221,6 +221,15 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alListenerf (JNIEnv *env, jc CHECK_AL_ERROR } +/* + * Class: org_lwjgl_openal_CoreAL + * Method: nalListenerf + * Signature: (ILjava/nio/FloatBuffer;I)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_nalListenerfv (JNIEnv *env, jclass clazz, jint pname, jobject values, jint offset) { + alListenerfv((ALenum) pname, offset + (ALfloat*) env->GetDirectBufferAddress(values)); +} + /** * This function sets a floating point property for the listener. * @@ -327,6 +336,17 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alSourcef (JNIEnv *env, jcla CHECK_AL_ERROR } +/* + * Class: org_lwjgl_openal_CoreAL + * Method: nalSourcefv + * Signature: (IILjava/nio/FloatBuffer;I)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_nalSourcefv (JNIEnv *env, jclass clazz, jint source, jint pname, jobject values, jint offset) { + alSourcefv((ALuint) source, (ALenum) pname, offset + (ALfloat*) env->GetDirectBufferAddress(values)); + CHECK_AL_ERROR +} + + /** * This function sets a source property requiring three floating point values. * C Specification: diff --git a/src/native/common/org_lwjgl_openal_CoreAL.h b/src/native/common/org_lwjgl_openal_CoreAL.h index 24d72e74..4c04e1bb 100644 --- a/src/native/common/org_lwjgl_openal_CoreAL.h +++ b/src/native/common/org_lwjgl_openal_CoreAL.h @@ -8,10 +8,10 @@ extern "C" { #endif /* Inaccessible static: created */ -/* Inaccessible static: class_00024org_00024lwjgl_00024openal_00024BaseAL */ -/* Inaccessible static: class_00024java_00024lang_00024String */ +/* Inaccessible static: class_000240 */ +/* Inaccessible static: class_000241 */ /* Inaccessible static: _00024assertionsDisabled */ -/* Inaccessible static: class_00024org_00024lwjgl_00024openal_00024CoreAL */ +/* Inaccessible static: class_000240 */ /* * Class: org_lwjgl_openal_CoreAL * Method: alEnable @@ -140,6 +140,14 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alListeneri JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alListenerf (JNIEnv *, jclass, jint, jfloat); +/* + * Class: org_lwjgl_openal_CoreAL + * Method: nalListenerfv + * Signature: (ILjava/nio/FloatBuffer;I)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_nalListenerfv + (JNIEnv *, jclass, jint, jobject, jint); + /* * Class: org_lwjgl_openal_CoreAL * Method: alListener3f @@ -212,6 +220,14 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alSourcei JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_alSourcef (JNIEnv *, jclass, jint, jint, jfloat); +/* + * Class: org_lwjgl_openal_CoreAL + * Method: nalSourcefv + * Signature: (IILjava/nio/FloatBuffer;I)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_nalSourcefv + (JNIEnv *, jclass, jint, jint, jobject, jint); + /* * Class: org_lwjgl_openal_CoreAL * Method: alSource3f