Copying android native from trunk to the new structure.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/branches/gradle-restructure@10966 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
experimental
PSp..om 11 years ago
parent ed77d40c63
commit 836123d0f4
  1. 55
      jme3-android-native/src/native/android/Android.mk
  2. 3
      jme3-android-native/src/native/android/Application.mk
  3. 483
      jme3-android-native/src/native/android/com_jme3_audio_android_AndroidOpenALSoftAudioRenderer.cpp
  4. 319
      jme3-android-native/src/native/android/com_jme3_audio_android_AndroidOpenALSoftAudioRenderer.h
  5. 147
      jme3-android-native/src/native/android/config.h

@ -0,0 +1,55 @@
TARGET_PLATFORM := android-9
ROOT_PATH := $(call my-dir)
########################################################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := openalsoftjme
LOCAL_ARM_MODE := arm
LOCAL_PATH := $(ROOT_PATH)
LOCAL_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/include $(LOCAL_PATH)/OpenAL32/Include
LOCAL_CFLAGS := -ffast-math -DAL_BUILD_LIBRARY -DAL_ALEXT_PROTOTYPES
LOCAL_LDLIBS := -llog -Wl,-s
LOCAL_LDLIBS += -lOpenSLES
# LOCAL_CFLAGS += -DPOST_FROYO #-I$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/include/
# LOCAL_LDLIBS += -ldl -L$(ANDROID_NDK_ROOT)/platforms/android-9/arch-arm/usr/lib/
LOCAL_SRC_FILES := OpenAL32/alAuxEffectSlot.c \
OpenAL32/alBuffer.c \
OpenAL32/alEffect.c \
OpenAL32/alError.c \
OpenAL32/alExtension.c \
OpenAL32/alFilter.c \
OpenAL32/alListener.c \
OpenAL32/alSource.c \
OpenAL32/alState.c \
OpenAL32/alThunk.c \
Alc/ALc.c \
Alc/ALu.c \
Alc/alcChorus.c \
Alc/alcConfig.c \
Alc/alcDedicated.c \
Alc/alcEcho.c \
Alc/alcFlanger.c \
Alc/alcModulator.c \
Alc/alcReverb.c \
Alc/alcRing.c \
Alc/alcThread.c \
Alc/bs2b.c \
Alc/helpers.c \
Alc/panning.c \
Alc/hrtf.c \
Alc/mixer.c \
Alc/mixer_c.c \
Alc/backends/loopback.c \
Alc/backends/null.c \
Alc/backends/opensl.c \
com_jme3_audio_android_AndroidOpenALSoftAudioRenderer.cpp
# Alc/backends/alsa.c \
# Alc/backends/android.c \
include $(BUILD_SHARED_LIBRARY)

@ -0,0 +1,3 @@
APP_OPTIM := release
APP_ABI := all
#APP_ABI := armeabi-v7a

