Replaced by standaloane-toolchain based building, included in src/Makefilepull/286/head
@ -1,58 +0,0 @@ | |||||
#************************************************************************************************** | |||||
# | |||||
# raylib for Android | |||||
# | |||||
# Static library compilation | |||||
# | |||||
# Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) | |||||
# | |||||
# This software is provided "as-is", without any express or implied warranty. In no event | |||||
# will the authors be held liable for any damages arising from the use of this software. | |||||
# | |||||
# Permission is granted to anyone to use this software for any purpose, including commercial | |||||
# applications, and to alter it and redistribute it freely, subject to the following restrictions: | |||||
# | |||||
# 1. The origin of this software must not be misrepresented; you must not claim that you | |||||
# wrote the original software. If you use this software in a product, an acknowledgment | |||||
# in the product documentation would be appreciated but is not required. | |||||
# | |||||
# 2. Altered source versions must be plainly marked as such, and must not be misrepresented | |||||
# as being the original software. | |||||
# | |||||
# 3. This notice may not be removed or altered from any source distribution. | |||||
# | |||||
#************************************************************************************************** | |||||
# Path of the current directory (i.e. the directory containing the Android.mk file itself) | |||||
LOCAL_PATH := $(call my-dir) | |||||
# raylib static library compilation | |||||
# NOTE: It uses source placed on relative path ../../src from this file | |||||
#----------------------------------------------------------------------- | |||||
# Makefile that will clear many LOCAL_XXX variables for you | |||||
include $(CLEAR_VARS) | |||||
# Module name | |||||
LOCAL_MODULE := raylib | |||||
# Module source files | |||||
LOCAL_SRC_FILES :=\ | |||||
../../core.c \ | |||||
../../rlgl.c \ | |||||
../../textures.c \ | |||||
../../text.c \ | |||||
../../shapes.c \ | |||||
../../models.c \ | |||||
../../utils.c \ | |||||
../../audio.c \ | |||||
../../external/stb_vorbis.c \ | |||||
# Required includes paths (.h) | |||||
LOCAL_C_INCLUDES := $(LOCAL_PATH) $(LOCAL_PATH)/include $(LOCAL_PATH)/../.. | |||||
# Required flags for compilation: defines PLATFORM_ANDROID and GRAPHICS_API_OPENGL_ES2 | |||||
LOCAL_CFLAGS := -Wall -std=c99 -Wno-missing-braces -DPLATFORM_ANDROID -DGRAPHICS_API_OPENGL_ES2 | |||||
# Build the static library libraylib.a | |||||
include $(BUILD_STATIC_LIBRARY) | |||||
#-------------------------------------------------------------------- |
@ -1,3 +0,0 @@ | |||||
APP_ABI := $(TARGET_ARCH_ABI) | |||||
# $(warning APP_ABI $(APP_ABI)) | |||||
# $(warning LOCAL_ARM_NEON $(LOCAL_ARM_NEON)) |
@ -1,825 +0,0 @@ | |||||
#ifndef AL_AL_H | |||||
#define AL_AL_H | |||||
#ifdef ANDROID | |||||
#include <android/log.h> | |||||
#ifndef LOGI | |||||
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,"OpenAL",__VA_ARGS__) | |||||
#endif | |||||
#ifndef LOGE | |||||
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,"OpenAL",__VA_ARGS__) | |||||
#endif | |||||
#endif | |||||
#if defined(__cplusplus) | |||||
extern "C" { | |||||
#endif | |||||
#if defined(AL_LIBTYPE_STATIC) | |||||
#define AL_API | |||||
#elif defined(_WIN32) && !defined(_XBOX) | |||||
#if defined(AL_BUILD_LIBRARY) | |||||
#define AL_API __declspec(dllexport) | |||||
#else | |||||
#define AL_API __declspec(dllimport) | |||||
#endif | |||||
#else | |||||
#if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY) | |||||
#define AL_API __attribute__((visibility("protected"))) | |||||
#else | |||||
#define AL_API extern | |||||
#endif | |||||
#endif | |||||
#if defined(_WIN32) | |||||
#define AL_APIENTRY __cdecl | |||||
#else | |||||
#define AL_APIENTRY | |||||
#endif | |||||
#if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |||||
#pragma export on | |||||
#endif | |||||
/* | |||||
* The OPENAL, ALAPI, ALAPIENTRY, AL_INVALID, AL_ILLEGAL_ENUM, and | |||||
* AL_ILLEGAL_COMMAND macros are deprecated, but are included for | |||||
* applications porting code from AL 1.0 | |||||
*/ | |||||
#define OPENAL | |||||
#define ALAPI AL_API | |||||
#define ALAPIENTRY AL_APIENTRY | |||||
#define AL_INVALID (-1) | |||||
#define AL_ILLEGAL_ENUM AL_INVALID_ENUM | |||||
#define AL_ILLEGAL_COMMAND AL_INVALID_OPERATION | |||||
#define AL_VERSION_1_0 | |||||
#define AL_VERSION_1_1 | |||||
/** 8-bit boolean */ | |||||
typedef char ALboolean; | |||||
/** character */ | |||||
typedef char ALchar; | |||||
/** signed 8-bit 2's complement integer */ | |||||
typedef signed char ALbyte; | |||||
/** unsigned 8-bit integer */ | |||||
typedef unsigned char ALubyte; | |||||
/** signed 16-bit 2's complement integer */ | |||||
typedef short ALshort; | |||||
/** unsigned 16-bit integer */ | |||||
typedef unsigned short ALushort; | |||||
/** signed 32-bit 2's complement integer */ | |||||
typedef int ALint; | |||||
/** unsigned 32-bit integer */ | |||||
typedef unsigned int ALuint; | |||||
/** non-negative 32-bit binary integer size */ | |||||
typedef int ALsizei; | |||||
/** enumerated 32-bit value */ | |||||
typedef int ALenum; | |||||
/** 32-bit IEEE754 floating-point */ | |||||
typedef float ALfloat; | |||||
/** 64-bit IEEE754 floating-point */ | |||||
typedef double ALdouble; | |||||
#ifdef OPENAL_FIXED_POINT | |||||
/* Apportable tries to define int64_t and int32_t if it thinks it is needed. | |||||
* But this is breaking in a complex project involving both pure C and C++ | |||||
* something is triggering redefinition errors. The workaround seems to be just using stdint.h. | |||||
*/ | |||||
#include <stdint.h> | |||||
/** Types and Macros for fixed-point math */ | |||||
#ifndef INT64_MAX | |||||
typedef long long int64_t; | |||||
#define INT64_MAX 9223372036854775807LL | |||||
#endif | |||||
#ifndef INT32_MAX | |||||
typedef int int32_t; | |||||
#define INT32_MAX 2147483647 | |||||
#endif | |||||
// FIXME(apportable) make this int32_t | |||||
typedef int64_t ALfp; | |||||
typedef int64_t ALdfp; | |||||
#define ONE (1<<OPENAL_FIXED_POINT_SHIFT) | |||||
#define TWO (2<<OPENAL_FIXED_POINT_SHIFT) | |||||
#define float2ALfp(x) ((ALfp)((x) * (1<<OPENAL_FIXED_POINT_SHIFT) + ((x)>=0 ? 0.5 : -0.5))) | |||||
#define ALfp2float(x) ((float)(x) / (1<<OPENAL_FIXED_POINT_SHIFT)) | |||||
#define double2ALdfp(x) ((ALdfp)((x) * (1<<OPENAL_FIXED_POINT_SHIFT) + ((x)>=0 ? 0.5 : -0.5))) | |||||
#define ALdfp2double(x) ((double)(x) / (1<<OPENAL_FIXED_POINT_SHIFT)) | |||||
#define int2ALfp(x) ((ALfp)(x) << OPENAL_FIXED_POINT_SHIFT) | |||||
#define ALfp2int(x) ((ALint)((x) >> OPENAL_FIXED_POINT_SHIFT)) | |||||
#define int2ALdfp(x) ((ALdfp)(x) << OPENAL_FIXED_POINT_SHIFT) | |||||
#define ALdfp2int(x) ((ALint)((x) >> OPENAL_FIXED_POINT_SHIFT)) | |||||
#define ALfpMult(x,y) ((ALfp)((((int64_t)(x))*((int64_t)(y)))>>OPENAL_FIXED_POINT_SHIFT)) | |||||
#define ALfpDiv(x,y) ((ALfp)(((int64_t)(x) << OPENAL_FIXED_POINT_SHIFT) / (y))) | |||||
#define ALdfpMult(x,y) ALfpMult(x,y) | |||||
#define ALdfpDiv(x,y) ALfpDiv(x,y) | |||||
#define __isnan(x) (0) | |||||
#define __cos(x) (float2ALfp(cos(ALfp2float(x)))) | |||||
#define __sin(x) (float2ALfp(sin(ALfp2float(x)))) | |||||
#define __log10(x) (float2ALfp(log10(ALfp2float(x)))) | |||||
#define __atan(x) (float2ALfp(atan(ALfp2float(x)))) | |||||
#define toALfpConst(x) ((x)*(1<<OPENAL_FIXED_POINT_SHIFT)) | |||||
#else | |||||
typedef float ALfp; | |||||
typedef double ALdfp; | |||||
#define float2ALfp(x) (x) | |||||
#define ALfp2float(x) (x) | |||||
#define double2ALdfp(x) (x) | |||||
#define ALdfp2double(x) (x) | |||||
#define int2ALfp(x) ((ALfp)(x)) | |||||
#define ALfp2int(x) ((ALint)(x)) | |||||
#define int2ALdfp(x) ((ALdfp)(x)) | |||||
#define ALdfp2int(x) ((ALint)(x)) | |||||
#define ALfpMult(x,y) ((x)*(y)) | |||||
#define ALfpDiv(x,y) ((x)/(y)) | |||||
#define ALdfpMult(x,y) ALfpMult((x),(y)) | |||||
#define ALdfpDiv(x,y) ALfpDiv((x),(y)) | |||||
#define __isnan(x) (0) | |||||
#define __cos(x) cos((x)) | |||||
#define __sin(x) sin((x)) | |||||
#define __log10(x) log10((x)) | |||||
#define __atan(x) atan((x)) | |||||
#define toALfpConst(x) (x) | |||||
#endif | |||||
/** void type (for opaque pointers only) */ | |||||
typedef void ALvoid; | |||||
/* Enumerant values begin at column 50. No tabs. */ | |||||
/* "no distance model" or "no buffer" */ | |||||
#define AL_NONE 0 | |||||
/* Boolean False. */ | |||||
#define AL_FALSE 0 | |||||
/** Boolean True. */ | |||||
#define AL_TRUE 1 | |||||
/** Indicate Source has relative coordinates. */ | |||||
#define AL_SOURCE_RELATIVE 0x202 | |||||
/** | |||||
* Directional source, inner cone angle, in degrees. | |||||
* Range: [0-360] | |||||
* Default: 360 | |||||
*/ | |||||
#define AL_CONE_INNER_ANGLE 0x1001 | |||||
/** | |||||
* Directional source, outer cone angle, in degrees. | |||||
* Range: [0-360] | |||||
* Default: 360 | |||||
*/ | |||||
#define AL_CONE_OUTER_ANGLE 0x1002 | |||||
/** | |||||
* Specify the pitch to be applied at source. | |||||
* Range: [0.5-2.0] | |||||
* Default: 1.0 | |||||
*/ | |||||
#define AL_PITCH 0x1003 | |||||
/** | |||||
* Specify the current location in three dimensional space. | |||||
* OpenAL, like OpenGL, uses a right handed coordinate system, | |||||
* where in a frontal default view X (thumb) points right, | |||||
* Y points up (index finger), and Z points towards the | |||||
* viewer/camera (middle finger). | |||||
* To switch from a left handed coordinate system, flip the | |||||
* sign on the Z coordinate. | |||||
* Listener position is always in the world coordinate system. | |||||
*/ | |||||
#define AL_POSITION 0x1004 | |||||
/** Specify the current direction. */ | |||||
#define AL_DIRECTION 0x1005 | |||||
/** Specify the current velocity in three dimensional space. */ | |||||
#define AL_VELOCITY 0x1006 | |||||
/** | |||||
* Indicate whether source is looping. | |||||
* Type: ALboolean? | |||||
* Range: [AL_TRUE, AL_FALSE] | |||||
* Default: FALSE. | |||||
*/ | |||||
#define AL_LOOPING 0x1007 | |||||
/** | |||||
* Indicate the buffer to provide sound samples. | |||||
* Type: ALuint. | |||||
* Range: any valid Buffer id. | |||||
*/ | |||||
#define AL_BUFFER 0x1009 | |||||
/** | |||||
* Indicate the gain (volume amplification) applied. | |||||
* Type: ALfloat. | |||||
* Range: ]0.0- ] | |||||
* A value of 1.0 means un-attenuated/unchanged. | |||||
* Each division by 2 equals an attenuation of -6dB. | |||||
* Each multiplicaton with 2 equals an amplification of +6dB. | |||||
* A value of 0.0 is meaningless with respect to a logarithmic | |||||
* scale; it is interpreted as zero volume - the channel | |||||
* is effectively disabled. | |||||
*/ | |||||
#define AL_GAIN 0x100A | |||||
/* | |||||
* Indicate minimum source attenuation | |||||
* Type: ALfloat | |||||
* Range: [0.0 - 1.0] | |||||
* | |||||
* Logarthmic | |||||
*/ | |||||
#define AL_MIN_GAIN 0x100D | |||||
/** | |||||
* Indicate maximum source attenuation | |||||
* Type: ALfloat | |||||
* Range: [0.0 - 1.0] | |||||
* | |||||
* Logarthmic | |||||
*/ | |||||
#define AL_MAX_GAIN 0x100E | |||||
/** | |||||
* Indicate listener orientation. | |||||
* | |||||
* at/up | |||||
*/ | |||||
#define AL_ORIENTATION 0x100F | |||||
/** | |||||
* Source state information. | |||||
*/ | |||||
#define AL_SOURCE_STATE 0x1010 | |||||
#define AL_INITIAL 0x1011 | |||||
#define AL_PLAYING 0x1012 | |||||
#define AL_PAUSED 0x1013 | |||||
#define AL_STOPPED 0x1014 | |||||
/** | |||||
* Buffer Queue params | |||||
*/ | |||||
#define AL_BUFFERS_QUEUED 0x1015 | |||||
#define AL_BUFFERS_PROCESSED 0x1016 | |||||
/** | |||||
* Source buffer position information | |||||
*/ | |||||
#define AL_SEC_OFFSET 0x1024 | |||||
#define AL_SAMPLE_OFFSET 0x1025 | |||||
#define AL_BYTE_OFFSET 0x1026 | |||||
/* | |||||
* Source type (Static, Streaming or undetermined) | |||||
* Source is Static if a Buffer has been attached using AL_BUFFER | |||||
* Source is Streaming if one or more Buffers have been attached using alSourceQueueBuffers | |||||
* Source is undetermined when it has the NULL buffer attached | |||||
*/ | |||||
#define AL_SOURCE_TYPE 0x1027 | |||||
#define AL_STATIC 0x1028 | |||||
#define AL_STREAMING 0x1029 | |||||
#define AL_UNDETERMINED 0x1030 | |||||
/** Sound samples: format specifier. */ | |||||
#define AL_FORMAT_MONO8 0x1100 | |||||
#define AL_FORMAT_MONO16 0x1101 | |||||
#define AL_FORMAT_STEREO8 0x1102 | |||||
#define AL_FORMAT_STEREO16 0x1103 | |||||
/** | |||||
* source specific reference distance | |||||
* Type: ALfloat | |||||
* Range: 0.0 - +inf | |||||
* | |||||
* At 0.0, no distance attenuation occurs. Default is | |||||
* 1.0. | |||||
*/ | |||||
#define AL_REFERENCE_DISTANCE 0x1020 | |||||
/** | |||||
* source specific rolloff factor | |||||
* Type: ALfloat | |||||
* Range: 0.0 - +inf | |||||
* | |||||
*/ | |||||
#define AL_ROLLOFF_FACTOR 0x1021 | |||||
/** | |||||
* Directional source, outer cone gain. | |||||
* | |||||
* Default: 0.0 | |||||
* Range: [0.0 - 1.0] | |||||
* Logarithmic | |||||
*/ | |||||
#define AL_CONE_OUTER_GAIN 0x1022 | |||||
/** | |||||
* Indicate distance above which sources are not | |||||
* attenuated using the inverse clamped distance model. | |||||
* | |||||
* Default: +inf | |||||
* Type: ALfloat | |||||
* Range: 0.0 - +inf | |||||
*/ | |||||
#define AL_MAX_DISTANCE 0x1023 | |||||
/** | |||||
* Sound samples: frequency, in units of Hertz [Hz]. | |||||
* This is the number of samples per second. Half of the | |||||
* sample frequency marks the maximum significant | |||||
* frequency component. | |||||
*/ | |||||
#define AL_FREQUENCY 0x2001 | |||||
#define AL_BITS 0x2002 | |||||
#define AL_CHANNELS 0x2003 | |||||
#define AL_SIZE 0x2004 | |||||
/** | |||||
* Buffer state. | |||||
* | |||||
* Not supported for public use (yet). | |||||
*/ | |||||
#define AL_UNUSED 0x2010 | |||||
#define AL_PENDING 0x2011 | |||||
#define AL_PROCESSED 0x2012 | |||||
/** Errors: No Error. */ | |||||
#define AL_NO_ERROR AL_FALSE | |||||
/** | |||||
* Invalid Name paramater passed to AL call. | |||||
*/ | |||||
#define AL_INVALID_NAME 0xA001 | |||||
/** | |||||
* Invalid parameter passed to AL call. | |||||
*/ | |||||
#define AL_INVALID_ENUM 0xA002 | |||||
/** | |||||
* Invalid enum parameter value. | |||||
*/ | |||||
#define AL_INVALID_VALUE 0xA003 | |||||
/** | |||||
* Illegal call. | |||||
*/ | |||||
#define AL_INVALID_OPERATION 0xA004 | |||||
/** | |||||
* No mojo. | |||||
*/ | |||||
#define AL_OUT_OF_MEMORY 0xA005 | |||||
/** Context strings: Vendor Name. */ | |||||
#define AL_VENDOR 0xB001 | |||||
#define AL_VERSION 0xB002 | |||||
#define AL_RENDERER 0xB003 | |||||
#define AL_EXTENSIONS 0xB004 | |||||
/** Global tweakage. */ | |||||
/** | |||||
* Doppler scale. Default 1.0 | |||||
*/ | |||||
#define AL_DOPPLER_FACTOR 0xC000 | |||||
/** | |||||
* Tweaks speed of propagation. | |||||
*/ | |||||
#define AL_DOPPLER_VELOCITY 0xC001 | |||||
/** | |||||
* Speed of Sound in units per second | |||||
*/ | |||||
#define AL_SPEED_OF_SOUND 0xC003 | |||||
/** | |||||
* Distance models | |||||
* | |||||
* used in conjunction with DistanceModel | |||||
* | |||||
* implicit: NONE, which disances distance attenuation. | |||||
*/ | |||||
#define AL_DISTANCE_MODEL 0xD000 | |||||
#define AL_INVERSE_DISTANCE 0xD001 | |||||
#define AL_INVERSE_DISTANCE_CLAMPED 0xD002 | |||||
#define AL_LINEAR_DISTANCE 0xD003 | |||||
#define AL_LINEAR_DISTANCE_CLAMPED 0xD004 | |||||
#define AL_EXPONENT_DISTANCE 0xD005 | |||||
#define AL_EXPONENT_DISTANCE_CLAMPED 0xD006 | |||||
/** | |||||
* Priority | |||||
* | |||||
* Apportable Extension. | |||||
* Used to prevent dynamic throttling of this source. | |||||
* | |||||
*/ | |||||
#define AL_PRIORITY 0xE001 | |||||
#define AL_PRIORITY_SLOTS 0xE002 | |||||
/* | |||||
* Renderer State management | |||||
*/ | |||||
AL_API void AL_APIENTRY alEnable( ALenum capability ); | |||||
AL_API void AL_APIENTRY alDisable( ALenum capability ); | |||||
AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); | |||||
/* | |||||
* State retrieval | |||||
*/ | |||||
AL_API const ALchar* AL_APIENTRY alGetString( ALenum param ); | |||||
AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* data ); | |||||
AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* data ); | |||||
AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* data ); | |||||
AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* data ); | |||||
AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param ); | |||||
AL_API ALint AL_APIENTRY alGetInteger( ALenum param ); | |||||
AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param ); | |||||
AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param ); | |||||
/* | |||||
* Error support. | |||||
* Obtain the most recent error generated in the AL state machine. | |||||
*/ | |||||
AL_API ALenum AL_APIENTRY alGetError( void ); | |||||
/* | |||||
* Extension support. | |||||
* Query for the presence of an extension, and obtain any appropriate | |||||
* function pointers and enum values. | |||||
*/ | |||||
AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname ); | |||||
AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname ); | |||||
AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename ); | |||||
/* | |||||
* LISTENER | |||||
* Listener represents the location and orientation of the | |||||
* 'user' in 3D-space. | |||||
* | |||||
* Properties include: - | |||||
* | |||||
* Gain AL_GAIN ALfloat | |||||
* Position AL_POSITION ALfloat[3] | |||||
* Velocity AL_VELOCITY ALfloat[3] | |||||
* Orientation AL_ORIENTATION ALfloat[6] (Forward then Up vectors) | |||||
*/ | |||||
/* | |||||
* Set Listener parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value ); | |||||
AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values ); | |||||
AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value ); | |||||
AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values ); | |||||
/* | |||||
* Get Listener parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value ); | |||||
AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); | |||||
AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values ); | |||||
AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value ); | |||||
AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); | |||||
AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values ); | |||||
/** | |||||
* SOURCE | |||||
* Sources represent individual sound objects in 3D-space. | |||||
* Sources take the PCM data provided in the specified Buffer, | |||||
* apply Source-specific modifications, and then | |||||
* submit them to be mixed according to spatial arrangement etc. | |||||
* | |||||
* Properties include: - | |||||
* | |||||
* Gain AL_GAIN ALfloat | |||||
* Min Gain AL_MIN_GAIN ALfloat | |||||
* Max Gain AL_MAX_GAIN ALfloat | |||||
* Position AL_POSITION ALfloat[3] | |||||
* Velocity AL_VELOCITY ALfloat[3] | |||||
* Direction AL_DIRECTION ALfloat[3] | |||||
* Head Relative Mode AL_SOURCE_RELATIVE ALint (AL_TRUE or AL_FALSE) | |||||
* Reference Distance AL_REFERENCE_DISTANCE ALfloat | |||||
* Max Distance AL_MAX_DISTANCE ALfloat | |||||
* RollOff Factor AL_ROLLOFF_FACTOR ALfloat | |||||
* Inner Angle AL_CONE_INNER_ANGLE ALint or ALfloat | |||||
* Outer Angle AL_CONE_OUTER_ANGLE ALint or ALfloat | |||||
* Cone Outer Gain AL_CONE_OUTER_GAIN ALint or ALfloat | |||||
* Pitch AL_PITCH ALfloat | |||||
* Looping AL_LOOPING ALint (AL_TRUE or AL_FALSE) | |||||
* MS Offset AL_MSEC_OFFSET ALint or ALfloat | |||||
* Byte Offset AL_BYTE_OFFSET ALint or ALfloat | |||||
* Sample Offset AL_SAMPLE_OFFSET ALint or ALfloat | |||||
* Attached Buffer AL_BUFFER ALint | |||||
* State (Query only) AL_SOURCE_STATE ALint | |||||
* Buffers Queued (Query only) AL_BUFFERS_QUEUED ALint | |||||
* Buffers Processed (Query only) AL_BUFFERS_PROCESSED ALint | |||||
*/ | |||||
/* Create Source objects */ | |||||
AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* sources ); | |||||
/* Delete Source objects */ | |||||
AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* sources ); | |||||
/* Verify a handle is a valid Source */ | |||||
AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid ); | |||||
/* | |||||
* Set Source parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); | |||||
AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values ); | |||||
AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); | |||||
AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values ); | |||||
/* | |||||
* Get Source parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value ); | |||||
AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |||||
AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values ); | |||||
AL_API void AL_APIENTRY alGetSourcei( ALuint sid, ALenum param, ALint* value ); | |||||
AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |||||
AL_API void AL_APIENTRY alGetSourceiv( ALuint sid, ALenum param, ALint* values ); | |||||
/* | |||||
* Source vector based playback calls | |||||
*/ | |||||
/* Play, replay, or resume (if paused) a list of Sources */ | |||||
AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids ); | |||||
/* Stop a list of Sources */ | |||||
AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids ); | |||||
/* Rewind a list of Sources */ | |||||
AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids ); | |||||
/* Pause a list of Sources */ | |||||
AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids ); | |||||
/* | |||||
* Source based playback calls | |||||
*/ | |||||
/* Play, replay, or resume a Source */ | |||||
AL_API void AL_APIENTRY alSourcePlay( ALuint sid ); | |||||
/* Stop a Source */ | |||||
AL_API void AL_APIENTRY alSourceStop( ALuint sid ); | |||||
/* Rewind a Source (set playback postiton to beginning) */ | |||||
AL_API void AL_APIENTRY alSourceRewind( ALuint sid ); | |||||
/* Pause a Source */ | |||||
AL_API void AL_APIENTRY alSourcePause( ALuint sid ); | |||||
/* | |||||
* Source Queuing | |||||
*/ | |||||
AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids ); | |||||
AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids ); | |||||
/** | |||||
* BUFFER | |||||
* Buffer objects are storage space for sample data. | |||||
* Buffers are referred to by Sources. One Buffer can be used | |||||
* by multiple Sources. | |||||
* | |||||
* Properties include: - | |||||
* | |||||
* Frequency (Query only) AL_FREQUENCY ALint | |||||
* Size (Query only) AL_SIZE ALint | |||||
* Bits (Query only) AL_BITS ALint | |||||
* Channels (Query only) AL_CHANNELS ALint | |||||
*/ | |||||
/* Create Buffer objects */ | |||||
AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* buffers ); | |||||
/* Delete Buffer objects */ | |||||
AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* buffers ); | |||||
/* Verify a handle is a valid Buffer */ | |||||
AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid ); | |||||
/* Specify the data to be copied into a buffer */ | |||||
AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); | |||||
/* | |||||
* Set Buffer parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value ); | |||||
AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values ); | |||||
AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value ); | |||||
AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values ); | |||||
/* | |||||
* Get Buffer parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value ); | |||||
AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |||||
AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values ); | |||||
AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value ); | |||||
AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |||||
AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values ); | |||||
/* | |||||
* Global Parameters | |||||
*/ | |||||
AL_API void AL_APIENTRY alDopplerFactor( ALfloat value ); | |||||
AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value ); | |||||
AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value ); | |||||
AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel ); | |||||
/* | |||||
* Pointer-to-function types, useful for dynamically getting AL entry points. | |||||
*/ | |||||
typedef void (AL_APIENTRY *LPALENABLE)( ALenum capability ); | |||||
typedef void (AL_APIENTRY *LPALDISABLE)( ALenum capability ); | |||||
typedef ALboolean (AL_APIENTRY *LPALISENABLED)( ALenum capability ); | |||||
typedef const ALchar* (AL_APIENTRY *LPALGETSTRING)( ALenum param ); | |||||
typedef void (AL_APIENTRY *LPALGETBOOLEANV)( ALenum param, ALboolean* data ); | |||||
typedef void (AL_APIENTRY *LPALGETINTEGERV)( ALenum param, ALint* data ); | |||||
typedef void (AL_APIENTRY *LPALGETFLOATV)( ALenum param, ALfloat* data ); | |||||
typedef void (AL_APIENTRY *LPALGETDOUBLEV)( ALenum param, ALdouble* data ); | |||||
typedef ALboolean (AL_APIENTRY *LPALGETBOOLEAN)( ALenum param ); | |||||
typedef ALint (AL_APIENTRY *LPALGETINTEGER)( ALenum param ); | |||||
typedef ALfloat (AL_APIENTRY *LPALGETFLOAT)( ALenum param ); | |||||
typedef ALdouble (AL_APIENTRY *LPALGETDOUBLE)( ALenum param ); | |||||
typedef ALenum (AL_APIENTRY *LPALGETERROR)( void ); | |||||
typedef ALboolean (AL_APIENTRY *LPALISEXTENSIONPRESENT)(const ALchar* extname ); | |||||
typedef void* (AL_APIENTRY *LPALGETPROCADDRESS)( const ALchar* fname ); | |||||
typedef ALenum (AL_APIENTRY *LPALGETENUMVALUE)( const ALchar* ename ); | |||||
typedef void (AL_APIENTRY *LPALLISTENERF)( ALenum param, ALfloat value ); | |||||
typedef void (AL_APIENTRY *LPALLISTENER3F)( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
typedef void (AL_APIENTRY *LPALLISTENERFV)( ALenum param, const ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALLISTENERI)( ALenum param, ALint value ); | |||||
typedef void (AL_APIENTRY *LPALLISTENER3I)( ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
typedef void (AL_APIENTRY *LPALLISTENERIV)( ALenum param, const ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENERF)( ALenum param, ALfloat* value ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENER3F)( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENERFV)( ALenum param, ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENERI)( ALenum param, ALint* value ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENER3I)( ALenum param, ALint *value1, ALint *value2, ALint *value3 ); | |||||
typedef void (AL_APIENTRY *LPALGETLISTENERIV)( ALenum param, ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALGENSOURCES)( ALsizei n, ALuint* sources ); | |||||
typedef void (AL_APIENTRY *LPALDELETESOURCES)( ALsizei n, const ALuint* sources ); | |||||
typedef ALboolean (AL_APIENTRY *LPALISSOURCE)( ALuint sid ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEF)( ALuint sid, ALenum param, ALfloat value); | |||||
typedef void (AL_APIENTRY *LPALSOURCE3F)( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEFV)( ALuint sid, ALenum param, const ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEI)( ALuint sid, ALenum param, ALint value); | |||||
typedef void (AL_APIENTRY *LPALSOURCE3I)( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEIV)( ALuint sid, ALenum param, const ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCEF)( ALuint sid, ALenum param, ALfloat* value ); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCE3F)( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCEFV)( ALuint sid, ALenum param, ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCEI)( ALuint sid, ALenum param, ALint* value ); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCE3I)( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |||||
typedef void (AL_APIENTRY *LPALGETSOURCEIV)( ALuint sid, ALenum param, ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEPLAYV)( ALsizei ns, const ALuint *sids ); | |||||
typedef void (AL_APIENTRY *LPALSOURCESTOPV)( ALsizei ns, const ALuint *sids ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEREWINDV)( ALsizei ns, const ALuint *sids ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEPAUSEV)( ALsizei ns, const ALuint *sids ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEPLAY)( ALuint sid ); | |||||
typedef void (AL_APIENTRY *LPALSOURCESTOP)( ALuint sid ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEREWIND)( ALuint sid ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEPAUSE)( ALuint sid ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, const ALuint *bids ); | |||||
typedef void (AL_APIENTRY *LPALSOURCEUNQUEUEBUFFERS)(ALuint sid, ALsizei numEntries, ALuint *bids ); | |||||
typedef void (AL_APIENTRY *LPALGENBUFFERS)( ALsizei n, ALuint* buffers ); | |||||
typedef void (AL_APIENTRY *LPALDELETEBUFFERS)( ALsizei n, const ALuint* buffers ); | |||||
typedef ALboolean (AL_APIENTRY *LPALISBUFFER)( ALuint bid ); | |||||
typedef void (AL_APIENTRY *LPALBUFFERDATA)( ALuint bid, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq ); | |||||
typedef void (AL_APIENTRY *LPALBUFFERF)( ALuint bid, ALenum param, ALfloat value); | |||||
typedef void (AL_APIENTRY *LPALBUFFER3F)( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 ); | |||||
typedef void (AL_APIENTRY *LPALBUFFERFV)( ALuint bid, ALenum param, const ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALBUFFERI)( ALuint bid, ALenum param, ALint value); | |||||
typedef void (AL_APIENTRY *LPALBUFFER3I)( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 ); | |||||
typedef void (AL_APIENTRY *LPALBUFFERIV)( ALuint bid, ALenum param, const ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFERF)( ALuint bid, ALenum param, ALfloat* value ); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFER3F)( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFERFV)( ALuint bid, ALenum param, ALfloat* values ); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFERI)( ALuint bid, ALenum param, ALint* value ); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFER3I)( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3); | |||||
typedef void (AL_APIENTRY *LPALGETBUFFERIV)( ALuint bid, ALenum param, ALint* values ); | |||||
typedef void (AL_APIENTRY *LPALDOPPLERFACTOR)( ALfloat value ); | |||||
typedef void (AL_APIENTRY *LPALDOPPLERVELOCITY)( ALfloat value ); | |||||
typedef void (AL_APIENTRY *LPALSPEEDOFSOUND)( ALfloat value ); | |||||
typedef void (AL_APIENTRY *LPALDISTANCEMODEL)( ALenum distanceModel ); | |||||
#if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |||||
#pragma export off | |||||
#endif | |||||
#if defined(__cplusplus) | |||||
} /* extern "C" */ | |||||
#endif | |||||
#endif /* AL_AL_H */ |
@ -1,285 +0,0 @@ | |||||
#ifndef AL_ALC_H | |||||
#define AL_ALC_H | |||||
#if defined(__cplusplus) | |||||
extern "C" { | |||||
#endif | |||||
#if defined(AL_LIBTYPE_STATIC) | |||||
#define ALC_API | |||||
#elif defined(_WIN32) && !defined(_XBOX) | |||||
#if defined(AL_BUILD_LIBRARY) | |||||
#define ALC_API __declspec(dllexport) | |||||
#else | |||||
#define ALC_API __declspec(dllimport) | |||||
#endif | |||||
#else | |||||
#if defined(AL_BUILD_LIBRARY) && defined(HAVE_GCC_VISIBILITY) | |||||
#define ALC_API __attribute__((visibility("protected"))) | |||||
#else | |||||
#define ALC_API extern | |||||
#endif | |||||
#endif | |||||
#if defined(_WIN32) | |||||
#define ALC_APIENTRY __cdecl | |||||
#else | |||||
#define ALC_APIENTRY | |||||
#endif | |||||
#if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |||||
#pragma export on | |||||
#endif | |||||
/* | |||||
* The ALCAPI, ALCAPIENTRY, and ALC_INVALID macros are deprecated, but are | |||||
* included for applications porting code from AL 1.0 | |||||
*/ | |||||
#define ALCAPI ALC_API | |||||
#define ALCAPIENTRY ALC_APIENTRY | |||||
#define ALC_INVALID 0 | |||||
#define ALC_VERSION_0_1 1 | |||||
typedef struct ALCdevice_struct ALCdevice; | |||||
typedef struct ALCcontext_struct ALCcontext; | |||||
/** 8-bit boolean */ | |||||
typedef char ALCboolean; | |||||
/** character */ | |||||
typedef char ALCchar; | |||||
/** signed 8-bit 2's complement integer */ | |||||
typedef signed char ALCbyte; | |||||
/** unsigned 8-bit integer */ | |||||
typedef unsigned char ALCubyte; | |||||
/** signed 16-bit 2's complement integer */ | |||||
typedef short ALCshort; | |||||
/** unsigned 16-bit integer */ | |||||
typedef unsigned short ALCushort; | |||||
/** signed 32-bit 2's complement integer */ | |||||
typedef int ALCint; | |||||
/** unsigned 32-bit integer */ | |||||
typedef unsigned int ALCuint; | |||||
/** non-negative 32-bit binary integer size */ | |||||
typedef int ALCsizei; | |||||
/** enumerated 32-bit value */ | |||||
typedef int ALCenum; | |||||
/** 32-bit IEEE754 floating-point */ | |||||
typedef float ALCfloat; | |||||
/** 64-bit IEEE754 floating-point */ | |||||
typedef double ALCdouble; | |||||
/** void type (for opaque pointers only) */ | |||||
typedef void ALCvoid; | |||||
/* Enumerant values begin at column 50. No tabs. */ | |||||
/* Boolean False. */ | |||||
#define ALC_FALSE 0 | |||||
/* Boolean True. */ | |||||
#define ALC_TRUE 1 | |||||
/** | |||||
* followed by <int> Hz | |||||
*/ | |||||
#define ALC_FREQUENCY 0x1007 | |||||
/** | |||||
* followed by <int> Hz | |||||
*/ | |||||
#define ALC_REFRESH 0x1008 | |||||
/** | |||||
* followed by AL_TRUE, AL_FALSE | |||||
*/ | |||||
#define ALC_SYNC 0x1009 | |||||
/** | |||||
* followed by <int> Num of requested Mono (3D) Sources | |||||
*/ | |||||
#define ALC_MONO_SOURCES 0x1010 | |||||
/** | |||||
* followed by <int> Num of requested Stereo Sources | |||||
*/ | |||||
#define ALC_STEREO_SOURCES 0x1011 | |||||
/** | |||||
* errors | |||||
*/ | |||||
/** | |||||
* No error | |||||
*/ | |||||
#define ALC_NO_ERROR ALC_FALSE | |||||
/** | |||||
* No device | |||||
*/ | |||||
#define ALC_INVALID_DEVICE 0xA001 | |||||
/** | |||||
* invalid context ID | |||||
*/ | |||||
#define ALC_INVALID_CONTEXT 0xA002 | |||||
/** | |||||
* bad enum | |||||
*/ | |||||
#define ALC_INVALID_ENUM 0xA003 | |||||
/** | |||||
* bad value | |||||
*/ | |||||
#define ALC_INVALID_VALUE 0xA004 | |||||
/** | |||||
* Out of memory. | |||||
*/ | |||||
#define ALC_OUT_OF_MEMORY 0xA005 | |||||
/** | |||||
* The Specifier string for default device | |||||
*/ | |||||
#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 | |||||
#define ALC_DEVICE_SPECIFIER 0x1005 | |||||
#define ALC_EXTENSIONS 0x1006 | |||||
#define ALC_MAJOR_VERSION 0x1000 | |||||
#define ALC_MINOR_VERSION 0x1001 | |||||
#define ALC_ATTRIBUTES_SIZE 0x1002 | |||||
#define ALC_ALL_ATTRIBUTES 0x1003 | |||||
/** | |||||
* Capture extension | |||||
*/ | |||||
#define ALC_CAPTURE_DEVICE_SPECIFIER 0x310 | |||||
#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311 | |||||
#define ALC_CAPTURE_SAMPLES 0x312 | |||||
/* | |||||
* Context Management | |||||
*/ | |||||
ALC_API ALCcontext * ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist ); | |||||
ALC_API ALCboolean ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context ); | |||||
ALC_API void ALC_APIENTRY alcProcessContext( ALCcontext *context ); | |||||
ALC_API void ALC_APIENTRY alcSuspendContext( ALCcontext *context ); | |||||
ALC_API void ALC_APIENTRY alcDestroyContext( ALCcontext *context ); | |||||
ALC_API ALCcontext * ALC_APIENTRY alcGetCurrentContext( void ); | |||||
ALC_API ALCdevice* ALC_APIENTRY alcGetContextsDevice( ALCcontext *context ); | |||||
/* | |||||
* Device Management | |||||
*/ | |||||
ALC_API ALCdevice * ALC_APIENTRY alcOpenDevice( const ALCchar *devicename ); | |||||
ALC_API ALCboolean ALC_APIENTRY alcCloseDevice( ALCdevice *device ); | |||||
/* | |||||
* Error support. | |||||
* Obtain the most recent Context error | |||||
*/ | |||||
ALC_API ALCenum ALC_APIENTRY alcGetError( ALCdevice *device ); | |||||
/* | |||||
* Extension support. | |||||
* Query for the presence of an extension, and obtain any appropriate | |||||
* function pointers and enum values. | |||||
*/ | |||||
ALC_API ALCboolean ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname ); | |||||
ALC_API void * ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname ); | |||||
ALC_API ALCenum ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname ); | |||||
/* | |||||
* Query functions | |||||
*/ | |||||
ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param ); | |||||
ALC_API void ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data ); | |||||
/* | |||||
* Capture functions | |||||
*/ | |||||
ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); | |||||
ALC_API ALCboolean ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device ); | |||||
ALC_API void ALC_APIENTRY alcCaptureStart( ALCdevice *device ); | |||||
ALC_API void ALC_APIENTRY alcCaptureStop( ALCdevice *device ); | |||||
ALC_API void ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); | |||||
/* | |||||
* Pointer-to-function types, useful for dynamically getting ALC entry points. | |||||
*/ | |||||
typedef ALCcontext * (ALC_APIENTRY *LPALCCREATECONTEXT) (ALCdevice *device, const ALCint *attrlist); | |||||
typedef ALCboolean (ALC_APIENTRY *LPALCMAKECONTEXTCURRENT)( ALCcontext *context ); | |||||
typedef void (ALC_APIENTRY *LPALCPROCESSCONTEXT)( ALCcontext *context ); | |||||
typedef void (ALC_APIENTRY *LPALCSUSPENDCONTEXT)( ALCcontext *context ); | |||||
typedef void (ALC_APIENTRY *LPALCDESTROYCONTEXT)( ALCcontext *context ); | |||||
typedef ALCcontext * (ALC_APIENTRY *LPALCGETCURRENTCONTEXT)( void ); | |||||
typedef ALCdevice * (ALC_APIENTRY *LPALCGETCONTEXTSDEVICE)( ALCcontext *context ); | |||||
typedef ALCdevice * (ALC_APIENTRY *LPALCOPENDEVICE)( const ALCchar *devicename ); | |||||
typedef ALCboolean (ALC_APIENTRY *LPALCCLOSEDEVICE)( ALCdevice *device ); | |||||
typedef ALCenum (ALC_APIENTRY *LPALCGETERROR)( ALCdevice *device ); | |||||
typedef ALCboolean (ALC_APIENTRY *LPALCISEXTENSIONPRESENT)( ALCdevice *device, const ALCchar *extname ); | |||||
typedef void * (ALC_APIENTRY *LPALCGETPROCADDRESS)(ALCdevice *device, const ALCchar *funcname ); | |||||
typedef ALCenum (ALC_APIENTRY *LPALCGETENUMVALUE)(ALCdevice *device, const ALCchar *enumname ); | |||||
typedef const ALCchar* (ALC_APIENTRY *LPALCGETSTRING)( ALCdevice *device, ALCenum param ); | |||||
typedef void (ALC_APIENTRY *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest ); | |||||
typedef ALCdevice * (ALC_APIENTRY *LPALCCAPTUREOPENDEVICE)( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize ); | |||||
typedef ALCboolean (ALC_APIENTRY *LPALCCAPTURECLOSEDEVICE)( ALCdevice *device ); | |||||
typedef void (ALC_APIENTRY *LPALCCAPTURESTART)( ALCdevice *device ); | |||||
typedef void (ALC_APIENTRY *LPALCCAPTURESTOP)( ALCdevice *device ); | |||||
typedef void (ALC_APIENTRY *LPALCCAPTURESAMPLES)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples ); | |||||
#if defined(TARGET_OS_MAC) && TARGET_OS_MAC | |||||
#pragma export off | |||||
#endif | |||||
#if defined(ANDROID) | |||||
/* | |||||
* OpenAL extension for suspend/resume of audio throughout application lifecycle | |||||
*/ | |||||
ALC_API void ALC_APIENTRY alcSuspend( void ); | |||||
ALC_API void ALC_APIENTRY alcResume( void ); | |||||
#endif | |||||
#if defined(__cplusplus) | |||||
} | |||||
#endif | |||||
#endif /* AL_ALC_H */ |
@ -1,165 +0,0 @@ | |||||
/** | |||||
* OpenAL cross platform audio library | |||||
* Copyright (C) 2008 by authors. | |||||
* This library is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU Library General Public | |||||
* License as published by the Free Software Foundation; either | |||||
* version 2 of the License, or (at your option) any later version. | |||||
* | |||||
* This library is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||||
* Library General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU Library General Public | |||||
* License along with this library; if not, write to the | |||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||||
* Boston, MA 02111-1307, USA. | |||||
* Or go to http://www.gnu.org/copyleft/lgpl.html | |||||
*/ | |||||
#ifndef AL_ALEXT_H | |||||
#define AL_ALEXT_H | |||||
#include <stddef.h> | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
#ifndef AL_LOKI_IMA_ADPCM_format | |||||
#define AL_LOKI_IMA_ADPCM_format 1 | |||||
#define AL_FORMAT_IMA_ADPCM_MONO16_EXT 0x10000 | |||||
#define AL_FORMAT_IMA_ADPCM_STEREO16_EXT 0x10001 | |||||
#endif | |||||
#ifndef AL_LOKI_WAVE_format | |||||
#define AL_LOKI_WAVE_format 1 | |||||
#define AL_FORMAT_WAVE_EXT 0x10002 | |||||
#endif | |||||
#ifndef AL_EXT_vorbis | |||||
#define AL_EXT_vorbis 1 | |||||
#define AL_FORMAT_VORBIS_EXT 0x10003 | |||||
#endif | |||||
#ifndef AL_LOKI_quadriphonic | |||||
#define AL_LOKI_quadriphonic 1 | |||||
#define AL_FORMAT_QUAD8_LOKI 0x10004 | |||||
#define AL_FORMAT_QUAD16_LOKI 0x10005 | |||||
#endif | |||||
#ifndef AL_EXT_float32 | |||||
#define AL_EXT_float32 1 | |||||
#define AL_FORMAT_MONO_FLOAT32 0x10010 | |||||
#define AL_FORMAT_STEREO_FLOAT32 0x10011 | |||||
#endif | |||||
#ifndef AL_EXT_double | |||||
#define AL_EXT_double 1 | |||||
#define AL_FORMAT_MONO_DOUBLE_EXT 0x10012 | |||||
#define AL_FORMAT_STEREO_DOUBLE_EXT 0x10013 | |||||
#endif | |||||
#ifndef ALC_LOKI_audio_channel | |||||
#define ALC_LOKI_audio_channel 1 | |||||
#define ALC_CHAN_MAIN_LOKI 0x500001 | |||||
#define ALC_CHAN_PCM_LOKI 0x500002 | |||||
#define ALC_CHAN_CD_LOKI 0x500003 | |||||
#endif | |||||
#ifndef ALC_ENUMERATE_ALL_EXT | |||||
#define ALC_ENUMERATE_ALL_EXT 1 | |||||
#define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012 | |||||
#define ALC_ALL_DEVICES_SPECIFIER 0x1013 | |||||
#endif | |||||
#ifndef AL_EXT_MCFORMATS | |||||
#define AL_EXT_MCFORMATS 1 | |||||
#define AL_FORMAT_QUAD8 0x1204 | |||||
#define AL_FORMAT_QUAD16 0x1205 | |||||
#define AL_FORMAT_QUAD32 0x1206 | |||||
#define AL_FORMAT_REAR8 0x1207 | |||||
#define AL_FORMAT_REAR16 0x1208 | |||||
#define AL_FORMAT_REAR32 0x1209 | |||||
#define AL_FORMAT_51CHN8 0x120A | |||||
#define AL_FORMAT_51CHN16 0x120B | |||||
#define AL_FORMAT_51CHN32 0x120C | |||||
#define AL_FORMAT_61CHN8 0x120D | |||||
#define AL_FORMAT_61CHN16 0x120E | |||||
#define AL_FORMAT_61CHN32 0x120F | |||||
#define AL_FORMAT_71CHN8 0x1210 | |||||
#define AL_FORMAT_71CHN16 0x1211 | |||||
#define AL_FORMAT_71CHN32 0x1212 | |||||
#endif | |||||
#ifndef AL_EXT_MULAW_MCFORMATS | |||||
#define AL_EXT_MULAW_MCFORMATS 1 | |||||
#define AL_FORMAT_MONO_MULAW 0x10014 | |||||
#define AL_FORMAT_STEREO_MULAW 0x10015 | |||||
#define AL_FORMAT_QUAD_MULAW 0x10021 | |||||
#define AL_FORMAT_REAR_MULAW 0x10022 | |||||
#define AL_FORMAT_51CHN_MULAW 0x10023 | |||||
#define AL_FORMAT_61CHN_MULAW 0x10024 | |||||
#define AL_FORMAT_71CHN_MULAW 0x10025 | |||||
#endif | |||||
#ifndef AL_EXT_IMA4 | |||||
#define AL_EXT_IMA4 1 | |||||
#define AL_FORMAT_MONO_IMA4 0x1300 | |||||
#define AL_FORMAT_STEREO_IMA4 0x1301 | |||||
#endif | |||||
#ifndef AL_EXT_STATIC_BUFFER | |||||
#define AL_EXT_STATIC_BUFFER 1 | |||||
typedef ALvoid (AL_APIENTRY*PFNALBUFFERDATASTATICPROC)(const ALint,ALenum,ALvoid*,ALsizei,ALsizei); | |||||
#ifdef AL_ALEXT_PROTOTYPES | |||||
AL_API ALvoid AL_APIENTRY alBufferDataStatic(const ALint buffer, ALenum format, ALvoid *data, ALsizei len, ALsizei freq); | |||||
#endif | |||||
#endif | |||||
#ifndef ALC_EXT_EFX | |||||
#define ALC_EXT_EFX 1 | |||||
#include "efx.h" | |||||
#endif | |||||
#ifndef ALC_EXT_disconnect | |||||
#define ALC_EXT_disconnect 1 | |||||
#define ALC_CONNECTED 0x313 | |||||
#endif | |||||
#ifndef ALC_EXT_thread_local_context | |||||
#define ALC_EXT_thread_local_context 1 | |||||
typedef ALCboolean (ALC_APIENTRY*PFNALCSETTHREADCONTEXTPROC)(ALCcontext *context); | |||||
typedef ALCcontext* (ALC_APIENTRY*PFNALCGETTHREADCONTEXTPROC)(void); | |||||
#ifdef AL_ALEXT_PROTOTYPES | |||||
ALC_API ALCboolean ALC_APIENTRY alcSetThreadContext(ALCcontext *context); | |||||
ALC_API ALCcontext* ALC_APIENTRY alcGetThreadContext(void); | |||||
#endif | |||||
#endif | |||||
#ifndef AL_EXT_source_distance_model | |||||
#define AL_EXT_source_distance_model 1 | |||||
#define AL_SOURCE_DISTANCE_MODEL 0x200 | |||||
#endif | |||||
#ifndef AL_SOFT_buffer_sub_data | |||||
#define AL_SOFT_buffer_sub_data 1 | |||||
#define AL_BYTE_RW_OFFSETS_SOFT 0x1031 | |||||
#define AL_SAMPLE_RW_OFFSETS_SOFT 0x1032 | |||||
typedef ALvoid (AL_APIENTRY*PFNALBUFFERSUBDATASOFTPROC)(ALuint,ALenum,const ALvoid*,ALsizei,ALsizei); | |||||
#ifdef AL_ALEXT_PROTOTYPES | |||||
AL_API ALvoid AL_APIENTRY alBufferSubDataSOFT(ALuint buffer,ALenum format,const ALvoid *data,ALsizei offset,ALsizei length); | |||||
#endif | |||||
#endif | |||||
#ifndef AL_SOFT_loop_points | |||||
#define AL_SOFT_loop_points 1 | |||||
#define AL_LOOP_POINTS_SOFT 0x2015 | |||||
#endif | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif |
@ -1,3 +0,0 @@ | |||||
/* The tokens that would be defined here are already defined in efx.h. This | |||||
* empty file is here to provide compatibility with Windows-based projects | |||||
* that would include it. */ |
@ -1,758 +0,0 @@ | |||||
#ifndef AL_EFX_H | |||||
#define AL_EFX_H | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
#define ALC_EXT_EFX_NAME "ALC_EXT_EFX" | |||||
#define ALC_EFX_MAJOR_VERSION 0x20001 | |||||
#define ALC_EFX_MINOR_VERSION 0x20002 | |||||
#define ALC_MAX_AUXILIARY_SENDS 0x20003 | |||||
/* Listener properties. */ | |||||
#define AL_METERS_PER_UNIT 0x20004 | |||||
/* Source properties. */ | |||||
#define AL_DIRECT_FILTER 0x20005 | |||||
#define AL_AUXILIARY_SEND_FILTER 0x20006 | |||||
#define AL_AIR_ABSORPTION_FACTOR 0x20007 | |||||
#define AL_ROOM_ROLLOFF_FACTOR 0x20008 | |||||
#define AL_CONE_OUTER_GAINHF 0x20009 | |||||
#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A | |||||
#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B | |||||
#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C | |||||
/* Effect properties. */ | |||||
/* Reverb effect parameters */ | |||||
#define AL_REVERB_DENSITY 0x0001 | |||||
#define AL_REVERB_DIFFUSION 0x0002 | |||||
#define AL_REVERB_GAIN 0x0003 | |||||
#define AL_REVERB_GAINHF 0x0004 | |||||
#define AL_REVERB_DECAY_TIME 0x0005 | |||||
#define AL_REVERB_DECAY_HFRATIO 0x0006 | |||||
#define AL_REVERB_REFLECTIONS_GAIN 0x0007 | |||||
#define AL_REVERB_REFLECTIONS_DELAY 0x0008 | |||||
#define AL_REVERB_LATE_REVERB_GAIN 0x0009 | |||||
#define AL_REVERB_LATE_REVERB_DELAY 0x000A | |||||
#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B | |||||
#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C | |||||
#define AL_REVERB_DECAY_HFLIMIT 0x000D | |||||
/* EAX Reverb effect parameters */ | |||||
#define AL_EAXREVERB_DENSITY 0x0001 | |||||
#define AL_EAXREVERB_DIFFUSION 0x0002 | |||||
#define AL_EAXREVERB_GAIN 0x0003 | |||||
#define AL_EAXREVERB_GAINHF 0x0004 | |||||
#define AL_EAXREVERB_GAINLF 0x0005 | |||||
#define AL_EAXREVERB_DECAY_TIME 0x0006 | |||||
#define AL_EAXREVERB_DECAY_HFRATIO 0x0007 | |||||
#define AL_EAXREVERB_DECAY_LFRATIO 0x0008 | |||||
#define AL_EAXREVERB_REFLECTIONS_GAIN 0x0009 | |||||
#define AL_EAXREVERB_REFLECTIONS_DELAY 0x000A | |||||
#define AL_EAXREVERB_REFLECTIONS_PAN 0x000B | |||||
#define AL_EAXREVERB_LATE_REVERB_GAIN 0x000C | |||||
#define AL_EAXREVERB_LATE_REVERB_DELAY 0x000D | |||||
#define AL_EAXREVERB_LATE_REVERB_PAN 0x000E | |||||
#define AL_EAXREVERB_ECHO_TIME 0x000F | |||||
#define AL_EAXREVERB_ECHO_DEPTH 0x0010 | |||||
#define AL_EAXREVERB_MODULATION_TIME 0x0011 | |||||
#define AL_EAXREVERB_MODULATION_DEPTH 0x0012 | |||||
#define AL_EAXREVERB_AIR_ABSORPTION_GAINHF 0x0013 | |||||
#define AL_EAXREVERB_HFREFERENCE 0x0014 | |||||
#define AL_EAXREVERB_LFREFERENCE 0x0015 | |||||
#define AL_EAXREVERB_ROOM_ROLLOFF_FACTOR 0x0016 | |||||
#define AL_EAXREVERB_DECAY_HFLIMIT 0x0017 | |||||
/* Chorus effect parameters */ | |||||
#define AL_CHORUS_WAVEFORM 0x0001 | |||||
#define AL_CHORUS_PHASE 0x0002 | |||||
#define AL_CHORUS_RATE 0x0003 | |||||
#define AL_CHORUS_DEPTH 0x0004 | |||||
#define AL_CHORUS_FEEDBACK 0x0005 | |||||
#define AL_CHORUS_DELAY 0x0006 | |||||
/* Distortion effect parameters */ | |||||
#define AL_DISTORTION_EDGE 0x0001 | |||||
#define AL_DISTORTION_GAIN 0x0002 | |||||
#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003 | |||||
#define AL_DISTORTION_EQCENTER 0x0004 | |||||
#define AL_DISTORTION_EQBANDWIDTH 0x0005 | |||||
/* Echo effect parameters */ | |||||
#define AL_ECHO_DELAY 0x0001 | |||||
#define AL_ECHO_LRDELAY 0x0002 | |||||
#define AL_ECHO_DAMPING 0x0003 | |||||
#define AL_ECHO_FEEDBACK 0x0004 | |||||
#define AL_ECHO_SPREAD 0x0005 | |||||
/* Flanger effect parameters */ | |||||
#define AL_FLANGER_WAVEFORM 0x0001 | |||||
#define AL_FLANGER_PHASE 0x0002 | |||||
#define AL_FLANGER_RATE 0x0003 | |||||
#define AL_FLANGER_DEPTH 0x0004 | |||||
#define AL_FLANGER_FEEDBACK 0x0005 | |||||
#define AL_FLANGER_DELAY 0x0006 | |||||
/* Frequency shifter effect parameters */ | |||||
#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001 | |||||
#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002 | |||||
#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003 | |||||
/* Vocal morpher effect parameters */ | |||||
#define AL_VOCAL_MORPHER_PHONEMEA 0x0001 | |||||
#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002 | |||||
#define AL_VOCAL_MORPHER_PHONEMEB 0x0003 | |||||
#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004 | |||||
#define AL_VOCAL_MORPHER_WAVEFORM 0x0005 | |||||
#define AL_VOCAL_MORPHER_RATE 0x0006 | |||||
/* Pitchshifter effect parameters */ | |||||
#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001 | |||||
#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002 | |||||
/* Ringmodulator effect parameters */ | |||||
#define AL_RING_MODULATOR_FREQUENCY 0x0001 | |||||
#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002 | |||||
#define AL_RING_MODULATOR_WAVEFORM 0x0003 | |||||
/* Autowah effect parameters */ | |||||
#define AL_AUTOWAH_ATTACK_TIME 0x0001 | |||||
#define AL_AUTOWAH_RELEASE_TIME 0x0002 | |||||
#define AL_AUTOWAH_RESONANCE 0x0003 | |||||
#define AL_AUTOWAH_PEAK_GAIN 0x0004 | |||||
/* Compressor effect parameters */ | |||||
#define AL_COMPRESSOR_ONOFF 0x0001 | |||||
/* Equalizer effect parameters */ | |||||
#define AL_EQUALIZER_LOW_GAIN 0x0001 | |||||
#define AL_EQUALIZER_LOW_CUTOFF 0x0002 | |||||
#define AL_EQUALIZER_MID1_GAIN 0x0003 | |||||
#define AL_EQUALIZER_MID1_CENTER 0x0004 | |||||
#define AL_EQUALIZER_MID1_WIDTH 0x0005 | |||||
#define AL_EQUALIZER_MID2_GAIN 0x0006 | |||||
#define AL_EQUALIZER_MID2_CENTER 0x0007 | |||||
#define AL_EQUALIZER_MID2_WIDTH 0x0008 | |||||
#define AL_EQUALIZER_HIGH_GAIN 0x0009 | |||||
#define AL_EQUALIZER_HIGH_CUTOFF 0x000A | |||||
/* Effect type */ | |||||
#define AL_EFFECT_FIRST_PARAMETER 0x0000 | |||||
#define AL_EFFECT_LAST_PARAMETER 0x8000 | |||||
#define AL_EFFECT_TYPE 0x8001 | |||||
/* Effect types, used with the AL_EFFECT_TYPE property */ | |||||
#define AL_EFFECT_NULL 0x0000 | |||||
#define AL_EFFECT_REVERB 0x0001 | |||||
#define AL_EFFECT_CHORUS 0x0002 | |||||
#define AL_EFFECT_DISTORTION 0x0003 | |||||
#define AL_EFFECT_ECHO 0x0004 | |||||
#define AL_EFFECT_FLANGER 0x0005 | |||||
#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006 | |||||
#define AL_EFFECT_VOCAL_MORPHER 0x0007 | |||||
#define AL_EFFECT_PITCH_SHIFTER 0x0008 | |||||
#define AL_EFFECT_RING_MODULATOR 0x0009 | |||||
#define AL_EFFECT_AUTOWAH 0x000A | |||||
#define AL_EFFECT_COMPRESSOR 0x000B | |||||
#define AL_EFFECT_EQUALIZER 0x000C | |||||
#define AL_EFFECT_EAXREVERB 0x8000 | |||||
/* Auxiliary Effect Slot properties. */ | |||||
#define AL_EFFECTSLOT_EFFECT 0x0001 | |||||
#define AL_EFFECTSLOT_GAIN 0x0002 | |||||
#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003 | |||||
/* NULL Auxiliary Slot ID to disable a source send. */ | |||||
#define AL_EFFECTSLOT_NULL 0x0000 | |||||
/* Filter properties. */ | |||||
/* Lowpass filter parameters */ | |||||
#define AL_LOWPASS_GAIN 0x0001 | |||||
#define AL_LOWPASS_GAINHF 0x0002 | |||||
/* Highpass filter parameters */ | |||||
#define AL_HIGHPASS_GAIN 0x0001 | |||||
#define AL_HIGHPASS_GAINLF 0x0002 | |||||
/* Bandpass filter parameters */ | |||||
#define AL_BANDPASS_GAIN 0x0001 | |||||
#define AL_BANDPASS_GAINLF 0x0002 | |||||
#define AL_BANDPASS_GAINHF 0x0003 | |||||
/* Filter type */ | |||||
#define AL_FILTER_FIRST_PARAMETER 0x0000 | |||||
#define AL_FILTER_LAST_PARAMETER 0x8000 | |||||
#define AL_FILTER_TYPE 0x8001 | |||||
/* Filter types, used with the AL_FILTER_TYPE property */ | |||||
#define AL_FILTER_NULL 0x0000 | |||||
#define AL_FILTER_LOWPASS 0x0001 | |||||
#define AL_FILTER_HIGHPASS 0x0002 | |||||
#define AL_FILTER_BANDPASS 0x0003 | |||||
/* Effect object function types. */ | |||||
typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*); | |||||
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*); | |||||
typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint); | |||||
typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint); | |||||
typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat); | |||||
typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*); | |||||
/* Filter object function types. */ | |||||
typedef void (AL_APIENTRY *LPALGENFILTERS)(ALsizei, ALuint*); | |||||
typedef void (AL_APIENTRY *LPALDELETEFILTERS)(ALsizei, ALuint*); | |||||
typedef ALboolean (AL_APIENTRY *LPALISFILTER)(ALuint); | |||||
typedef void (AL_APIENTRY *LPALFILTERI)(ALuint, ALenum, ALint); | |||||
typedef void (AL_APIENTRY *LPALFILTERIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALFILTERF)(ALuint, ALenum, ALfloat); | |||||
typedef void (AL_APIENTRY *LPALFILTERFV)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETFILTERI)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETFILTERIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETFILTERF)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETFILTERFV)(ALuint, ALenum, ALfloat*); | |||||
/* Auxiliary Effect Slot object function types. */ | |||||
typedef void (AL_APIENTRY *LPALGENAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*); | |||||
typedef void (AL_APIENTRY *LPALDELETEAUXILIARYEFFECTSLOTS)(ALsizei, ALuint*); | |||||
typedef ALboolean (AL_APIENTRY *LPALISAUXILIARYEFFECTSLOT)(ALuint); | |||||
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint); | |||||
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat); | |||||
typedef void (AL_APIENTRY *LPALAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTI)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTIV)(ALuint, ALenum, ALint*); | |||||
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTF)(ALuint, ALenum, ALfloat*); | |||||
typedef void (AL_APIENTRY *LPALGETAUXILIARYEFFECTSLOTFV)(ALuint, ALenum, ALfloat*); | |||||
#ifdef AL_ALEXT_PROTOTYPES | |||||
AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects); | |||||
AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, ALuint *effects); | |||||
AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect); | |||||
AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue); | |||||
AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue); | |||||
AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, ALfloat *pflValues); | |||||
AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue); | |||||
AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue); | |||||
AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues); | |||||
AL_API ALvoid AL_APIENTRY alGenFilters(ALsizei n, ALuint *filters); | |||||
AL_API ALvoid AL_APIENTRY alDeleteFilters(ALsizei n, ALuint *filters); | |||||
AL_API ALboolean AL_APIENTRY alIsFilter(ALuint filter); | |||||
AL_API ALvoid AL_APIENTRY alFilteri(ALuint filter, ALenum param, ALint iValue); | |||||
AL_API ALvoid AL_APIENTRY alFilteriv(ALuint filter, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alFilterf(ALuint filter, ALenum param, ALfloat flValue); | |||||
AL_API ALvoid AL_APIENTRY alFilterfv(ALuint filter, ALenum param, ALfloat *pflValues); | |||||
AL_API ALvoid AL_APIENTRY alGetFilteri(ALuint filter, ALenum param, ALint *piValue); | |||||
AL_API ALvoid AL_APIENTRY alGetFilteriv(ALuint filter, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alGetFilterf(ALuint filter, ALenum param, ALfloat *pflValue); | |||||
AL_API ALvoid AL_APIENTRY alGetFilterfv(ALuint filter, ALenum param, ALfloat *pflValues); | |||||
AL_API ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots); | |||||
AL_API ALvoid AL_APIENTRY alDeleteAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots); | |||||
AL_API ALboolean AL_APIENTRY alIsAuxiliaryEffectSlot(ALuint effectslot); | |||||
AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint iValue); | |||||
AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat flValue); | |||||
AL_API ALvoid AL_APIENTRY alAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues); | |||||
AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSloti(ALuint effectslot, ALenum param, ALint *piValue); | |||||
AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotiv(ALuint effectslot, ALenum param, ALint *piValues); | |||||
AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotf(ALuint effectslot, ALenum param, ALfloat *pflValue); | |||||
AL_API ALvoid AL_APIENTRY alGetAuxiliaryEffectSlotfv(ALuint effectslot, ALenum param, ALfloat *pflValues); | |||||
#endif | |||||
/* Filter ranges and defaults. */ | |||||
/* Lowpass filter */ | |||||
#define LOWPASS_MIN_GAIN (0.0f) | |||||
#define LOWPASS_MAX_GAIN (1.0f) | |||||
#define LOWPASS_DEFAULT_GAIN (1.0f) | |||||
#define LOWPASS_MIN_GAINHF (0.0f) | |||||
#define LOWPASS_MAX_GAINHF (1.0f) | |||||
#define LOWPASS_DEFAULT_GAINHF (1.0f) | |||||
/* Highpass filter */ | |||||
#define HIGHPASS_MIN_GAIN (0.0f) | |||||
#define HIGHPASS_MAX_GAIN (1.0f) | |||||
#define HIGHPASS_DEFAULT_GAIN (1.0f) | |||||
#define HIGHPASS_MIN_GAINLF (0.0f) | |||||
#define HIGHPASS_MAX_GAINLF (1.0f) | |||||
#define HIGHPASS_DEFAULT_GAINLF (1.0f) | |||||
/* Bandpass filter */ | |||||
#define BANDPASS_MIN_GAIN (0.0f) | |||||
#define BANDPASS_MAX_GAIN (1.0f) | |||||
#define BANDPASS_DEFAULT_GAIN (1.0f) | |||||
#define BANDPASS_MIN_GAINHF (0.0f) | |||||
#define BANDPASS_MAX_GAINHF (1.0f) | |||||
#define BANDPASS_DEFAULT_GAINHF (1.0f) | |||||
#define BANDPASS_MIN_GAINLF (0.0f) | |||||
#define BANDPASS_MAX_GAINLF (1.0f) | |||||
#define BANDPASS_DEFAULT_GAINLF (1.0f) | |||||
/* Effect parameter ranges and defaults. */ | |||||
/* Standard reverb effect */ | |||||
#define AL_REVERB_MIN_DENSITY (0.0f) | |||||
#define AL_REVERB_MAX_DENSITY (1.0f) | |||||
#define AL_REVERB_DEFAULT_DENSITY (1.0f) | |||||
#define AL_REVERB_MIN_DIFFUSION (0.0f) | |||||
#define AL_REVERB_MAX_DIFFUSION (1.0f) | |||||
#define AL_REVERB_DEFAULT_DIFFUSION (1.0f) | |||||
#define AL_REVERB_MIN_GAIN (0.0f) | |||||
#define AL_REVERB_MAX_GAIN (1.0f) | |||||
#define AL_REVERB_DEFAULT_GAIN (0.32f) | |||||
#define AL_REVERB_MIN_GAINHF (0.0f) | |||||
#define AL_REVERB_MAX_GAINHF (1.0f) | |||||
#define AL_REVERB_DEFAULT_GAINHF (0.89f) | |||||
#define AL_REVERB_MIN_DECAY_TIME (0.1f) | |||||
#define AL_REVERB_MAX_DECAY_TIME (20.0f) | |||||
#define AL_REVERB_DEFAULT_DECAY_TIME (1.49f) | |||||
#define AL_REVERB_MIN_DECAY_HFRATIO (0.1f) | |||||
#define AL_REVERB_MAX_DECAY_HFRATIO (2.0f) | |||||
#define AL_REVERB_DEFAULT_DECAY_HFRATIO (0.83f) | |||||
#define AL_REVERB_MIN_REFLECTIONS_GAIN (0.0f) | |||||
#define AL_REVERB_MAX_REFLECTIONS_GAIN (3.16f) | |||||
#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) | |||||
#define AL_REVERB_MIN_REFLECTIONS_DELAY (0.0f) | |||||
#define AL_REVERB_MAX_REFLECTIONS_DELAY (0.3f) | |||||
#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) | |||||
#define AL_REVERB_MIN_LATE_REVERB_GAIN (0.0f) | |||||
#define AL_REVERB_MAX_LATE_REVERB_GAIN (10.0f) | |||||
#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) | |||||
#define AL_REVERB_MIN_LATE_REVERB_DELAY (0.0f) | |||||
#define AL_REVERB_MAX_LATE_REVERB_DELAY (0.1f) | |||||
#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) | |||||
#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) | |||||
#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) | |||||
#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) | |||||
#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |||||
#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE | |||||
#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE | |||||
#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE | |||||
/* EAX reverb effect */ | |||||
#define AL_EAXREVERB_MIN_DENSITY (0.0f) | |||||
#define AL_EAXREVERB_MAX_DENSITY (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_DENSITY (1.0f) | |||||
#define AL_EAXREVERB_MIN_DIFFUSION (0.0f) | |||||
#define AL_EAXREVERB_MAX_DIFFUSION (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_DIFFUSION (1.0f) | |||||
#define AL_EAXREVERB_MIN_GAIN (0.0f) | |||||
#define AL_EAXREVERB_MAX_GAIN (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_GAIN (0.32f) | |||||
#define AL_EAXREVERB_MIN_GAINHF (0.0f) | |||||
#define AL_EAXREVERB_MAX_GAINHF (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_GAINHF (0.89f) | |||||
#define AL_EAXREVERB_MIN_GAINLF (0.0f) | |||||
#define AL_EAXREVERB_MAX_GAINLF (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_GAINLF (1.0f) | |||||
#define AL_EAXREVERB_MIN_DECAY_TIME (0.1f) | |||||
#define AL_EAXREVERB_MAX_DECAY_TIME (20.0f) | |||||
#define AL_EAXREVERB_DEFAULT_DECAY_TIME (1.49f) | |||||
#define AL_EAXREVERB_MIN_DECAY_HFRATIO (0.1f) | |||||
#define AL_EAXREVERB_MAX_DECAY_HFRATIO (2.0f) | |||||
#define AL_EAXREVERB_DEFAULT_DECAY_HFRATIO (0.83f) | |||||
#define AL_EAXREVERB_MIN_DECAY_LFRATIO (0.1f) | |||||
#define AL_EAXREVERB_MAX_DECAY_LFRATIO (2.0f) | |||||
#define AL_EAXREVERB_DEFAULT_DECAY_LFRATIO (1.0f) | |||||
#define AL_EAXREVERB_MIN_REFLECTIONS_GAIN (0.0f) | |||||
#define AL_EAXREVERB_MAX_REFLECTIONS_GAIN (3.16f) | |||||
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_GAIN (0.05f) | |||||
#define AL_EAXREVERB_MIN_REFLECTIONS_DELAY (0.0f) | |||||
#define AL_EAXREVERB_MAX_REFLECTIONS_DELAY (0.3f) | |||||
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_DELAY (0.007f) | |||||
#define AL_EAXREVERB_DEFAULT_REFLECTIONS_PAN_XYZ (0.0f) | |||||
#define AL_EAXREVERB_MIN_LATE_REVERB_GAIN (0.0f) | |||||
#define AL_EAXREVERB_MAX_LATE_REVERB_GAIN (10.0f) | |||||
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_GAIN (1.26f) | |||||
#define AL_EAXREVERB_MIN_LATE_REVERB_DELAY (0.0f) | |||||
#define AL_EAXREVERB_MAX_LATE_REVERB_DELAY (0.1f) | |||||
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_DELAY (0.011f) | |||||
#define AL_EAXREVERB_DEFAULT_LATE_REVERB_PAN_XYZ (0.0f) | |||||
#define AL_EAXREVERB_MIN_ECHO_TIME (0.075f) | |||||
#define AL_EAXREVERB_MAX_ECHO_TIME (0.25f) | |||||
#define AL_EAXREVERB_DEFAULT_ECHO_TIME (0.25f) | |||||
#define AL_EAXREVERB_MIN_ECHO_DEPTH (0.0f) | |||||
#define AL_EAXREVERB_MAX_ECHO_DEPTH (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_ECHO_DEPTH (0.0f) | |||||
#define AL_EAXREVERB_MIN_MODULATION_TIME (0.04f) | |||||
#define AL_EAXREVERB_MAX_MODULATION_TIME (4.0f) | |||||
#define AL_EAXREVERB_DEFAULT_MODULATION_TIME (0.25f) | |||||
#define AL_EAXREVERB_MIN_MODULATION_DEPTH (0.0f) | |||||
#define AL_EAXREVERB_MAX_MODULATION_DEPTH (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_MODULATION_DEPTH (0.0f) | |||||
#define AL_EAXREVERB_MIN_AIR_ABSORPTION_GAINHF (0.892f) | |||||
#define AL_EAXREVERB_MAX_AIR_ABSORPTION_GAINHF (1.0f) | |||||
#define AL_EAXREVERB_DEFAULT_AIR_ABSORPTION_GAINHF (0.994f) | |||||
#define AL_EAXREVERB_MIN_HFREFERENCE (1000.0f) | |||||
#define AL_EAXREVERB_MAX_HFREFERENCE (20000.0f) | |||||
#define AL_EAXREVERB_DEFAULT_HFREFERENCE (5000.0f) | |||||
#define AL_EAXREVERB_MIN_LFREFERENCE (20.0f) | |||||
#define AL_EAXREVERB_MAX_LFREFERENCE (1000.0f) | |||||
#define AL_EAXREVERB_DEFAULT_LFREFERENCE (250.0f) | |||||
#define AL_EAXREVERB_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_EAXREVERB_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |||||
#define AL_EAXREVERB_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_EAXREVERB_MIN_DECAY_HFLIMIT AL_FALSE | |||||
#define AL_EAXREVERB_MAX_DECAY_HFLIMIT AL_TRUE | |||||
#define AL_EAXREVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE | |||||
/* Chorus effect */ | |||||
#define AL_CHORUS_WAVEFORM_SINUSOID (0) | |||||
#define AL_CHORUS_WAVEFORM_TRIANGLE (1) | |||||
#define AL_CHORUS_MIN_WAVEFORM (0) | |||||
#define AL_CHORUS_MAX_WAVEFORM (1) | |||||
#define AL_CHORUS_DEFAULT_WAVEFORM (1) | |||||
#define AL_CHORUS_MIN_PHASE (-180) | |||||
#define AL_CHORUS_MAX_PHASE (180) | |||||
#define AL_CHORUS_DEFAULT_PHASE (90) | |||||
#define AL_CHORUS_MIN_RATE (0.0f) | |||||
#define AL_CHORUS_MAX_RATE (10.0f) | |||||
#define AL_CHORUS_DEFAULT_RATE (1.1f) | |||||
#define AL_CHORUS_MIN_DEPTH (0.0f) | |||||
#define AL_CHORUS_MAX_DEPTH (1.0f) | |||||
#define AL_CHORUS_DEFAULT_DEPTH (0.1f) | |||||
#define AL_CHORUS_MIN_FEEDBACK (-1.0f) | |||||
#define AL_CHORUS_MAX_FEEDBACK (1.0f) | |||||
#define AL_CHORUS_DEFAULT_FEEDBACK (0.25f) | |||||
#define AL_CHORUS_MIN_DELAY (0.0f) | |||||
#define AL_CHORUS_MAX_DELAY (0.016f) | |||||
#define AL_CHORUS_DEFAULT_DELAY (0.016f) | |||||
/* Distortion effect */ | |||||
#define AL_DISTORTION_MIN_EDGE (0.0f) | |||||
#define AL_DISTORTION_MAX_EDGE (1.0f) | |||||
#define AL_DISTORTION_DEFAULT_EDGE (0.2f) | |||||
#define AL_DISTORTION_MIN_GAIN (0.01f) | |||||
#define AL_DISTORTION_MAX_GAIN (1.0f) | |||||
#define AL_DISTORTION_DEFAULT_GAIN (0.05f) | |||||
#define AL_DISTORTION_MIN_LOWPASS_CUTOFF (80.0f) | |||||
#define AL_DISTORTION_MAX_LOWPASS_CUTOFF (24000.0f) | |||||
#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF (8000.0f) | |||||
#define AL_DISTORTION_MIN_EQCENTER (80.0f) | |||||
#define AL_DISTORTION_MAX_EQCENTER (24000.0f) | |||||
#define AL_DISTORTION_DEFAULT_EQCENTER (3600.0f) | |||||
#define AL_DISTORTION_MIN_EQBANDWIDTH (80.0f) | |||||
#define AL_DISTORTION_MAX_EQBANDWIDTH (24000.0f) | |||||
#define AL_DISTORTION_DEFAULT_EQBANDWIDTH (3600.0f) | |||||
/* Echo effect */ | |||||
#define AL_ECHO_MIN_DELAY (0.0f) | |||||
#define AL_ECHO_MAX_DELAY (0.207f) | |||||
#define AL_ECHO_DEFAULT_DELAY (0.1f) | |||||
#define AL_ECHO_MIN_LRDELAY (0.0f) | |||||
#define AL_ECHO_MAX_LRDELAY (0.404f) | |||||
#define AL_ECHO_DEFAULT_LRDELAY (0.1f) | |||||
#define AL_ECHO_MIN_DAMPING (0.0f) | |||||
#define AL_ECHO_MAX_DAMPING (0.99f) | |||||
#define AL_ECHO_DEFAULT_DAMPING (0.5f) | |||||
#define AL_ECHO_MIN_FEEDBACK (0.0f) | |||||
#define AL_ECHO_MAX_FEEDBACK (1.0f) | |||||
#define AL_ECHO_DEFAULT_FEEDBACK (0.5f) | |||||
#define AL_ECHO_MIN_SPREAD (-1.0f) | |||||
#define AL_ECHO_MAX_SPREAD (1.0f) | |||||
#define AL_ECHO_DEFAULT_SPREAD (-1.0f) | |||||
/* Flanger effect */ | |||||
#define AL_FLANGER_WAVEFORM_SINUSOID (0) | |||||
#define AL_FLANGER_WAVEFORM_TRIANGLE (1) | |||||
#define AL_FLANGER_MIN_WAVEFORM (0) | |||||
#define AL_FLANGER_MAX_WAVEFORM (1) | |||||
#define AL_FLANGER_DEFAULT_WAVEFORM (1) | |||||
#define AL_FLANGER_MIN_PHASE (-180) | |||||
#define AL_FLANGER_MAX_PHASE (180) | |||||
#define AL_FLANGER_DEFAULT_PHASE (0) | |||||
#define AL_FLANGER_MIN_RATE (0.0f) | |||||
#define AL_FLANGER_MAX_RATE (10.0f) | |||||
#define AL_FLANGER_DEFAULT_RATE (0.27f) | |||||
#define AL_FLANGER_MIN_DEPTH (0.0f) | |||||
#define AL_FLANGER_MAX_DEPTH (1.0f) | |||||
#define AL_FLANGER_DEFAULT_DEPTH (1.0f) | |||||
#define AL_FLANGER_MIN_FEEDBACK (-1.0f) | |||||
#define AL_FLANGER_MAX_FEEDBACK (1.0f) | |||||
#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f) | |||||
#define AL_FLANGER_MIN_DELAY (0.0f) | |||||
#define AL_FLANGER_MAX_DELAY (0.004f) | |||||
#define AL_FLANGER_DEFAULT_DELAY (0.002f) | |||||
/* Frequency shifter effect */ | |||||
#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY (0.0f) | |||||
#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY (24000.0f) | |||||
#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY (0.0f) | |||||
#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION (0) | |||||
#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION (2) | |||||
#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION (0) | |||||
#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN (0) | |||||
#define AL_FREQUENCY_SHIFTER_DIRECTION_UP (1) | |||||
#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF (2) | |||||
#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION (0) | |||||
#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION (2) | |||||
#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION (0) | |||||
/* Vocal morpher effect */ | |||||
#define AL_VOCAL_MORPHER_MIN_PHONEMEA (0) | |||||
#define AL_VOCAL_MORPHER_MAX_PHONEMEA (29) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA (0) | |||||
#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24) | |||||
#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING (24) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING (0) | |||||
#define AL_VOCAL_MORPHER_MIN_PHONEMEB (0) | |||||
#define AL_VOCAL_MORPHER_MAX_PHONEMEB (29) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB (10) | |||||
#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24) | |||||
#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING (24) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING (0) | |||||
#define AL_VOCAL_MORPHER_PHONEME_A (0) | |||||
#define AL_VOCAL_MORPHER_PHONEME_E (1) | |||||
#define AL_VOCAL_MORPHER_PHONEME_I (2) | |||||
#define AL_VOCAL_MORPHER_PHONEME_O (3) | |||||
#define AL_VOCAL_MORPHER_PHONEME_U (4) | |||||
#define AL_VOCAL_MORPHER_PHONEME_AA (5) | |||||
#define AL_VOCAL_MORPHER_PHONEME_AE (6) | |||||
#define AL_VOCAL_MORPHER_PHONEME_AH (7) | |||||
#define AL_VOCAL_MORPHER_PHONEME_AO (8) | |||||
#define AL_VOCAL_MORPHER_PHONEME_EH (9) | |||||
#define AL_VOCAL_MORPHER_PHONEME_ER (10) | |||||
#define AL_VOCAL_MORPHER_PHONEME_IH (11) | |||||
#define AL_VOCAL_MORPHER_PHONEME_IY (12) | |||||
#define AL_VOCAL_MORPHER_PHONEME_UH (13) | |||||
#define AL_VOCAL_MORPHER_PHONEME_UW (14) | |||||
#define AL_VOCAL_MORPHER_PHONEME_B (15) | |||||
#define AL_VOCAL_MORPHER_PHONEME_D (16) | |||||
#define AL_VOCAL_MORPHER_PHONEME_F (17) | |||||
#define AL_VOCAL_MORPHER_PHONEME_G (18) | |||||
#define AL_VOCAL_MORPHER_PHONEME_J (19) | |||||
#define AL_VOCAL_MORPHER_PHONEME_K (20) | |||||
#define AL_VOCAL_MORPHER_PHONEME_L (21) | |||||
#define AL_VOCAL_MORPHER_PHONEME_M (22) | |||||
#define AL_VOCAL_MORPHER_PHONEME_N (23) | |||||
#define AL_VOCAL_MORPHER_PHONEME_P (24) | |||||
#define AL_VOCAL_MORPHER_PHONEME_R (25) | |||||
#define AL_VOCAL_MORPHER_PHONEME_S (26) | |||||
#define AL_VOCAL_MORPHER_PHONEME_T (27) | |||||
#define AL_VOCAL_MORPHER_PHONEME_V (28) | |||||
#define AL_VOCAL_MORPHER_PHONEME_Z (29) | |||||
#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID (0) | |||||
#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE (1) | |||||
#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH (2) | |||||
#define AL_VOCAL_MORPHER_MIN_WAVEFORM (0) | |||||
#define AL_VOCAL_MORPHER_MAX_WAVEFORM (2) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM (0) | |||||
#define AL_VOCAL_MORPHER_MIN_RATE (0.0f) | |||||
#define AL_VOCAL_MORPHER_MAX_RATE (10.0f) | |||||
#define AL_VOCAL_MORPHER_DEFAULT_RATE (1.41f) | |||||
/* Pitch shifter effect */ | |||||
#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12) | |||||
#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE (12) | |||||
#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE (12) | |||||
#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50) | |||||
#define AL_PITCH_SHIFTER_MAX_FINE_TUNE (50) | |||||
#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE (0) | |||||
/* Ring modulator effect */ | |||||
#define AL_RING_MODULATOR_MIN_FREQUENCY (0.0f) | |||||
#define AL_RING_MODULATOR_MAX_FREQUENCY (8000.0f) | |||||
#define AL_RING_MODULATOR_DEFAULT_FREQUENCY (440.0f) | |||||
#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF (0.0f) | |||||
#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF (24000.0f) | |||||
#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF (800.0f) | |||||
#define AL_RING_MODULATOR_SINUSOID (0) | |||||
#define AL_RING_MODULATOR_SAWTOOTH (1) | |||||
#define AL_RING_MODULATOR_SQUARE (2) | |||||
#define AL_RING_MODULATOR_MIN_WAVEFORM (0) | |||||
#define AL_RING_MODULATOR_MAX_WAVEFORM (2) | |||||
#define AL_RING_MODULATOR_DEFAULT_WAVEFORM (0) | |||||
/* Autowah effect */ | |||||
#define AL_AUTOWAH_MIN_ATTACK_TIME (0.0001f) | |||||
#define AL_AUTOWAH_MAX_ATTACK_TIME (1.0f) | |||||
#define AL_AUTOWAH_DEFAULT_ATTACK_TIME (0.06f) | |||||
#define AL_AUTOWAH_MIN_RELEASE_TIME (0.0001f) | |||||
#define AL_AUTOWAH_MAX_RELEASE_TIME (1.0f) | |||||
#define AL_AUTOWAH_DEFAULT_RELEASE_TIME (0.06f) | |||||
#define AL_AUTOWAH_MIN_RESONANCE (2.0f) | |||||
#define AL_AUTOWAH_MAX_RESONANCE (1000.0f) | |||||
#define AL_AUTOWAH_DEFAULT_RESONANCE (1000.0f) | |||||
#define AL_AUTOWAH_MIN_PEAK_GAIN (0.00003f) | |||||
#define AL_AUTOWAH_MAX_PEAK_GAIN (31621.0f) | |||||
#define AL_AUTOWAH_DEFAULT_PEAK_GAIN (11.22f) | |||||
/* Compressor effect */ | |||||
#define AL_COMPRESSOR_MIN_ONOFF (0) | |||||
#define AL_COMPRESSOR_MAX_ONOFF (1) | |||||
#define AL_COMPRESSOR_DEFAULT_ONOFF (1) | |||||
/* Equalizer effect */ | |||||
#define AL_EQUALIZER_MIN_LOW_GAIN (0.126f) | |||||
#define AL_EQUALIZER_MAX_LOW_GAIN (7.943f) | |||||
#define AL_EQUALIZER_DEFAULT_LOW_GAIN (1.0f) | |||||
#define AL_EQUALIZER_MIN_LOW_CUTOFF (50.0f) | |||||
#define AL_EQUALIZER_MAX_LOW_CUTOFF (800.0f) | |||||
#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF (200.0f) | |||||
#define AL_EQUALIZER_MIN_MID1_GAIN (0.126f) | |||||
#define AL_EQUALIZER_MAX_MID1_GAIN (7.943f) | |||||
#define AL_EQUALIZER_DEFAULT_MID1_GAIN (1.0f) | |||||
#define AL_EQUALIZER_MIN_MID1_CENTER (200.0f) | |||||
#define AL_EQUALIZER_MAX_MID1_CENTER (3000.0f) | |||||
#define AL_EQUALIZER_DEFAULT_MID1_CENTER (500.0f) | |||||
#define AL_EQUALIZER_MIN_MID1_WIDTH (0.01f) | |||||
#define AL_EQUALIZER_MAX_MID1_WIDTH (1.0f) | |||||
#define AL_EQUALIZER_DEFAULT_MID1_WIDTH (1.0f) | |||||
#define AL_EQUALIZER_MIN_MID2_GAIN (0.126f) | |||||
#define AL_EQUALIZER_MAX_MID2_GAIN (7.943f) | |||||
#define AL_EQUALIZER_DEFAULT_MID2_GAIN (1.0f) | |||||
#define AL_EQUALIZER_MIN_MID2_CENTER (1000.0f) | |||||
#define AL_EQUALIZER_MAX_MID2_CENTER (8000.0f) | |||||
#define AL_EQUALIZER_DEFAULT_MID2_CENTER (3000.0f) | |||||
#define AL_EQUALIZER_MIN_MID2_WIDTH (0.01f) | |||||
#define AL_EQUALIZER_MAX_MID2_WIDTH (1.0f) | |||||
#define AL_EQUALIZER_DEFAULT_MID2_WIDTH (1.0f) | |||||
#define AL_EQUALIZER_MIN_HIGH_GAIN (0.126f) | |||||
#define AL_EQUALIZER_MAX_HIGH_GAIN (7.943f) | |||||
#define AL_EQUALIZER_DEFAULT_HIGH_GAIN (1.0f) | |||||
#define AL_EQUALIZER_MIN_HIGH_CUTOFF (4000.0f) | |||||
#define AL_EQUALIZER_MAX_HIGH_CUTOFF (16000.0f) | |||||
#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF (6000.0f) | |||||
/* Source parameter value ranges and defaults. */ | |||||
#define AL_MIN_AIR_ABSORPTION_FACTOR (0.0f) | |||||
#define AL_MAX_AIR_ABSORPTION_FACTOR (10.0f) | |||||
#define AL_DEFAULT_AIR_ABSORPTION_FACTOR (0.0f) | |||||
#define AL_MIN_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_MAX_ROOM_ROLLOFF_FACTOR (10.0f) | |||||
#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR (0.0f) | |||||
#define AL_MIN_CONE_OUTER_GAINHF (0.0f) | |||||
#define AL_MAX_CONE_OUTER_GAINHF (1.0f) | |||||
#define AL_DEFAULT_CONE_OUTER_GAINHF (1.0f) | |||||
#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE | |||||
#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |||||
#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE | |||||
#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE | |||||
#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |||||
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE | |||||
#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE | |||||
#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |||||
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE | |||||
/* Listener parameter value ranges and defaults. */ | |||||
#define AL_MIN_METERS_PER_UNIT FLT_MIN | |||||
#define AL_MAX_METERS_PER_UNIT FLT_MAX | |||||
#define AL_DEFAULT_METERS_PER_UNIT (1.0f) | |||||
#ifdef __cplusplus | |||||
} /* extern "C" */ | |||||
#endif | |||||
#endif /* AL_EFX_H */ |
@ -1,349 +0,0 @@ | |||||
/* | |||||
* Copyright (C) 2010 The Android Open Source Project | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
* | |||||
*/ | |||||
#ifndef _ANDROID_NATIVE_APP_GLUE_H | |||||
#define _ANDROID_NATIVE_APP_GLUE_H | |||||
#include <poll.h> | |||||
#include <pthread.h> | |||||
#include <sched.h> | |||||
#include <android/configuration.h> | |||||
#include <android/looper.h> | |||||
#include <android/native_activity.h> | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
/** | |||||
* The native activity interface provided by <android/native_activity.h> | |||||
* is based on a set of application-provided callbacks that will be called | |||||
* by the Activity's main thread when certain events occur. | |||||
* | |||||
* This means that each one of this callbacks _should_ _not_ block, or they | |||||
* risk having the system force-close the application. This programming | |||||
* model is direct, lightweight, but constraining. | |||||
* | |||||
* The 'threaded_native_app' static library is used to provide a different | |||||
* execution model where the application can implement its own main event | |||||
* loop in a different thread instead. Here's how it works: | |||||
* | |||||
* 1/ The application must provide a function named "android_main()" that | |||||
* will be called when the activity is created, in a new thread that is | |||||
* distinct from the activity's main thread. | |||||
* | |||||
* 2/ android_main() receives a pointer to a valid "android_app" structure | |||||
* that contains references to other important objects, e.g. the | |||||
* ANativeActivity obejct instance the application is running in. | |||||
* | |||||
* 3/ the "android_app" object holds an ALooper instance that already | |||||
* listens to two important things: | |||||
* | |||||
* - activity lifecycle events (e.g. "pause", "resume"). See APP_CMD_XXX | |||||
* declarations below. | |||||
* | |||||
* - input events coming from the AInputQueue attached to the activity. | |||||
* | |||||
* Each of these correspond to an ALooper identifier returned by | |||||
* ALooper_pollOnce with values of LOOPER_ID_MAIN and LOOPER_ID_INPUT, | |||||
* respectively. | |||||
* | |||||
* Your application can use the same ALooper to listen to additional | |||||
* file-descriptors. They can either be callback based, or with return | |||||
* identifiers starting with LOOPER_ID_USER. | |||||
* | |||||
* 4/ Whenever you receive a LOOPER_ID_MAIN or LOOPER_ID_INPUT event, | |||||
* the returned data will point to an android_poll_source structure. You | |||||
* can call the process() function on it, and fill in android_app->onAppCmd | |||||
* and android_app->onInputEvent to be called for your own processing | |||||
* of the event. | |||||
* | |||||
* Alternatively, you can call the low-level functions to read and process | |||||
* the data directly... look at the process_cmd() and process_input() | |||||
* implementations in the glue to see how to do this. | |||||
* | |||||
* See the sample named "native-activity" that comes with the NDK with a | |||||
* full usage example. Also look at the JavaDoc of NativeActivity. | |||||
*/ | |||||
struct android_app; | |||||
/** | |||||
* Data associated with an ALooper fd that will be returned as the "outData" | |||||
* when that source has data ready. | |||||
*/ | |||||
struct android_poll_source { | |||||
// The identifier of this source. May be LOOPER_ID_MAIN or | |||||
// LOOPER_ID_INPUT. | |||||
int32_t id; | |||||
// The android_app this ident is associated with. | |||||
struct android_app* app; | |||||
// Function to call to perform the standard processing of data from | |||||
// this source. | |||||
void (*process)(struct android_app* app, struct android_poll_source* source); | |||||
}; | |||||
/** | |||||
* This is the interface for the standard glue code of a threaded | |||||
* application. In this model, the application's code is running | |||||
* in its own thread separate from the main thread of the process. | |||||
* It is not required that this thread be associated with the Java | |||||
* VM, although it will need to be in order to make JNI calls any | |||||
* Java objects. | |||||
*/ | |||||
struct android_app { | |||||
// The application can place a pointer to its own state object | |||||
// here if it likes. | |||||
void* userData; | |||||
// Fill this in with the function to process main app commands (APP_CMD_*) | |||||
void (*onAppCmd)(struct android_app* app, int32_t cmd); | |||||
// Fill this in with the function to process input events. At this point | |||||
// the event has already been pre-dispatched, and it will be finished upon | |||||
// return. Return 1 if you have handled the event, 0 for any default | |||||
// dispatching. | |||||
int32_t (*onInputEvent)(struct android_app* app, AInputEvent* event); | |||||
// The ANativeActivity object instance that this app is running in. | |||||
ANativeActivity* activity; | |||||
// The current configuration the app is running in. | |||||
AConfiguration* config; | |||||
// This is the last instance's saved state, as provided at creation time. | |||||
// It is NULL if there was no state. You can use this as you need; the | |||||
// memory will remain around until you call android_app_exec_cmd() for | |||||
// APP_CMD_RESUME, at which point it will be freed and savedState set to NULL. | |||||
// These variables should only be changed when processing a APP_CMD_SAVE_STATE, | |||||
// at which point they will be initialized to NULL and you can malloc your | |||||
// state and place the information here. In that case the memory will be | |||||
// freed for you later. | |||||
void* savedState; | |||||
size_t savedStateSize; | |||||
// The ALooper associated with the app's thread. | |||||
ALooper* looper; | |||||
// When non-NULL, this is the input queue from which the app will | |||||
// receive user input events. | |||||
AInputQueue* inputQueue; | |||||
// When non-NULL, this is the window surface that the app can draw in. | |||||
ANativeWindow* window; | |||||
// Current content rectangle of the window; this is the area where the | |||||
// window's content should be placed to be seen by the user. | |||||
ARect contentRect; | |||||
// Current state of the app's activity. May be either APP_CMD_START, | |||||
// APP_CMD_RESUME, APP_CMD_PAUSE, or APP_CMD_STOP; see below. | |||||
int activityState; | |||||
// This is non-zero when the application's NativeActivity is being | |||||
// destroyed and waiting for the app thread to complete. | |||||
int destroyRequested; | |||||
// ------------------------------------------------- | |||||
// Below are "private" implementation of the glue code. | |||||
pthread_mutex_t mutex; | |||||
pthread_cond_t cond; | |||||
int msgread; | |||||
int msgwrite; | |||||
pthread_t thread; | |||||
struct android_poll_source cmdPollSource; | |||||
struct android_poll_source inputPollSource; | |||||
int running; | |||||
int stateSaved; | |||||
int destroyed; | |||||
int redrawNeeded; | |||||
AInputQueue* pendingInputQueue; | |||||
ANativeWindow* pendingWindow; | |||||
ARect pendingContentRect; | |||||
}; | |||||
enum { | |||||
/** | |||||
* Looper data ID of commands coming from the app's main thread, which | |||||
* is returned as an identifier from ALooper_pollOnce(). The data for this | |||||
* identifier is a pointer to an android_poll_source structure. | |||||
* These can be retrieved and processed with android_app_read_cmd() | |||||
* and android_app_exec_cmd(). | |||||
*/ | |||||
LOOPER_ID_MAIN = 1, | |||||
/** | |||||
* Looper data ID of events coming from the AInputQueue of the | |||||
* application's window, which is returned as an identifier from | |||||
* ALooper_pollOnce(). The data for this identifier is a pointer to an | |||||
* android_poll_source structure. These can be read via the inputQueue | |||||
* object of android_app. | |||||
*/ | |||||
LOOPER_ID_INPUT = 2, | |||||
/** | |||||
* Start of user-defined ALooper identifiers. | |||||
*/ | |||||
LOOPER_ID_USER = 3, | |||||
}; | |||||
enum { | |||||
/** | |||||
* Command from main thread: the AInputQueue has changed. Upon processing | |||||
* this command, android_app->inputQueue will be updated to the new queue | |||||
* (or NULL). | |||||
*/ | |||||
APP_CMD_INPUT_CHANGED, | |||||
/** | |||||
* Command from main thread: a new ANativeWindow is ready for use. Upon | |||||
* receiving this command, android_app->window will contain the new window | |||||
* surface. | |||||
*/ | |||||
APP_CMD_INIT_WINDOW, | |||||
/** | |||||
* Command from main thread: the existing ANativeWindow needs to be | |||||
* terminated. Upon receiving this command, android_app->window still | |||||
* contains the existing window; after calling android_app_exec_cmd | |||||
* it will be set to NULL. | |||||
*/ | |||||
APP_CMD_TERM_WINDOW, | |||||
/** | |||||
* Command from main thread: the current ANativeWindow has been resized. | |||||
* Please redraw with its new size. | |||||
*/ | |||||
APP_CMD_WINDOW_RESIZED, | |||||
/** | |||||
* Command from main thread: the system needs that the current ANativeWindow | |||||
* be redrawn. You should redraw the window before handing this to | |||||
* android_app_exec_cmd() in order to avoid transient drawing glitches. | |||||
*/ | |||||
APP_CMD_WINDOW_REDRAW_NEEDED, | |||||
/** | |||||
* Command from main thread: the content area of the window has changed, | |||||
* such as from the soft input window being shown or hidden. You can | |||||
* find the new content rect in android_app::contentRect. | |||||
*/ | |||||
APP_CMD_CONTENT_RECT_CHANGED, | |||||
/** | |||||
* Command from main thread: the app's activity window has gained | |||||
* input focus. | |||||
*/ | |||||
APP_CMD_GAINED_FOCUS, | |||||
/** | |||||
* Command from main thread: the app's activity window has lost | |||||
* input focus. | |||||
*/ | |||||
APP_CMD_LOST_FOCUS, | |||||
/** | |||||
* Command from main thread: the current device configuration has changed. | |||||
*/ | |||||
APP_CMD_CONFIG_CHANGED, | |||||
/** | |||||
* Command from main thread: the system is running low on memory. | |||||
* Try to reduce your memory use. | |||||
*/ | |||||
APP_CMD_LOW_MEMORY, | |||||
/** | |||||
* Command from main thread: the app's activity has been started. | |||||
*/ | |||||
APP_CMD_START, | |||||
/** | |||||
* Command from main thread: the app's activity has been resumed. | |||||
*/ | |||||
APP_CMD_RESUME, | |||||
/** | |||||
* Command from main thread: the app should generate a new saved state | |||||
* for itself, to restore from later if needed. If you have saved state, | |||||
* allocate it with malloc and place it in android_app.savedState with | |||||
* the size in android_app.savedStateSize. The will be freed for you | |||||
* later. | |||||
*/ | |||||
APP_CMD_SAVE_STATE, | |||||
/** | |||||
* Command from main thread: the app's activity has been paused. | |||||
*/ | |||||
APP_CMD_PAUSE, | |||||
/** | |||||
* Command from main thread: the app's activity has been stopped. | |||||
*/ | |||||
APP_CMD_STOP, | |||||
/** | |||||
* Command from main thread: the app's activity is being destroyed, | |||||
* and waiting for the app thread to clean up and exit before proceeding. | |||||
*/ | |||||
APP_CMD_DESTROY, | |||||
}; | |||||
/** | |||||
* Call when ALooper_pollAll() returns LOOPER_ID_MAIN, reading the next | |||||
* app command message. | |||||
*/ | |||||
int8_t android_app_read_cmd(struct android_app* android_app); | |||||
/** | |||||
* Call with the command returned by android_app_read_cmd() to do the | |||||
* initial pre-processing of the given command. You can perform your own | |||||
* actions for the command after calling this function. | |||||
*/ | |||||
void android_app_pre_exec_cmd(struct android_app* android_app, int8_t cmd); | |||||
/** | |||||
* Call with the command returned by android_app_read_cmd() to do the | |||||
* final post-processing of the given command. You must have done your own | |||||
* actions for the command before calling this function. | |||||
*/ | |||||
void android_app_post_exec_cmd(struct android_app* android_app, int8_t cmd); | |||||
/** | |||||
* Dummy function you can call to ensure glue code isn't stripped. | |||||
*/ | |||||
void app_dummy(); | |||||
/** | |||||
* This is the function that application code must implement, representing | |||||
* the main entry to the app. | |||||
*/ | |||||
extern void android_main(struct android_app* app); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* _ANDROID_NATIVE_APP_GLUE_H */ |