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 */ |