@ -0,0 +1,483 @@
#include "com_jme3_audio_android_AndroidOpenALSoftAudioRenderer.h"
#include "AL/alc.h"
#include "AL/al.h"
#include "AL/alext.h"
// for __android_log_print(ANDROID_LOG_INFO, "YourApp", "formatted message");
#include <android/log.h>
#include <jni.h>
#include <stddef.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <time.h>
#ifdef __cplusplus
extern "C" {
#endif
static jboolean created = JNI_FALSE;
#define BUFFER_COUNT 1
ALuint* buffers[BUFFER_COUNT] = { 0 };
ALuint* source = 0;
int getError() {
int errorcode = alGetError();
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "getError: %d", errorcode);
return errorcode;
}
/* InitAL opens the default device and sets up a context using default
* attributes, making the program ready to call OpenAL functions. */
int InitAL()
{
ALCdevice *device;
ALCcontext *ctx;
/* Open and initialize a device with default settings */
device = alcOpenDevice(NULL);
if(!device)
{
fprintf(stderr, "Could not open a device!\n");
return 1;
}
ctx = alcCreateContext(device, NULL);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "NULL: %d", NULL);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Created context: %d", ctx);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Created context addr: %d", &ctx);
if(ctx == NULL || alcMakeContextCurrent(ctx) == ALC_FALSE)
{
if(ctx != NULL)
alcDestroyContext(ctx);
alcCloseDevice(device);
fprintf(stderr, "Could not set a context!\n");
return 1;
}
printf("Opened \"%s\"\n", alcGetString(device, ALC_DEVICE_SPECIFIER));
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Opened %s", alcGetString(device, ALC_DEVICE_SPECIFIER));
return 0;
}
/* CloseAL closes the device belonging to the current context, and destroys the
* context. */
void CloseAL()
{
ALCdevice *device;
ALCcontext *ctx;
ALCboolean result;
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Getting current context");
ctx = alcGetCurrentContext();
// getError();
if(ctx == NULL){
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "No context found");
return;
}
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Getting current context device");
device = alcGetContextsDevice(ctx);
if(device == NULL) {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "No device found");
return;
} else {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcGetContextsDevice device: %d", device);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcGetContextsDevice device addr: %d", &device);
}
// getError();
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Setting context to NULL");
result = alcMakeContextCurrent(NULL);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcMakeContextCurrent returned");
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcMakeContextCurrent returned with result: %d", result);
if(!result) {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcMakeContextCurrent failed");
return;
}
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Destroying context: %d", ctx);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Destroying context addr: %d", &ctx);
alcDestroyContext(ctx);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Closing device");
result = alcCloseDevice(device);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcCloseDevice result: %d", result);
}
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alIsCreated
(JNIEnv* env, jclass)
{
return created;
}
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alCreate
(JNIEnv* env, jclass)
{
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "Starting Audio Engine");
InitAL();
created = JNI_TRUE;
return created;
}
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDestroy
(JNIEnv* env, jclass)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDestroy");
CloseAL();
created = JNI_FALSE;
return created;
}
JNIEXPORT jstring JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcGetString
(JNIEnv* env, jclass, jint param)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcGetString for param: %d", param);
ALCdevice *device;
ALCcontext *ctx;
ctx = alcGetCurrentContext();
if(ctx != NULL) {
device = alcGetContextsDevice(ctx);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcGetString param value: %s", alcGetString(device, param));
return env->NewStringUTF(alcGetString(device, param));
}
}
JNIEXPORT jstring JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetString
(JNIEnv* env, jclass, jint param)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGetString for param: %d", param);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGetString param value: %s", alGetString(param));
return env->NewStringUTF(alGetString(param));
}
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenSources
(JNIEnv *, jclass)
{
ALuint source;
alGenSources(1, &source);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGenSources: %d", source);
return source;
}
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetError
(JNIEnv *, jclass)
{
return getError();
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteSources
(JNIEnv* env, jclass, jint numSources, jobject intbufSources)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteSources numSources: %d", numSources);
ALuint* pIntBufSources = (ALuint*) env->GetDirectBufferAddress(intbufSources);
alDeleteSources((ALsizei)numSources, pIntBufSources);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenBuffers
(JNIEnv* env, jclass, jint numBuffers, jobject intbufBuffers)
{
ALuint* pIntBufBuffers = (ALuint*) env->GetDirectBufferAddress(intbufBuffers);
alGenBuffers((ALsizei)numBuffers, pIntBufBuffers);
// for (int i=0; i<numBuffers; i++) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGenBuffers[%d]: %d", i, *(pIntBufBuffers+i));
// }
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteBuffers
(JNIEnv* env, jclass, jint numBuffers, jobject intbufBuffers)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteBuffers numBuffers: %d", numBuffers);
ALuint* pIntBufBuffers = (ALuint*) env->GetDirectBufferAddress(intbufBuffers);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteBuffers Buffers: %d", *pIntBufBuffers);
// for (int i=0; i<numBuffers; i++) {
// if(alIsBuffer(*(pIntBufBuffers+i)) == AL_TRUE) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteBuffers[%d]: %d", i, *(pIntBufBuffers+i));
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteBuffers buffer is a known buffer");
// }
// }
alDeleteBuffers((ALsizei)numBuffers, pIntBufBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceStop
(JNIEnv *, jclass, jint source)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceStop for source: %d", source);
alSourceStop((ALuint)source);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcei
(JNIEnv *, jclass, jint source, jint param, jint value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourcei for source: %d, param: %d, value: %d", source, param, value);
alSourcei((ALuint)source, (ALenum)param, (ALint)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alBufferData
(JNIEnv* env, jclass, jint buffer, jint format, jobject bufferData, jint bufferSize, jint frequency)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alBufferData for source: %d, format: %d, size: %d, frequency: %d", buffer, format, bufferSize, frequency);
ALuint* pBufferData = (ALuint*) env->GetDirectBufferAddress(bufferData);
alBufferData((ALuint)buffer, (ALenum)format, pBufferData, (ALsizei)bufferSize, (ALsizei)frequency);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcePlay
(JNIEnv *, jclass, jint source)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourcePlay for source: %d", source);
alSourcePlay((ALuint)source);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcePause
(JNIEnv *, jclass, jint source)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourcePause for source: %d", source);
alSourcePause((ALuint)source);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcef
(JNIEnv *, jclass, jint source, jint param, jfloat value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourcef for source: %d, param: %d, value: %f", source, param, value);
alSourcef((ALuint)source, (ALenum)param, (ALfloat)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSource3f
(JNIEnv *, jclass, jint source, jint param, jfloat value1, jfloat value2, jfloat value3)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSource3f for source: %d, param: %d, value1: %f, value2: %f, value3: %f", source, param, value1, value2, value3);
alSource3f((ALuint)source, (ALenum)param, (ALfloat)value1, (ALfloat)value2, (ALfloat)value3);
}
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetSourcei
(JNIEnv *, jclass, jint source, jint param)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGetSourcei for source: %d, param: %d", source, param);
ALint result;
alGetSourcei((ALuint)source, (ALenum)param, &result);
return (jint)result;
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceUnqueueBuffers
(JNIEnv* env, jclass, jint source, jint numBuffers, jobject buffers)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceUnqueueBuffers for source: %d, numBuffers: %d", source, numBuffers);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffers);
// for (ALuint i=0; i<numBuffers; i++) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceUnqueueBuffers, checking buffer[%d]: %d", i, *(pBuffers+i));
// ALboolean isBuffer = alIsBuffer(*(pBuffers+i));
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "buffer check result: %d", isBuffer);
// }
alSourceUnqueueBuffers((ALuint)source, (ALsizei)numBuffers, pBuffers);
// for (ALuint i=0; i<numBuffers; i++) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceUnqueueBuffers[%d]: %d", i, *(pBuffers+i));
// }
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceQueueBuffers
(JNIEnv* env, jclass, jint source, jint numBuffers, jobject buffers)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceQueueBuffers for source: %d, numBuffers: %d", source, numBuffers);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffers);
alSourceQueueBuffers((ALuint)source, (ALsizei)numBuffers, pBuffers);
// for (ALuint i=0; i<numBuffers; i++) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSourceQueueBuffers[%d]: %d", i, *(pBuffers+i));
// }
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListener
(JNIEnv* env, jclass, jint param, jobject bufferData)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alListener for param: %d", param);
ALfloat* pBufferData = (ALfloat*) env->GetDirectBufferAddress(bufferData);
alListenerfv((ALenum)param, pBufferData);
// getError();
// for (int i=0; i<4; i++) {
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alListener[%d]: %f", i, *(pBufferData+(i*sizeof(ALfloat))));
// }
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListenerf
(JNIEnv *, jclass, jint param, jfloat value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alListenerf for param: %d, value: %f", param, value);
alListenerf((ALenum)param, (ALfloat)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListener3f
(JNIEnv *, jclass, jint param, jfloat value1, jfloat value2, jfloat value3)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alListener3f for param: %d, value1: %f, value2: %f, value3: %f", param, value1, value2, value3);
alListener3f((ALenum)param, (ALfloat)value1, (ALfloat)value2, (ALfloat)value3);
}
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcIsExtensionPresent
(JNIEnv* env, jclass, jstring extension)
{
ALCdevice *device;
ALCcontext *ctx;
ALboolean result;
// char buf[128];
const char* strExtension;
jsize strLength = env->GetStringUTFLength(extension);
ctx = alcGetCurrentContext();
if(ctx != NULL) {
device = alcGetContextsDevice(ctx);
if (device != NULL) {
strExtension = env->GetStringUTFChars(extension, NULL);
if (strExtension == NULL) {
return JNI_FALSE; /* OutOfMemoryError already thrown */
}
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcIsExtensionPresent for param: %s with size: %d", strExtension, strLength);
result = alcIsExtensionPresent(device, strExtension);
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcIsExtensionPresent found: %d", result);
env->ReleaseStringUTFChars(extension, strExtension);
return (jboolean)result;
} else {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "device is null in alcIsExtensionPresent");
}
} else {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "current context is null in alcIsExtensionPresent");
}
return JNI_FALSE;
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcGetInteger
(JNIEnv* env, jclass, jint param, jobject buffer, jint bufferSize)
{
ALCdevice *device;
ALCcontext *ctx;
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alcGetInteger for param: %d", param);
ALCint* pBuffers = (ALCint*) env->GetDirectBufferAddress(buffer);
ctx = alcGetCurrentContext();
if(ctx != NULL) {
device = alcGetContextsDevice(ctx);
if (device != NULL) {
alcGetIntegerv(device, (ALCenum)param, (ALCsizei)bufferSize, pBuffers);
} else {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "device is null in alcGetInteger");
}
} else {
__android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "current context is null in alcGetInteger");
}
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenAuxiliaryEffectSlots
(JNIEnv* env, jclass, jint numSlots, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGenAuxiliaryEffectSlots for numSlots: %d", numSlots);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alGenAuxiliaryEffectSlots((ALsizei)numSlots, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenEffects
(JNIEnv* env, jclass, jint numEffects, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGenEffects for numEffects: %d", numEffects);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alGenEffects((ALsizei)numEffects, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alEffecti
(JNIEnv *, jclass, jint effect, jint param, jint value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alEffecti for effect: %d, param: %d, value: %d", effect, param, value);
alEffecti((ALuint)effect, (ALenum)param, (ALint)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alAuxiliaryEffectSloti
(JNIEnv *, jclass, jint effectSlot, jint param, jint value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alAuxiliaryEffectSloti for effect: %d, param: %d, value: %d", effectSlot, param, value);
alAuxiliaryEffectSloti((ALuint)effectSlot, (ALenum)param, (ALint)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteEffects
(JNIEnv* env, jclass, jint numEffects, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteEffects for numEffects: %d", numEffects);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alDeleteEffects((ALsizei)numEffects, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteAuxiliaryEffectSlots
(JNIEnv* env, jclass, jint numEffectSlots, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteAuxiliaryEffectSlots for numEffectSlots: %d", numEffectSlots);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alDeleteAuxiliaryEffectSlots((ALsizei)numEffectSlots, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenFilters
(JNIEnv* env, jclass, jint numFilters, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alGenFilters for numFilters: %d", numFilters);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alGenFilters((ALsizei)numFilters, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alFilteri
(JNIEnv *, jclass, jint filter, jint param, jint value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alFilteri for filter: %d, param: %d, value: %d", filter, param, value);
alFilteri((ALuint)filter, (ALenum)param, (ALint)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alFilterf
(JNIEnv *, jclass, jint filter, jint param, jfloat value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alFilterf for filter: %d, param: %d, value: %f", filter, param, value);
alFilterf((ALuint)filter, (ALenum)param, (ALfloat)value);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSource3i
(JNIEnv *, jclass, jint source, jint param, jint value1, jint value2, jint value3)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alSource3i for source: %d, param: %d, value1: %d, value2: %d, value3: %d", source, param, value1, value2, value3);
alSource3i((ALuint)source, (ALenum)param, (ALint)value1, (ALint)value2, (ALint)value3);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteFilters
(JNIEnv* env, jclass, jint numFilters, jobject buffer)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alDeleteFilters for numFilters: %d", numFilters);
ALuint* pBuffers = (ALuint*) env->GetDirectBufferAddress(buffer);
alDeleteFilters((ALsizei)numFilters, pBuffers);
}
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alEffectf
(JNIEnv *, jclass, jint effect, jint param, jfloat value)
{
// __android_log_print(ANDROID_LOG_INFO, "OpenAL Soft", "alEffectf for effect: %d, param: %d, value: %d", effect, param, value);
alEffectf((ALuint)effect, (ALenum)param, (ALfloat)value);
}
#ifdef __cplusplus
}
#endif

@ -0,0 +1,319 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_jme3_audio_android_AndroidOpenALSoftAudioRenderer */
#ifndef _Included_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
#define _Included_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
#ifdef __cplusplus
extern "C" {
#endif
/* Inaccessible static: logger */
#undef com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_BUFFER_SIZE
#define com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_BUFFER_SIZE 35280L
#undef com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_STREAMING_BUFFER_COUNT
#define com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_STREAMING_BUFFER_COUNT 5L
#undef com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_MAX_NUM_CHANNELS
#define com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_MAX_NUM_CHANNELS 64L
#undef com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_UPDATE_RATE
#define com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_UPDATE_RATE 0.05f
/* Inaccessible static: _00024assertionsDisabled */
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alIsCreated
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alIsCreated
(JNIEnv *, jclass);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alCreate
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alCreate
(JNIEnv *, jclass);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDestroy
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDestroy
(JNIEnv *, jclass);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alcGetString
* Signature: (I)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcGetString
(JNIEnv *, jclass, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGetString
* Signature: (I)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetString
(JNIEnv *, jclass, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGenSources
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenSources
(JNIEnv *, jclass);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGetError
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetError
(JNIEnv *, jclass);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDeleteSources
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteSources
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGenBuffers
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenBuffers
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDeleteBuffers
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteBuffers
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourceStop
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceStop
(JNIEnv *, jclass, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourcei
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcei
(JNIEnv *, jclass, jint, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alBufferData
* Signature: (IILjava/nio/ByteBuffer;II)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alBufferData
(JNIEnv *, jclass, jint, jint, jobject, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourcePlay
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcePlay
(JNIEnv *, jclass, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourcePause
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcePause
(JNIEnv *, jclass, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourcef
* Signature: (IIF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourcef
(JNIEnv *, jclass, jint, jint, jfloat);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSource3f
* Signature: (IIFFF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSource3f
(JNIEnv *, jclass, jint, jint, jfloat, jfloat, jfloat);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGetSourcei
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGetSourcei
(JNIEnv *, jclass, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourceUnqueueBuffers
* Signature: (IILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceUnqueueBuffers
(JNIEnv *, jclass, jint, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSourceQueueBuffers
* Signature: (IILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSourceQueueBuffers
(JNIEnv *, jclass, jint, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alListener
* Signature: (ILjava/nio/FloatBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListener
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alListenerf
* Signature: (IF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListenerf
(JNIEnv *, jclass, jint, jfloat);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alListener3f
* Signature: (IFFF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alListener3f
(JNIEnv *, jclass, jint, jfloat, jfloat, jfloat);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alcIsExtensionPresent
* Signature: (Ljava/lang/String;)Z
*/
JNIEXPORT jboolean JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcIsExtensionPresent
(JNIEnv *, jclass, jstring);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alcGetInteger
* Signature: (ILjava/nio/IntBuffer;I)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alcGetInteger
(JNIEnv *, jclass, jint, jobject, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGenAuxiliaryEffectSlots
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenAuxiliaryEffectSlots
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGenEffects
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenEffects
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alEffecti
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alEffecti
(JNIEnv *, jclass, jint, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alAuxiliaryEffectSloti
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alAuxiliaryEffectSloti
(JNIEnv *, jclass, jint, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDeleteEffects
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteEffects
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDeleteAuxiliaryEffectSlots
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteAuxiliaryEffectSlots
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alGenFilters
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alGenFilters
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alFilteri
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alFilteri
(JNIEnv *, jclass, jint, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alFilterf
* Signature: (IIF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alFilterf
(JNIEnv *, jclass, jint, jint, jfloat);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alSource3i
* Signature: (IIIII)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alSource3i
(JNIEnv *, jclass, jint, jint, jint, jint, jint);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alDeleteFilters
* Signature: (ILjava/nio/IntBuffer;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alDeleteFilters
(JNIEnv *, jclass, jint, jobject);
/*
* Class: com_jme3_audio_android_AndroidOpenALSoftAudioRenderer
* Method: alEffectf
* Signature: (IIF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidOpenALSoftAudioRenderer_alEffectf
(JNIEnv *, jclass, jint, jint, jfloat);
#ifdef __cplusplus
}
#endif
#endif

@ -0,0 +1,147 @@
#ifndef CONFIG_H
#define CONFIG_H
/* Define to the library version */
#define ALSOFT_VERSION "1.15.1"
#define ALIGN(x) __attribute__ ((aligned(x)))
/* Define if we have the Android backend */
/* #define HAVE_ANDROID 1 */
/* Define if we have the ALSA backend */
/* #define HAVE_ALSA */
/* Define if we have the OSS backend */
/* #cmakedefine HAVE_OSS */
/* Define if we have the Solaris backend */
/* #cmakedefine HAVE_SOLARIS */
/* Define if we have the SndIO backend */
/* #cmakedefine HAVE_SNDIO */
/* Define if we have the MMDevApi backend */
/* #cmakedefine HAVE_MMDEVAPI */
/* Define if we have the DSound backend */
/* #cmakedefine HAVE_DSOUND */
/* Define if we have the Windows Multimedia backend */
/* #cmakedefine HAVE_WINMM */
/* Define if we have the PortAudio backend */
/* #cmakedefine HAVE_PORTAUDIO */
/* Define if we have the PulseAudio backend */
/* #cmakedefine HAVE_PULSEAUDIO */
/* Define if we have the CoreAudio backend */
/* #cmakedefine HAVE_COREAUDIO */
/* Define if we have the OpenSL backend */
#define HAVE_OPENSL /* THIS BACKEND WORKS ON >=2.3 Android!! */
/* Define if we have the Wave Writer backend */
/* #cmakedefine HAVE_WAVE */
/* Define if we have dlfcn.h */
#define HAVE_DLFCN_H
/* Define if we have the stat function */
#define HAVE_STAT
/* Define if we have the powf function */
/* #define HAVE_POWF 1 */
/* Define if we have the sqrtf function */
/* #define HAVE_SQRTF 1 */
/* Define if we have the cosf function */
/* #define HAVE_COSF 1 */
/* Define if we have the sinf function */
/* #define HAVE_SINF 1 */
/* Define if we have the acosf function */
/* #define HAVE_ACOSF 1 */
/* Define if we have the asinf function */
/* #define HAVE_ASINF 1 */
/* Define if we have the atanf function */
/* #define HAVE_ATANF 1 */
/* Define if we have the atan2f function */
/* #define HAVE_ATAN2F 1 */
/* Define if we have the fabsf function */
/* #define HAVE_FABSF 1 */
/* Define if we have the log10f function */
/* #define HAVE_LOG10F 1 */
/* Define if we have the floorf function */
/* #define HAVE_FLOORF 1 */
/* Define if we have the strtof function */
#define HAVE_STRTOF
/* Define if we have stdint.h */
#define HAVE_STDINT_H
/* Define if we have the __int64 type */
/* #cmakedefine HAVE___INT64 */
/* Define to the size of a long int type */
#define SIZEOF_LONG 4
/* Define to the size of a long long int type */
#define SIZEOF_LONG_LONG 8
/* Define if we have GCC's destructor attribute */
#define HAVE_GCC_DESTRUCTOR
/* Define if we have GCC's format attribute */
#define HAVE_GCC_FORMAT
/* Define if we have pthread_np.h */
/* #cmakedefine HAVE_PTHREAD_NP_H */
/* Define if we have arm_neon.h */
/* #cmakedefine HAVE_ARM_NEON_H */
/* Define if we have guiddef.h */
/* #cmakedefine HAVE_GUIDDEF_H */
/* Define if we have guiddef.h */
/* #cmakedefine HAVE_INITGUID_H */
/* Define if we have ieeefp.h */
/* #cmakedefine HAVE_IEEEFP_H */
/* Define if we have float.h */
/* #cmakedefine HAVE_FLOAT_H */
/* Define if we have fpu_control.h */
/* #cmakedefine HAVE_FPU_CONTROL_H */
/* Define if we have fenv.h */
#define HAVE_FENV_H
/* Define if we have fesetround() */
/* #cmakedefine HAVE_FESETROUND */
/* Define if we have _controlfp() */
/* #cmakedefine HAVE__CONTROLFP */
/* Define if we have pthread_setschedparam() */
#define HAVE_PTHREAD_SETSCHEDPARAM
/* Define if we have the restrict keyword */
/* #cmakedefine HAVE_RESTRICT 1 */
/* Define if we have the __restrict keyword */
#define RESTRICT __restrict
#endif
Loading…
Cancel
Save