commit
b94a20db14
@ -0,0 +1,122 @@ |
||||
// OpenAL Soft r1.15.1 |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/9b6a226da55a987cb883f425eeb568776ea12c8d.zip' |
||||
// OpenAL Soft r1.15.1 + Android OpenSL Support |
||||
String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/be25e6802dacad78876c6fa1d6a5c63797b8a9ed.zip' |
||||
// OpenAL Soft r1.15.1 latest build (at the time) |
||||
//String openALSoftUrl = 'http://repo.or.cz/w/openal-soft.git/snapshot/3f5914e0949ee12b504ee7254990e007ff8057ef.zip' |
||||
String openALSoftZipFile = 'OpenALSoft.zip' |
||||
|
||||
// OpenAL Soft directory the download is extracted into |
||||
// Typically, the downloaded OpenAL Soft zip file will extract to a directory |
||||
// called "openal-soft" |
||||
String openALSoftFolder = 'openal-soft' |
||||
|
||||
//Working directory for the ndk build. |
||||
//Must be the parent directory of the jni directory |
||||
//Libs directory (output of ndk) will be created in this directory as well |
||||
String openalsoftBuildDir = "${buildDir}" + File.separator + 'openalsoft' |
||||
|
||||
// jME Android Native source files path |
||||
String openalsoftJmeAndroidPath = 'src/native/jme_openalsoft' |
||||
|
||||
// Download external source files if not available |
||||
task downloadOpenALSoft(type: MyDownload) { |
||||
sourceUrl = openALSoftUrl |
||||
target = file(openALSoftZipFile) |
||||
} |
||||
|
||||
// Unzip external source files |
||||
task unzipOpenALSoft(type: Copy) { |
||||
def zipFile = file(openALSoftZipFile) |
||||
def outputDir = file(".") |
||||
|
||||
from zipTree(zipFile) |
||||
into outputDir |
||||
} |
||||
unzipOpenALSoft.dependsOn { |
||||
def zipFilePath = project.projectDir.absolutePath + File.separator + openALSoftZipFile |
||||
def zipFile = new File(zipFilePath) |
||||
// println "zipFile path: " + zipFile.absolutePath |
||||
// println "zipFile exists: " + zipFile.exists() |
||||
if (!zipFile.exists()) { |
||||
downloadOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy external source files to jni directory |
||||
task copyOpenALSoft(type: Copy) { |
||||
def sourceDir = file(openALSoftFolder) |
||||
def outputDir = file(openalsoftBuildDir + File.separator + 'jni') |
||||
// println "copyOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
copyOpenALSoft.dependsOn { |
||||
def openALSoftUnzipDir = new File(project.projectDir.absolutePath + File.separator + openALSoftFolder) |
||||
// println "openALSoftUnzipDir path: " + openALSoftUnzipDir.absolutePath |
||||
// println "openALSoftUnzipDir exists: " + openALSoftUnzipDir.isDirectory() |
||||
if (!openALSoftUnzipDir.isDirectory()) { |
||||
unzipOpenALSoft |
||||
} |
||||
} |
||||
|
||||
// Copy jME Android native files to jni directory |
||||
task copyJmeOpenALSoft(type: Copy, dependsOn:copyOpenALSoft) { |
||||
def sourceDir = file(openalsoftJmeAndroidPath) |
||||
def outputDir = file(openalsoftBuildDir + File.separator + 'jni') |
||||
// println "copyJmeOpenALSoft sourceDir: " + sourceDir |
||||
// println "copyJmeOpenALSoft outputDir: " + outputDir |
||||
|
||||
from sourceDir |
||||
into outputDir |
||||
} |
||||
|
||||
jar.into("lib") { from openalsoftBuildDir + File.separator + 'libs' } |
||||
|
||||
task generateOpenAlSoftHeaders(dependsOn:copyJmeOpenALSoft) { |
||||
String destDir = openalsoftBuildDir + File.separator + 'jni' |
||||
|
||||
String classes = "" |
||||
.concat("com.jme3.audio.android.AndroidOpenALSoftAudioRenderer, ") |
||||
// println "openalsoft classes = " + classes |
||||
// println "openalsoft destDir = " + destDir |
||||
// println "openalsoft classpath = " + project.projectClassPath |
||||
|
||||
ant.javah( |
||||
classpath: project.projectClassPath, |
||||
destdir: destDir, |
||||
class: classes |
||||
) |
||||
|
||||
} |
||||
|
||||
task buildOpenAlSoftNativeLib(type: Exec, dependsOn: generateOpenAlSoftHeaders) { |
||||
// println "openalsoft build dir: " + openalsoftBuildDir |
||||
// println "ndkCommandPath: " + project.ndkCommandPath |
||||
args 'TARGET_PLATFORM=android-9' |
||||
workingDir openalsoftBuildDir |
||||
executable project.ndkCommandPath |
||||
} |
||||
|
||||
compileJava.dependsOn { |
||||
// ndkPath is defined in the root project gradle.properties file |
||||
if (ndkCommandPath != null && new File(ndkCommandPath).exists()) { |
||||
buildOpenAlSoftNativeLib |
||||
} |
||||
} |
||||
|
||||
// Helper class to wrap ant dowload task |
||||
class MyDownload extends DefaultTask { |
||||
@Input |
||||
String sourceUrl |
||||
|
||||
@OutputFile |
||||
File target |
||||
|
||||
@TaskAction |
||||
void download() { |
||||
ant.get(src: sourceUrl, dest: target) |
||||
} |
||||
} |
@ -1,319 +0,0 @@ |
||||
/* 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 |
Loading…
Reference in new issue