summaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/openal/eax/EAXConstants.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/com/jogamp/openal/eax/EAXConstants.java')
-rw-r--r--src/java/com/jogamp/openal/eax/EAXConstants.java350
1 files changed, 350 insertions, 0 deletions
diff --git a/src/java/com/jogamp/openal/eax/EAXConstants.java b/src/java/com/jogamp/openal/eax/EAXConstants.java
new file mode 100644
index 0000000..106932d
--- /dev/null
+++ b/src/java/com/jogamp/openal/eax/EAXConstants.java
@@ -0,0 +1,350 @@
+/**
+* Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+*
+* -Redistribution of source code must retain the above copyright notice,
+* this list of conditions and the following disclaimer.
+*
+* -Redistribution in binary form must reproduce the above copyright notice,
+* this list of conditions and the following disclaimer in the documentation
+* and/or other materials provided with the distribution.
+*
+* Neither the name of Sun Microsystems, Inc. or the names of contributors may
+* be used to endorse or promote products derived from this software without
+* specific prior written permission.
+*
+* This software is provided "AS IS," without a warranty of any kind.
+* ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
+* ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS
+* LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A
+* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
+* IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
+* OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
+* PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+* ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+*
+* You acknowledge that this software is not designed or intended for use in the
+* design, construction, operation or maintenance of any nuclear facility.
+*/
+
+package com.jogamp.openal.eax;
+/**
+ *
+ * This class implements the basic EAX extension constants.
+ *
+ * @author Athomas Goldberg
+ */
+public interface EAXConstants {
+
+ public final static int DSPROPERTY_EAXLISTENER_NONE = 0;
+ public final static int DSPROPERTY_EAXLISTENER_ALLPARAMETERS = 1;
+ public final static int DSPROPERTY_EAXLISTENER_ROOM = 2;
+ public final static int DSPROPERTY_EAXLISTENER_ROOMHF = 3;
+ public final static int DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR = 4;
+ public final static int DSPROPERTY_EAXLISTENER_DECAYTIME = 5;
+ public final static int DSPROPERTY_EAXLISTENER_DECAYHFRATIO = 6;
+ public final static int DSPROPERTY_EAXLISTENER_REFLECTIONS = 7;
+ public final static int DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY = 8;
+ public final static int DSPROPERTY_EAXLISTENER_REVERB = 9;
+ public final static int DSPROPERTY_EAXLISTENER_REVERBDELAY = 10;
+ public final static int DSPROPERTY_EAXLISTENER_ENVIRONMENT = 11;
+ public final static int DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE = 12;
+ public final static int DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION = 13;
+ public final static int DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF = 14;
+ public final static int DSPROPERTY_EAXLISTENER_FLAGS = 15;
+
+// OR these flags with property id //
+ /** changes take effect immediately */
+ public static final int DSPROPERTY_EAXLISTENER_IMMEDIATE = 0x00000000;
+
+ /** changes take effect later */
+ public static final int DSPROPERTY_EAXLISTENER_DEFERRED = 0x80000000;
+
+ public static final int DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS =
+ DSPROPERTY_EAXLISTENER_NONE |
+ DSPROPERTY_EAXLISTENER_IMMEDIATE;
+
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_GENERIC = 0;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_PADDEDCELL = 1;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_ROOM = 2;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_BATHROOM = 3;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_LIVINGROOM = 4;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_STONEROOM = 5;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_AUDITORIUM = 6;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_CONCERTHALL = 7;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_CAVE = 8;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_ARENA = 9;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_HANGAR = 10;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_HALLWAY = 12;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_STONECORRIDOR = 13;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_ALLEY = 14;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_FOREST = 15;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_CITY = 16;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_MOUNTAINS = 17;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_QUARRY = 18;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_PLAIN = 19;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_PARKINGLOT = 20;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_SEWERPIPE = 21;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_UNDERWATER = 22;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_DRUGGED = 23;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_DIZZY = 24;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_PSYCHOTIC = 25;
+ /** used by DSPROPERTY_EAXLISTENER_ENVIRONMENT */
+ public final static int EAX_ENVIRONMENT_COUNT = 26;
+
+// These flags determine what properties are affected by environment size.
+ /** reverberation decay time */
+ public final static int EAXLISTENERFLAGS_DECAYTIMESCALE = 0x00000001;
+ /** reflection level */
+ public final static int EAXLISTENERFLAGS_REFLECTIONSSCALE = 0x00000002;
+ /** initial reflection delay time */
+ public final static int EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE = 0x00000004;
+ /** reflections level */
+ public final static int EAXLISTENERFLAGS_REVERBSCALE = 0x00000008;
+ /** late reverberation delay time */
+ public final static int EAXLISTENERFLAGS_REVERBDELAYSCALE = 0x00000010;
+
+ /** This flag limits high-frequency decay time according to air absorption.*/
+ public final static int EAXLISTENERFLAGS_DECAYHFLIMIT = 0x00000020;
+ /** reserved future use */
+ public final static int EAXLISTENERFLAGS_RESERVED = 0xFFFFFFC0;
+
+// property ranges and defaults:
+
+ public final static int EAXLISTENER_MINROOM = -10000;
+ public final static int EAXLISTENER_MAXROOM = 0;
+ public final static int EAXLISTENER_DEFAULTROOM = -1000;
+
+ public final static int EAXLISTENER_MINROOMHF = -10000;
+ public final static int EAXLISTENER_MAXROOMHF = 0;
+ public final static int EAXLISTENER_DEFAULTROOMHF = -100;
+
+ public final static float EAXLISTENER_MINROOMROLLOFFFACTOR = 0.0f;
+ public final static float EAXLISTENER_MAXROOMROLLOFFFACTOR = 10.0f;
+ public final static float EAXLISTENER_DEFAULTROOMROLLOFFFACTOR = 0.0f;
+
+ public final static float EAXLISTENER_MINDECAYTIME = 0.1f;
+ public final static float EAXLISTENER_MAXDECAYTIME = 20.0f;
+ public final static float EAXLISTENER_DEFAULTDECAYTIME = 1.49f;
+
+ public final static float EAXLISTENER_MINDECAYHFRATIO = 0.1f;
+ public final static float EAXLISTENER_MAXDECAYHFRATIO = 2.0f;
+ public final static float EAXLISTENER_DEFAULTDECAYHFRATIO = 0.83f;
+
+ public final static int EAXLISTENER_MINREFLECTIONS = -10000;
+ public final static int EAXLISTENER_MAXREFLECTIONS = 1000;
+ public final static int EAXLISTENER_DEFAULTREFLECTIONS = -2602;
+
+ public final static float EAXLISTENER_MINREFLECTIONSDELAY = 0.0f;
+ public final static float EAXLISTENER_MAXREFLECTIONSDELAY = 0.3f;
+ public final static float EAXLISTENER_DEFAULTREFLECTIONSDELAY = 0.007f;
+
+ public final static int EAXLISTENER_MINREVERB = -10000;
+ public final static int EAXLISTENER_MAXREVERB = 2000;
+ public final static int EAXLISTENER_DEFAULTREVERB = 200;
+
+ public final static float EAXLISTENER_MINREVERBDELAY = 0.0f;
+ public final static float EAXLISTENER_MAXREVERBDELAY = 0.1f;
+ public final static float EAXLISTENER_DEFAULTREVERBDELAY = 0.011f;
+
+ public final static int EAXLISTENER_MINENVIRONMENT = 0;
+ public final static int EAXLISTENER_MAXENVIRONMENT = EAX_ENVIRONMENT_COUNT-1;
+ public final static int EAXLISTENER_DEFAULTENVIRONMENT = EAX_ENVIRONMENT_GENERIC;
+
+ public final static float EAXLISTENER_MINENVIRONMENTSIZE = 1.0f;
+ public final static float EAXLISTENER_MAXENVIRONMENTSIZE = 100.0f;
+ public final static float EAXLISTENER_DEFAULTENVIRONMENTSIZE = 7.5f;
+
+ public final static float EAXLISTENER_MINENVIRONMENTDIFFUSION = 0.0f;
+ public final static float EAXLISTENER_MAXENVIRONMENTDIFFUSION = 1.0f;
+ public final static float EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION = 1.0f;
+
+ public final static float EAXLISTENER_MINAIRABSORPTIONHF = -100.0f;
+ public final static float EAXLISTENER_MAXAIRABSORPTIONHF = 0.0f;
+ public final static float EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0f;
+
+ public final static int EAXLISTENER_DEFAULTFLAGS =
+ EAXLISTENERFLAGS_DECAYTIMESCALE |
+ EAXLISTENERFLAGS_REFLECTIONSSCALE |
+ EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE |
+ EAXLISTENERFLAGS_REVERBSCALE |
+ EAXLISTENERFLAGS_REVERBDELAYSCALE |
+ EAXLISTENERFLAGS_DECAYHFLIMIT;
+
+ public final static int DSPROPERTY_EAXBUFFER_NONE = 0;
+ public final static int DSPROPERTY_EAXBUFFER_ALLPARAMETERS = 1;
+ public final static int DSPROPERTY_EAXBUFFER_DIRECT = 2;
+ public final static int DSPROPERTY_EAXBUFFER_DIRECTHF = 3;
+ public final static int DSPROPERTY_EAXBUFFER_ROOM = 4;
+ public final static int DSPROPERTY_EAXBUFFER_ROOMHF = 5;
+ public final static int DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR = 6;
+ public final static int DSPROPERTY_EAXBUFFER_OBSTRUCTION = 7;
+ public final static int DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO = 8;
+ public final static int DSPROPERTY_EAXBUFFER_OCCLUSION = 9;
+ public final static int DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO = 10;
+ public final static int DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO = 11;
+ public final static int DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF = 13;
+ public final static int DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR = 14;
+ public final static int DSPROPERTY_EAXBUFFER_FLAGS = 15;
+
+// OR these flags with property id
+ /** changes take effect immediately */
+ public final static int DSPROPERTY_EAXBUFFER_IMMEDIATE = 0x00000000;
+ /** changes take effect later */
+ public final static int DSPROPERTY_EAXBUFFER_DEFERRED = 0x80000000;
+ public final static int DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS =
+ DSPROPERTY_EAXBUFFER_NONE |
+ DSPROPERTY_EAXBUFFER_IMMEDIATE;
+
+
+// Used by DSPROPERTY_EAXBUFFER_FLAGS
+// TRUE: value is computed automatically - property is an offset
+// FALSE: value is used directly
+//
+// Note: The number and order of flags may change in future EAX versions.
+// To insure future compatibility, use flag defines as follows:
+// myFlags = EAXBUFFERFLAGS_DIRECTHFAUTO | EAXBUFFERFLAGS_ROOMAUTO;
+// instead of:
+// myFlags = 0x00000003;
+//
+ /** affects DSPROPERTY_EAXBUFFER_DIRECTHF */
+ public final static int EAXBUFFERFLAGS_DIRECTHFAUTO = 0x00000001;
+ /** affects DSPROPERTY_EAXBUFFER_ROOM */
+ public final static int EAXBUFFERFLAGS_ROOMAUTO = 0x00000002;
+ /** affects DSPROPERTY_EAXBUFFER_ROOMHF */
+ public final static int EAXBUFFERFLAGS_ROOMHFAUTO = 0x00000004;
+ /** reserved future use */
+ public final static int EAXBUFFERFLAGS_RESERVED = 0xFFFFFFF8;
+
+// property ranges and defaults:
+
+ public final static int EAXBUFFER_MINDIRECT = (-10000);
+ public final static int EAXBUFFER_MAXDIRECT = 1000;
+ public final static int EAXBUFFER_DEFAULTDIRECT = 0;
+
+ public final static int EAXBUFFER_MINDIRECTHF = (-10000);
+ public final static int EAXBUFFER_MAXDIRECTHF = 0;
+ public final static int EAXBUFFER_DEFAULTDIRECTHF = 0;
+
+ public final static int EAXBUFFER_MINROOM = (-10000);
+ public final static int EAXBUFFER_MAXROOM = 1000;
+ public final static int EAXBUFFER_DEFAULTROOM = 0;
+
+ public final static int EAXBUFFER_MINROOMHF = (-10000);
+ public final static int EAXBUFFER_MAXROOMHF = 0;
+ public final static int EAXBUFFER_DEFAULTROOMHF = 0;
+
+ public final static float EAXBUFFER_MINROOMROLLOFFFACTOR = 0.0f;
+ public final static float EAXBUFFER_MAXROOMROLLOFFFACTOR = 10.f;
+ public final static float EAXBUFFER_DEFAULTROOMROLLOFFFACTOR = 0.0f;
+
+ public final static int EAXBUFFER_MINOBSTRUCTION = (-10000);
+ public final static int EAXBUFFER_MAXOBSTRUCTION = 0;
+ public final static int EAXBUFFER_DEFAULTOBSTRUCTION = 0;
+
+ public final static float EAXBUFFER_MINOBSTRUCTIONLFRATIO = 0.0f;
+ public final static float EAXBUFFER_MAXOBSTRUCTIONLFRATIO = 1.0f;
+ public final static float EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO = 0.0f;
+
+ public final static int EAXBUFFER_MINOCCLUSION = (-10000);
+ public final static int EAXBUFFER_MAXOCCLUSION = 0;
+ public final static int EAXBUFFER_DEFAULTOCCLUSION = 0;
+
+ public final static float EAXBUFFER_MINOCCLUSIONLFRATIO = 0.0f;
+ public final static float EAXBUFFER_MAXOCCLUSIONLFRATIO = 1.0f;
+ public final static float EAXBUFFER_DEFAULTOCCLUSIONLFRATIO = 0.25f;
+
+ public final static float EAXBUFFER_MINOCCLUSIONROOMRATIO = 0.0f;
+ public final static float EAXBUFFER_MAXOCCLUSIONROOMRATIO = 10.0f;
+ public final static float EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO = 0.5f;
+
+ public final static int EAXBUFFER_MINOUTSIDEVOLUMEHF = (-10000);
+ public final static int EAXBUFFER_MAXOUTSIDEVOLUMEHF = 0;
+ public final static int EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF = 0;
+
+ public final static float EAXBUFFER_MINAIRABSORPTIONFACTOR = 0.0f;
+ public final static float EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0f;
+ public final static float EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0f;
+
+ public final static int EAXBUFFER_DEFAULTFLAGS =
+ EAXBUFFERFLAGS_DIRECTHFAUTO |
+ EAXBUFFERFLAGS_ROOMAUTO |
+ EAXBUFFERFLAGS_ROOMHFAUTO;
+
+// Material transmission presets
+// 3 values in this order:
+// 1: occlusion (or obstruction)
+// 2: occlusion LF Ratio (or obstruction LF Ratio)
+// 3: occlusion Room Ratio
+
+// Single window material preset
+ public final static int EAX_MATERIAL_SINGLEWINDOW = (-2800);
+ public final static float EAX_MATERIAL_SINGLEWINDOWLF = 0.71f;
+ public final static float EAX_MATERIAL_SINGLEWINDOWROOMRATIO = 0.43f;
+
+// Double window material preset
+ public final static int EAX_MATERIAL_DOUBLEWINDOW = (-5000);
+ public final static float EAX_MATERIAL_DOUBLEWINDOWHF = 0.40f;
+ public final static float EAX_MATERIAL_DOUBLEWINDOWROOMRATIO = 0.24f;
+
+// Thin door material preset
+ public final static int EAX_MATERIAL_THINDOOR = (-1800);
+ public final static float EAX_MATERIAL_THINDOORLF = 0.66f;
+ public final static float EAX_MATERIAL_THINDOORROOMRATIO = 0.66f;
+
+// Thick door material preset
+ public final static int EAX_MATERIAL_THICKDOOR = (-4400);
+ public final static float EAX_MATERIAL_THICKDOORLF = 0.64f;
+ public final static float EAX_MATERIAL_THICKDOORROOMRTATION = 0.27f;
+
+// Wood wall material preset
+ public final static int EAX_MATERIAL_WOODWALL = (-4000);
+ public final static float EAX_MATERIAL_WOODWALLLF = 0.50f;
+ public final static float EAX_MATERIAL_WOODWALLROOMRATIO = 0.30f;
+
+// Brick wall material preset
+ public final static int EAX_MATERIAL_BRICKWALL = (-5000);
+ public final static float EAX_MATERIAL_BRICKWALLLF = 0.60f;
+ public final static float EAX_MATERIAL_BRICKWALLROOMRATIO = 0.24f;
+
+// Stone wall material preset
+ public final static int EAX_MATERIAL_STONEWALL = (-6000);
+ public final static float EAX_MATERIAL_STONEWALLLF = 0.68f;
+ public final static float EAX_MATERIAL_STONEWALLROOMRATIO = 0.20f;
+
+// Curtain material preset
+ public final static int EAX_MATERIAL_CURTAIN = (-1200);
+ public final static float EAX_MATERIAL_CURTAINLF = 0.15f;
+ public final static float EAX_MATERIAL_CURTAINROOMRATIO = 1.00f;
+} \ No newline at end of file