diff options
author | Mathieu Féry <[email protected]> | 2023-11-22 10:16:29 +0100 |
---|---|---|
committer | Mathieu Féry <[email protected]> | 2023-11-22 14:57:23 +0100 |
commit | ac87e953de99a165ca0d1adebc93678f28dfe094 (patch) | |
tree | 3ff2ca6282e44735f308dddde96d186ffc60fa7e /src | |
parent | 21079539c1f81bae9df328e6487e4d4d174b0b51 (diff) |
drop(eax): Remove support of legacy EAX extension
Diffstat (limited to 'src')
-rw-r--r-- | src/java/com/jogamp/openal/eax/EAX.java | 123 | ||||
-rw-r--r-- | src/java/com/jogamp/openal/eax/EAXConstants.java | 350 | ||||
-rw-r--r-- | src/java/com/jogamp/openal/eax/EAXFactory.java | 72 | ||||
-rw-r--r-- | src/native/eaxbind.c | 85 | ||||
-rw-r--r-- | src/native/eaxbind.h | 63 | ||||
-rw-r--r-- | src/native/eaxfactory.c | 71 | ||||
-rw-r--r-- | src/native/eaxfactory.h | 58 | ||||
-rw-r--r-- | src/test/com/jogamp/openal/test/manual/OpenALTest.java | 12 |
8 files changed, 0 insertions, 834 deletions
diff --git a/src/java/com/jogamp/openal/eax/EAX.java b/src/java/com/jogamp/openal/eax/EAX.java deleted file mode 100644 index b64e04c..0000000 --- a/src/java/com/jogamp/openal/eax/EAX.java +++ /dev/null @@ -1,123 +0,0 @@ -/** - * 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; - -import java.nio.Buffer; - -/** - * @author Athomas Goldberg - * - */ -public class EAX implements EAXConstants { - - public static final int SOURCE = 0; - public static final int LISTENER = 1; - - private final int sourceGUID; - private final int listenerGUID; - - /** - * @param sourceGUID - * @param listenerGUID - */ - EAX(final int sourceGUID, final int listenerGUID) { - this.sourceGUID = sourceGUID; - this.listenerGUID = listenerGUID; - } - - /** - * This method sets an EAX property value. <br> - * <br> - * <b>Interface to C Language function:</b> - * <pre>ALenum EAXSet(const struct _GUID *propertySetID, ALuint property, ALuint source, ALvoid *value, ALuint size)</pre> - * - * @param objectFlag a flag indicating a LISTENER or a SOURCE - * @param pname the property being set - * @param source the ID of the source, or 0 for Listener properties - * @param value a direct Buffer to hold the value retrieved - * @param size the size of the Buffer - */ - public native void EAXSet(int objectFlag, int pname, int source, Buffer value, int size); - - /** - * This method retrieves an EAX property value. <br> - * <br> - * <b>Interface to C Language function:</b> - * <pre>ALenum EAXGet(const struct _GUID *propertySetID, ALuint property, ALuint source, ALvoid *value, ALuint size)</pre> - * - * @param objectFlag a flag indicating a LISTENER or a SOURCE - * @param pname the property being queried - * @param source the ID of the source, or 0 for Listener properties - * @param value a direct Buffer to hold the value retrieved - * @param size the size of the Buffer - */ - public native void EAXGet(int objectFlag, int pname, int source, Buffer value, int size); - - /** - * This method sets a source property. - * @param sourceID the ID of the source whose property is being set. - * @param pname the name of the property being set - * @param value a direct Buffer containing the value to be set - */ - public void setSourceProperty(final int sourceID, final int pname, final Buffer value) { - EAXSet(sourceGUID, pname, sourceID, value, value.capacity()); - } - - /** - * This method retrieves a source property. - * @param sourceID the ID of the source whose property is being retrieved. - * @param pname the name of the property being retrieved - * @param value a direct Buffer to hold the value to be retrieved - */ - public void getSourceProperty(final int pname, final int sourceID, final Buffer value) { - EAXGet(sourceGUID, pname, sourceID, value, value.capacity()); - } - - /** - * This method sets a Listener property. - * @param pname the name of the property being set - * @param value a direct Buffer containing the value to be set - */ - public void setListenerProperty(final int pname, final Buffer value) { - EAXSet(listenerGUID, pname, 0, value, value.capacity()); - } - - /** - * This method retrieves a Listener property. - * @param pname the name of the property being retrieved - * @param value a direct Buffer to hold the value to be retrieved - */ - public void getListenerProperty(final int pname, final Buffer value) { - EAXGet(listenerGUID, pname, 0, value, value.capacity()); - } -} diff --git a/src/java/com/jogamp/openal/eax/EAXConstants.java b/src/java/com/jogamp/openal/eax/EAXConstants.java deleted file mode 100644 index fae7bd2..0000000 --- a/src/java/com/jogamp/openal/eax/EAXConstants.java +++ /dev/null @@ -1,350 +0,0 @@ -/** -* 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 diff --git a/src/java/com/jogamp/openal/eax/EAXFactory.java b/src/java/com/jogamp/openal/eax/EAXFactory.java deleted file mode 100644 index fb81739..0000000 --- a/src/java/com/jogamp/openal/eax/EAXFactory.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * 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; - -import com.jogamp.openal.ALFactory; - -/** - * @author Athomas Goldberg - * - */ -public final class EAXFactory { - public static final boolean DEBUG; - - static { - //initializes JOAL - ALFactory.getAL(); - DEBUG = ALFactory.DEBUG; - } - - private static EAX eax = null; - private static boolean eaxTried = false; - - private static native void init(); - - public static synchronized EAX getEAX() { - try { - if (!eaxTried) { - eaxTried = true; - init(); - eax = new EAX(EAX.SOURCE, EAX.LISTENER); - if(DEBUG) { - System.err.println("EAX initialized"); - } - } - } catch (final UnsatisfiedLinkError e) { - if(DEBUG) { - e.printStackTrace(); - } - } - return eax; - } -} diff --git a/src/native/eaxbind.c b/src/native/eaxbind.c deleted file mode 100644 index 6b17a66..0000000 --- a/src/native/eaxbind.c +++ /dev/null @@ -1,85 +0,0 @@ -/** -* 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 MIDROSYSTEMS, 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. -*/ - - -#include "eaxbind.h" -#include "eax.h" -#ifdef _WIN32 -const GUID DSPROPSETID_EAX20_ListenerProperties - = { 0x306a6a8, 0xb224, 0x11d2, { 0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22 } }; - -const GUID DSPROPSETID_EAX20_BufferProperties - = { 0x306a6a7, 0xb224, 0x11d2, {0x99, 0xe5, 0x0, 0x0, 0xe8, 0xd8, 0xc7, 0x22 } }; -#endif - -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAX_EAXSet - (JNIEnv *env, - jobject obj, - jint gflag, - jint pname, - jint source, - jobject buff, - jint size) { -#ifdef _WIN32 - ALvoid* p = (ALvoid*)(*env)->GetDirectBufferAddress(env,buff); - - const GUID* guid = (gflag == 1 ? &DSPROPSETID_EAX20_ListenerProperties : - &DSPROPSETID_EAX20_BufferProperties); - eaxSet(guid, - (ALuint) pname, - (ALuint)source, - p, - (ALuint)size); -#endif -} - -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAX_EAXGet - (JNIEnv *env, - jobject obj, - jint gflag, - jint pname, - jint source, - jobject buff, - jint size) { -#ifdef _WIN32 - ALvoid* p = (ALvoid*)(*env)->GetDirectBufferAddress(env,buff); - const GUID* guid = (gflag == 1 ? &DSPROPSETID_EAX20_ListenerProperties : - &DSPROPSETID_EAX20_BufferProperties); - eaxGet(guid, - (ALuint) pname, - (ALuint) source, - p, - (ALuint) size); -#endif -} - diff --git a/src/native/eaxbind.h b/src/native/eaxbind.h deleted file mode 100644 index 9450313..0000000 --- a/src/native/eaxbind.h +++ /dev/null @@ -1,63 +0,0 @@ -/** -* 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 MIDROSYSTEMS, 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. -*/ - - -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class net_java_games_joal_eax_EAX */ - -#ifndef _Included_net_java_games_joal_eax_EAX -#define _Included_net_java_games_joal_eax_EAX -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: net_java_games_joal_eax_EAX - * Method: _eaxSet - * Signature: (IIILjava/nio/ByteBuffer;I)V - */ -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAX_EAXSet - (JNIEnv *, jobject, jint, jint, jint, jobject, jint); - -/* - * Class: net_java_games_joal_eax_EAX - * Method: _eaxGet - * Signature: (IIILjava/nio/ByteBuffer;I)V - */ -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAX_EAXGet - (JNIEnv *, jobject, jint, jint, jint, jobject, jint); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/native/eaxfactory.c b/src/native/eaxfactory.c deleted file mode 100644 index 6ad89ce..0000000 --- a/src/native/eaxfactory.c +++ /dev/null @@ -1,71 +0,0 @@ -/** -* 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 MIDROSYSTEMS, 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. -*/ - - -#include "eaxfactory.h" -#include "al.h" -#include "eax.h" - -#ifdef _WIN32 -#include <windows.h> -static HMODULE oalModule = NULL; -static LPALISEXTENSIONPRESENT _ptr_alIsExtensionPresent = NULL; -static LPALGETPROCADDRESS _ptr_alGetProcAddress = NULL; -EAXSet eaxSet; // EAXSet function -EAXGet eaxGet; // EAXGet function -#endif - -/* - * had some problems getting this from extal.h - */ - -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAXFactory_init - (JNIEnv *env, jclass clazz) { -#ifdef _WIN32 - if (_ptr_alIsExtensionPresent == NULL) { - if (oalModule == NULL) { - oalModule = GetModuleHandle("OpenAL32"); - } - _ptr_alIsExtensionPresent = (LPALISEXTENSIONPRESENT) GetProcAddress(oalModule, "alIsExtensionPresent"); - _ptr_alGetProcAddress = (LPALGETPROCADDRESS) GetProcAddress(oalModule, "alGetProcAddress"); - } - - if (_ptr_alIsExtensionPresent != NULL && - _ptr_alGetProcAddress != NULL) { - if ((*_ptr_alIsExtensionPresent)("EAX2.0")) { - eaxSet = (*_ptr_alGetProcAddress)((ALubyte*)"EAXSet"); - eaxGet = (*_ptr_alGetProcAddress)((ALubyte*)"EAXGet"); - } - } -#endif -} diff --git a/src/native/eaxfactory.h b/src/native/eaxfactory.h deleted file mode 100644 index 1a58cd8..0000000 --- a/src/native/eaxfactory.h +++ /dev/null @@ -1,58 +0,0 @@ -/** -* 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 MIDROSYSTEMS, 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. -*/ - - -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include <jni.h> -/* Header for class net_java_games_joal_eax_EAXFactory */ - -#ifndef _Included_net_java_games_joal_eax_EAXFactory -#define _Included_net_java_games_joal_eax_EAXFactory -#ifdef __cplusplus -extern "C" { -#endif -/* Inaccessible static: SOURCE_GUID */ -/* Inaccessible static: LISTENER_GUID */ -/* Inaccessible static: eax */ -/* - * Class: net_java_games_joal_eax_EAXFactory - * Method: init - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_net_java_games_joal_eax_EAXFactory_init - (JNIEnv *, jclass); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/test/com/jogamp/openal/test/manual/OpenALTest.java b/src/test/com/jogamp/openal/test/manual/OpenALTest.java index a9481f6..c8eb535 100644 --- a/src/test/com/jogamp/openal/test/manual/OpenALTest.java +++ b/src/test/com/jogamp/openal/test/manual/OpenALTest.java @@ -47,9 +47,6 @@ import com.jogamp.openal.ALFactory; import com.jogamp.openal.ALVersion; import com.jogamp.openal.JoalVersion; import com.jogamp.openal.UnsupportedAudioFileException; -import com.jogamp.openal.eax.EAX; -import com.jogamp.openal.eax.EAXConstants; -import com.jogamp.openal.eax.EAXFactory; import com.jogamp.openal.test.resources.ResourceLocation; import com.jogamp.openal.util.WAVData; @@ -83,10 +80,6 @@ public class OpenALTest { alc.alcMakeContextCurrent(context); System.out.println("ALVersion: "+new ALVersion(al).toString()); - final boolean eaxPresent = al.alIsExtensionPresent("EAX2.0"); - final EAX eax = ( eaxPresent ) ? EAXFactory.getEAX() : null; - System.err.println("EAX present:" + eaxPresent + ", EAX retrieved: "+ (null != eax)); - final int[] buffers = new int[1]; al.alGenBuffers(1, buffers, 0); @@ -106,11 +99,6 @@ public class OpenALTest { al.alGetSourcei(sources[0], ALConstants.AL_LOOPING, loopArray, 0); System.err.println("Looping 1: " + (loopArray[0] == ALConstants.AL_TRUE)); - if (eaxPresent && null!=eax) { - final IntBuffer env = Buffers.newDirectIntBuffer(1); - env.put(EAXConstants.EAX_ENVIRONMENT_BATHROOM); - eax.setListenerProperty(EAXConstants.DSPROPERTY_EAXLISTENER_ENVIRONMENT, env); - } initialized = true; } |