mod: refactored some EAX constants to Buffer or Listerner Properties class
This commit is contained in:
parent
91a5bdf5ba
commit
b24b4943d2
|
@ -40,33 +40,6 @@ package org.lwjgl.openal.eax;
|
|||
* @version $Revision$
|
||||
*/
|
||||
public interface BaseEAXConstants {
|
||||
public static final int DSPROPERTY_EAXLISTENER_NONE = 0;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ALLPARAMETERS = 1;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ROOM = 2;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ROOMHF = 3;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR = 4;
|
||||
public static final int DSPROPERTY_EAXLISTENER_DECAYTIME = 5;
|
||||
public static final int DSPROPERTY_EAXLISTENER_DECAYHFRATIO = 6;
|
||||
public static final int DSPROPERTY_EAXLISTENER_REFLECTIONS = 7;
|
||||
public static final int DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY = 8;
|
||||
public static final int DSPROPERTY_EAXLISTENER_REVERB = 9;
|
||||
public static final int DSPROPERTY_EAXLISTENER_REVERBDELAY = 10;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ENVIRONMENT = 11;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE = 12;
|
||||
public static final int DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION = 13;
|
||||
public static final int DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF = 14;
|
||||
public static final int DSPROPERTY_EAXLISTENER_FLAGS = 15;
|
||||
|
||||
/** 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);
|
||||
|
||||
public static final int ENVIRONMENT_GENERIC = 0;
|
||||
public static final int ENVIRONMENT_PADDEDCELL = 1;
|
||||
public static final int ENVIRONMENT_ROOM = 2;
|
||||
|
@ -95,181 +68,6 @@ public interface BaseEAXConstants {
|
|||
public static final int ENVIRONMENT_PSYCHOTIC = 25;
|
||||
public static final int ENVIRONMENT_COUNT = 26;
|
||||
|
||||
/** reverberation decay time */
|
||||
public static final int EAXLISTENERFLAGS_DECAYTIMESCALE = 0x00000001;
|
||||
|
||||
/** reflection level */
|
||||
public static final int EAXLISTENERFLAGS_REFLECTIONSSCALE = 0x00000002;
|
||||
|
||||
/** initial reflection delay time */
|
||||
public static final int EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE = 0x00000004;
|
||||
|
||||
/** reflections level */
|
||||
public static final int EAXLISTENERFLAGS_REVERBSCALE = 0x00000008;
|
||||
|
||||
/** late reverberation delay time */
|
||||
public static final int EAXLISTENERFLAGS_REVERBDELAYSCALE = 0x00000010;
|
||||
|
||||
/** This flag limits high-frequency decay time according to air absorption. */
|
||||
public static final int EAXLISTENERFLAGS_DECAYHFLIMIT = 0x00000020;
|
||||
|
||||
/** reserved future use */
|
||||
public static final int EAXLISTENERFLAGS_RESERVED = 0xFFFFFFC0;
|
||||
|
||||
// property ranges and defaults:
|
||||
public static final int EAXLISTENER_MINROOM = -10000;
|
||||
public static final int EAXLISTENER_MAXROOM = 0;
|
||||
public static final int EAXLISTENER_DEFAULTROOM = -1000;
|
||||
|
||||
public static final int EAXLISTENER_MINROOMHF = -10000;
|
||||
public static final int EAXLISTENER_MAXROOMHF = 0;
|
||||
public static final int EAXLISTENER_DEFAULTROOMHF = -100;
|
||||
|
||||
public static final float EAXLISTENER_MINROOMROLLOFFFACTOR = 0.0f;
|
||||
public static final float EAXLISTENER_MAXROOMROLLOFFFACTOR = 10.0f;
|
||||
public static final float EAXLISTENER_DEFAULTROOMROLLOFFFACTOR = 0.0f;
|
||||
|
||||
public static final float EAXLISTENER_MINDECAYTIME = 0.1f;
|
||||
public static final float EAXLISTENER_MAXDECAYTIME = 20.0f;
|
||||
public static final float EAXLISTENER_DEFAULTDECAYTIME = 1.49f;
|
||||
|
||||
public static final float EAXLISTENER_MINDECAYHFRATIO = 0.1f;
|
||||
public static final float EAXLISTENER_MAXDECAYHFRATIO = 2.0f;
|
||||
public static final float EAXLISTENER_DEFAULTDECAYHFRATIO = 0.83f;
|
||||
|
||||
public static final int EAXLISTENER_MINREFLECTIONS = -10000;
|
||||
public static final int EAXLISTENER_MAXREFLECTIONS = 1000;
|
||||
public static final int EAXLISTENER_DEFAULTREFLECTIONS = -2602;
|
||||
|
||||
public static final float EAXLISTENER_MINREFLECTIONSDELAY = 0.0f;
|
||||
public static final float EAXLISTENER_MAXREFLECTIONSDELAY = 0.3f;
|
||||
public static final float EAXLISTENER_DEFAULTREFLECTIONSDELAY = 0.007f;
|
||||
|
||||
public static final int EAXLISTENER_MINREVERB = -10000;
|
||||
public static final int EAXLISTENER_MAXREVERB = 2000;
|
||||
public static final int EAXLISTENER_DEFAULTREVERB = 200;
|
||||
|
||||
public static final float EAXLISTENER_MINREVERBDELAY = 0.0f;
|
||||
public static final float EAXLISTENER_MAXREVERBDELAY = 0.1f;
|
||||
public static final float EAXLISTENER_DEFAULTREVERBDELAY = 0.011f;
|
||||
|
||||
public static final int EAXLISTENER_MINENVIRONMENT = 0;
|
||||
public static final int EAXLISTENER_MAXENVIRONMENT = (ENVIRONMENT_COUNT-1);
|
||||
public static final int EAXLISTENER_DEFAULTENVIRONMENT = ENVIRONMENT_GENERIC;
|
||||
|
||||
public static final float EAXLISTENER_MINENVIRONMENTSIZE = 1.0f;
|
||||
public static final float EAXLISTENER_MAXENVIRONMENTSIZE = 100.0f;
|
||||
public static final float EAXLISTENER_DEFAULTENVIRONMENTSIZE = 7.5f;
|
||||
|
||||
public static final float EAXLISTENER_MINENVIRONMENTDIFFUSION = 0.0f;
|
||||
public static final float EAXLISTENER_MAXENVIRONMENTDIFFUSION = 1.0f;
|
||||
public static final float EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION = 1.0f;
|
||||
|
||||
public static final float EAXLISTENER_MINAIRABSORPTIONHF = -100.0f;
|
||||
public static final float EAXLISTENER_MAXAIRABSORPTIONHF = 0.0f;
|
||||
public static final float EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0f;
|
||||
|
||||
public static final int EAXLISTENER_DEFAULTFLAGS =
|
||||
(EAXLISTENERFLAGS_DECAYTIMESCALE |
|
||||
EAXLISTENERFLAGS_REFLECTIONSSCALE |
|
||||
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE |
|
||||
EAXLISTENERFLAGS_REVERBSCALE |
|
||||
EAXLISTENERFLAGS_REVERBDELAYSCALE |
|
||||
EAXLISTENERFLAGS_DECAYHFLIMIT);
|
||||
|
||||
//------------------------------------
|
||||
public static final int DSPROPERTY_EAXBUFFER_NONE = 0;
|
||||
public static final int DSPROPERTY_EAXBUFFER_ALLPARAMETERS = 1;
|
||||
public static final int DSPROPERTY_EAXBUFFER_DIRECT = 2;
|
||||
public static final int DSPROPERTY_EAXBUFFER_DIRECTHF = 3;
|
||||
public static final int DSPROPERTY_EAXBUFFER_ROOM = 4;
|
||||
public static final int DSPROPERTY_EAXBUFFER_ROOMHF = 5;
|
||||
public static final int DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR = 6;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OBSTRUCTION = 7;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO = 8;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OCCLUSION = 9;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO = 10;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO = 11;
|
||||
public static final int DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF = 12;
|
||||
public static final int DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR = 13;
|
||||
public static final int DSPROPERTY_EAXBUFFER_FLAGS = 14;
|
||||
|
||||
/** changes take effect immediately */
|
||||
public static final int DSPROPERTY_EAXBUFFER_IMMEDIATE = 0x00000000;
|
||||
|
||||
/** changes take effect later */
|
||||
public static final int DSPROPERTY_EAXBUFFER_DEFERRED = 0x80000000;
|
||||
public static final int DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS =
|
||||
(DSPROPERTY_EAXBUFFER_NONE |
|
||||
DSPROPERTY_EAXBUFFER_IMMEDIATE);
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_DIRECTHF */
|
||||
public static final int EAXBUFFERFLAGS_DIRECTHFAUTO = 0x00000001;
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_ROOM */
|
||||
public static final int EAXBUFFERFLAGS_ROOMAUTO = 0x00000002;
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_ROOMHF */
|
||||
public static final int EAXBUFFERFLAGS_ROOMHFAUTO = 0x00000004;
|
||||
|
||||
/** reserved future use */
|
||||
public static final int EAXBUFFERFLAGS_RESERVED = 0xFFFFFFF8;
|
||||
|
||||
// property ranges and defaults:
|
||||
|
||||
public static final int EAXBUFFER_MINDIRECT = -10000;
|
||||
public static final int EAXBUFFER_MAXDIRECT = 1000;
|
||||
public static final int EAXBUFFER_DEFAULTDIRECT = 0;
|
||||
|
||||
public static final int EAXBUFFER_MINDIRECTHF = -10000;
|
||||
public static final int EAXBUFFER_MAXDIRECTHF = 0;
|
||||
public static final int EAXBUFFER_DEFAULTDIRECTHF = 0;
|
||||
|
||||
public static final int EAXBUFFER_MINROOM = -10000;
|
||||
public static final int EAXBUFFER_MAXROOM = 1000;
|
||||
public static final int EAXBUFFER_DEFAULTROOM = 0;
|
||||
|
||||
public static final int EAXBUFFER_MINROOMHF = -10000;
|
||||
public static final int EAXBUFFER_MAXROOMHF = 0;
|
||||
public static final int EAXBUFFER_DEFAULTROOMHF = 0;
|
||||
|
||||
public static final float EAXBUFFER_MINROOMROLLOFFFACTOR = 0.0f;
|
||||
public static final float EAXBUFFER_MAXROOMROLLOFFFACTOR = 10.f;
|
||||
public static final float EAXBUFFER_DEFAULTROOMROLLOFFFACTOR = 0.0f;
|
||||
|
||||
public static final int EAXBUFFER_MINOBSTRUCTION = -10000;
|
||||
public static final int EAXBUFFER_MAXOBSTRUCTION = 0;
|
||||
public static final int EAXBUFFER_DEFAULTOBSTRUCTION = 0;
|
||||
|
||||
public static final float EAXBUFFER_MINOBSTRUCTIONLFRATIO = 0.0f;
|
||||
public static final float EAXBUFFER_MAXOBSTRUCTIONLFRATIO = 1.0f;
|
||||
public static final float EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO = 0.0f;
|
||||
|
||||
public static final int EAXBUFFER_MINOCCLUSION = -10000;
|
||||
public static final int EAXBUFFER_MAXOCCLUSION = 0;
|
||||
public static final int EAXBUFFER_DEFAULTOCCLUSION = 0;
|
||||
|
||||
public static final float EAXBUFFER_MINOCCLUSIONLFRATIO = 0.0f;
|
||||
public static final float EAXBUFFER_MAXOCCLUSIONLFRATIO = 1.0f;
|
||||
public static final float EAXBUFFER_DEFAULTOCCLUSIONLFRATIO = 0.25f;
|
||||
|
||||
public static final float EAXBUFFER_MINOCCLUSIONROOMRATIO = 0.0f;
|
||||
public static final float EAXBUFFER_MAXOCCLUSIONROOMRATIO = 10.0f;
|
||||
public static final float EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO = 0.5f;
|
||||
|
||||
public static final int EAXBUFFER_MINOUTSIDEVOLUMEHF = -10000;
|
||||
public static final int EAXBUFFER_MAXOUTSIDEVOLUMEHF = 0;
|
||||
public static final int EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF = 0;
|
||||
|
||||
public static final float EAXBUFFER_MINAIRABSORPTIONFACTOR = 0.0f;
|
||||
public static final float EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0f;
|
||||
public static final float EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0f;
|
||||
|
||||
public static final int EAXBUFFER_DEFAULTFLAGS =
|
||||
(EAXBUFFERFLAGS_DIRECTHFAUTO |
|
||||
EAXBUFFERFLAGS_ROOMAUTO |
|
||||
EAXBUFFERFLAGS_ROOMHFAUTO);
|
||||
|
||||
// Single window material preset
|
||||
public static final int MATERIAL_SINGLEWINDOW = -2800;
|
||||
public static final float MATERIAL_SINGLEWINDOWLF = 0.71f;
|
||||
|
|
|
@ -92,6 +92,95 @@ public class EAXBufferProperties {
|
|||
/** modifies the behavior of properties offset */
|
||||
protected static int flags_offset;
|
||||
|
||||
public static final int NONE = 0;
|
||||
public static final int ALLPARAMETERS = 1;
|
||||
public static final int DIRECT = 2;
|
||||
public static final int DIRECTHF = 3;
|
||||
public static final int ROOM = 4;
|
||||
public static final int ROOMHF = 5;
|
||||
public static final int ROOMROLLOFFFACTOR = 6;
|
||||
public static final int OBSTRUCTION = 7;
|
||||
public static final int OBSTRUCTIONLFRATIO = 8;
|
||||
public static final int OCCLUSION = 9;
|
||||
public static final int OCCLUSIONLFRATIO = 10;
|
||||
public static final int OCCLUSIONROOMRATIO = 11;
|
||||
public static final int OUTSIDEVOLUMEHF = 12;
|
||||
public static final int AIRABSORPTIONFACTOR = 13;
|
||||
public static final int FLAGS = 14;
|
||||
|
||||
/** changes take effect immediately */
|
||||
public static final int IMMEDIATE = 0x00000000;
|
||||
|
||||
/** changes take effect later */
|
||||
public static final int DEFERRED = 0x80000000;
|
||||
public static final int COMMITDEFERREDSETTINGS = (NONE | IMMEDIATE);
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_DIRECTHF */
|
||||
public static final int FLAGS_DIRECTHFAUTO = 0x00000001;
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_ROOM */
|
||||
public static final int FLAGS_ROOMAUTO = 0x00000002;
|
||||
|
||||
/** affects DSPROPERTY_EAXBUFFER_ROOMHF */
|
||||
public static final int FLAGS_ROOMHFAUTO = 0x00000004;
|
||||
|
||||
/** reserved future use */
|
||||
public static final int FLAGS_RESERVED = 0xFFFFFFF8;
|
||||
|
||||
// property ranges and defaults:
|
||||
|
||||
public static final int MINDIRECT = -10000;
|
||||
public static final int MAXDIRECT = 1000;
|
||||
public static final int DEFAULTDIRECT = 0;
|
||||
|
||||
public static final int MINDIRECTHF = -10000;
|
||||
public static final int MAXDIRECTHF = 0;
|
||||
public static final int DEFAULTDIRECTHF = 0;
|
||||
|
||||
public static final int MINROOM = -10000;
|
||||
public static final int MAXROOM = 1000;
|
||||
public static final int DEFAULTROOM = 0;
|
||||
|
||||
public static final int MINROOMHF = -10000;
|
||||
public static final int MAXROOMHF = 0;
|
||||
public static final int DEFAULTROOMHF = 0;
|
||||
|
||||
public static final float MINROOMROLLOFFFACTOR = 0.0f;
|
||||
public static final float MAXROOMROLLOFFFACTOR = 10.f;
|
||||
public static final float DEFAULTROOMROLLOFFFACTOR = 0.0f;
|
||||
|
||||
public static final int MINOBSTRUCTION = -10000;
|
||||
public static final int MAXOBSTRUCTION = 0;
|
||||
public static final int DEFAULTOBSTRUCTION = 0;
|
||||
|
||||
public static final float MINOBSTRUCTIONLFRATIO = 0.0f;
|
||||
public static final float MAXOBSTRUCTIONLFRATIO = 1.0f;
|
||||
public static final float DEFAULTOBSTRUCTIONLFRATIO = 0.0f;
|
||||
|
||||
public static final int MINOCCLUSION = -10000;
|
||||
public static final int MAXOCCLUSION = 0;
|
||||
public static final int DEFAULTOCCLUSION = 0;
|
||||
|
||||
public static final float MINOCCLUSIONLFRATIO = 0.0f;
|
||||
public static final float MAXOCCLUSIONLFRATIO = 1.0f;
|
||||
public static final float DEFAULTOCCLUSIONLFRATIO = 0.25f;
|
||||
|
||||
public static final float MINOCCLUSIONROOMRATIO = 0.0f;
|
||||
public static final float MAXOCCLUSIONROOMRATIO = 10.0f;
|
||||
public static final float DEFAULTOCCLUSIONROOMRATIO = 0.5f;
|
||||
|
||||
public static final int MINOUTSIDEVOLUMEHF = -10000;
|
||||
public static final int MAXOUTSIDEVOLUMEHF = 0;
|
||||
public static final int DEFAULTOUTSIDEVOLUMEHF = 0;
|
||||
|
||||
public static final float MINAIRABSORPTIONFACTOR = 0.0f;
|
||||
public static final float MAXAIRABSORPTIONFACTOR = 10.0f;
|
||||
public static final float DEFAULTAIRABSORPTIONFACTOR = 1.0f;
|
||||
|
||||
public static final int DEFAULTFLAGS = (FLAGS_DIRECTHFAUTO |
|
||||
FLAGS_ROOMAUTO |
|
||||
FLAGS_ROOMHFAUTO);
|
||||
|
||||
static {
|
||||
System.loadLibrary(org.lwjgl.Sys.getLibraryName());
|
||||
EAXBUFFERPROPERTIES_SIZE = sizeOfEaxBufferProperties();
|
||||
|
|
|
@ -94,6 +94,112 @@ public class EAXListenerProperties {
|
|||
/** modifies the behavior of properties offset */
|
||||
protected static int flags_offset;
|
||||
|
||||
public static final int NONE = 0;
|
||||
public static final int ALLPARAMETERS = 1;
|
||||
public static final int ROOM = 2;
|
||||
public static final int ROOMHF = 3;
|
||||
public static final int ROOMROLLOFFFACTOR = 4;
|
||||
public static final int DECAYTIME = 5;
|
||||
public static final int DECAYHFRATIO = 6;
|
||||
public static final int REFLECTIONS = 7;
|
||||
public static final int REFLECTIONSDELAY = 8;
|
||||
public static final int REVERB = 9;
|
||||
public static final int REVERBDELAY = 10;
|
||||
public static final int ENVIRONMENT = 11;
|
||||
public static final int ENVIRONMENTSIZE = 12;
|
||||
public static final int ENVIRONMENTDIFFUSION = 13;
|
||||
public static final int AIRABSORPTIONHF = 14;
|
||||
public static final int FLAGS = 15;
|
||||
|
||||
/** changes take effect immediately */
|
||||
public static final int IMMEDIATE = 0x00000000;
|
||||
|
||||
/** changes take effect later */
|
||||
public static final int DEFERRED = 0x80000000;
|
||||
|
||||
public static final int COMMITDEFERREDSETTINGS = (NONE | IMMEDIATE);
|
||||
|
||||
/** reverberation decay time */
|
||||
public static final int FLAGS_DECAYTIMESCALE = 0x00000001;
|
||||
|
||||
/** reflection level */
|
||||
public static final int FLAGS_REFLECTIONSSCALE = 0x00000002;
|
||||
|
||||
/** initial reflection delay time */
|
||||
public static final int FLAGS_REFLECTIONSDELAYSCALE = 0x00000004;
|
||||
|
||||
/** reflections level */
|
||||
public static final int FLAGS_REVERBSCALE = 0x00000008;
|
||||
|
||||
/** late reverberation delay time */
|
||||
public static final int FLAGS_REVERBDELAYSCALE = 0x00000010;
|
||||
|
||||
/** This flag limits high-frequency decay time according to air absorption. */
|
||||
public static final int FLAGS_DECAYHFLIMIT = 0x00000020;
|
||||
|
||||
/** reserved future use */
|
||||
public static final int FLAGS_RESERVED = 0xFFFFFFC0;
|
||||
|
||||
// property ranges and defaults:
|
||||
public static final int MINROOM = -10000;
|
||||
public static final int MAXROOM = 0;
|
||||
public static final int DEFAULTROOM = -1000;
|
||||
|
||||
public static final int MINROOMHF = -10000;
|
||||
public static final int MAXROOMHF = 0;
|
||||
public static final int DEFAULTROOMHF = -100;
|
||||
|
||||
public static final float MINROOMROLLOFFFACTOR = 0.0f;
|
||||
public static final float MAXROOMROLLOFFFACTOR = 10.0f;
|
||||
public static final float DEFAULTROOMROLLOFFFACTOR = 0.0f;
|
||||
|
||||
public static final float MINDECAYTIME = 0.1f;
|
||||
public static final float MAXDECAYTIME = 20.0f;
|
||||
public static final float DEFAULTDECAYTIME = 1.49f;
|
||||
|
||||
public static final float MINDECAYHFRATIO = 0.1f;
|
||||
public static final float MAXDECAYHFRATIO = 2.0f;
|
||||
public static final float DEFAULTDECAYHFRATIO = 0.83f;
|
||||
|
||||
public static final int MINREFLECTIONS = -10000;
|
||||
public static final int MAXREFLECTIONS = 1000;
|
||||
public static final int DEFAULTREFLECTIONS = -2602;
|
||||
|
||||
public static final float MINREFLECTIONSDELAY = 0.0f;
|
||||
public static final float MAXREFLECTIONSDELAY = 0.3f;
|
||||
public static final float DEFAULTREFLECTIONSDELAY = 0.007f;
|
||||
|
||||
public static final int MINREVERB = -10000;
|
||||
public static final int MAXREVERB = 2000;
|
||||
public static final int DEFAULTREVERB = 200;
|
||||
|
||||
public static final float MINREVERBDELAY = 0.0f;
|
||||
public static final float MAXREVERBDELAY = 0.1f;
|
||||
public static final float DEFAULTREVERBDELAY = 0.011f;
|
||||
|
||||
public static final int MINENVIRONMENT = 0;
|
||||
public static final int MAXENVIRONMENT = (EAX.ENVIRONMENT_COUNT-1);
|
||||
public static final int DEFAULTENVIRONMENT = EAX.ENVIRONMENT_GENERIC;
|
||||
|
||||
public static final float MINENVIRONMENTSIZE = 1.0f;
|
||||
public static final float MAXENVIRONMENTSIZE = 100.0f;
|
||||
public static final float DEFAULTENVIRONMENTSIZE = 7.5f;
|
||||
|
||||
public static final float MINENVIRONMENTDIFFUSION = 0.0f;
|
||||
public static final float MAXENVIRONMENTDIFFUSION = 1.0f;
|
||||
public static final float DEFAULTENVIRONMENTDIFFUSION = 1.0f;
|
||||
|
||||
public static final float MINAIRABSORPTIONHF = -100.0f;
|
||||
public static final float MAXAIRABSORPTIONHF = 0.0f;
|
||||
public static final float DEFAULTAIRABSORPTIONHF = -5.0f;
|
||||
|
||||
public static final int DEFAULTFLAGS = (FLAGS_DECAYTIMESCALE |
|
||||
FLAGS_REFLECTIONSSCALE |
|
||||
FLAGS_REFLECTIONSDELAYSCALE |
|
||||
FLAGS_REVERBSCALE |
|
||||
FLAGS_REVERBDELAYSCALE |
|
||||
FLAGS_DECAYHFLIMIT);
|
||||
|
||||
static {
|
||||
System.loadLibrary(org.lwjgl.Sys.getLibraryName());
|
||||
EAXLISTENERPROPERTIES_SIZE = sizeOfEaxListenerProperties();
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.lwjgl.openal.ALUT;
|
|||
import org.lwjgl.openal.ALUTLoadWAVData;
|
||||
import org.lwjgl.openal.eax.EAX;
|
||||
import org.lwjgl.openal.eax.EAXBufferProperties;
|
||||
import org.lwjgl.openal.eax.EAXListenerProperties;
|
||||
import org.lwjgl.Sys;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
@ -551,6 +552,7 @@ public class ALTest extends BasicTest {
|
|||
|
||||
try {
|
||||
ch = System.in.read();
|
||||
System.in.read();
|
||||
} catch (IOException ioe) {
|
||||
}
|
||||
|
||||
|
@ -966,10 +968,201 @@ public class ALTest extends BasicTest {
|
|||
}
|
||||
|
||||
protected void semiAutoTests() {
|
||||
System.out.println("semiAutoTests");
|
||||
delay_ms(3000);
|
||||
sA_StringQueries(); // String Queries Test
|
||||
sA_SourceGain(); // Source Gain Test
|
||||
//SA_ListenerGain(); // Listener Gain Test
|
||||
//SA_Position(); // Position Test
|
||||
//SA_SourceRelative(); // Source Relative Test
|
||||
//SA_ListenerOrientation(); // Listener Orientation Test
|
||||
//SA_SourceCone(); // Source Cone Test
|
||||
//SA_MinMaxGain(); // MIN/MAX Gain Test
|
||||
//SA_ReferenceDistance(); // Reference Distance Test
|
||||
//SA_RolloffFactor(); // Rolloff Factor Test
|
||||
//SA_DistanceModel(); // Distance Model Test
|
||||
sA_Doppler(); // Doppler Test
|
||||
//SA_Frequency(); // Frequency Test
|
||||
//SA_Stereo(); // Stereo Test
|
||||
//SA_Streaming(); // Streaming Test
|
||||
//SA_QueuingUnderrunPerformance(); // test underrun performance
|
||||
|
||||
System.out.print("\nDone with this series of tests. Going back to the main menu...");
|
||||
delay_ms(1000);
|
||||
}
|
||||
|
||||
protected int ContinueOrSkip() {
|
||||
int ch = -1;
|
||||
|
||||
System.out.print("\nPress Return to run this test, or 'S' to skip:\n");
|
||||
|
||||
while (true) {
|
||||
ch = CRToContinue();
|
||||
if ((ch == 'S') || (ch == 's')) {
|
||||
return 0;
|
||||
}
|
||||
if (ch == 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected int CRToContinue() {
|
||||
int ch = 0;
|
||||
int lastchar = 0;
|
||||
|
||||
do {
|
||||
lastchar = ch;
|
||||
try {
|
||||
ch = System.in.read();
|
||||
System.in.read();
|
||||
} catch (IOException ioe) {
|
||||
}
|
||||
} while (ch != 10);
|
||||
|
||||
return lastchar;
|
||||
}
|
||||
|
||||
protected void CRForNextTest() {
|
||||
System.out.print("\nPress Return to continue on to the next test.\n");
|
||||
|
||||
CRToContinue();
|
||||
}
|
||||
|
||||
protected void sA_StringQueries() {
|
||||
System.out.print("String Queries Test:");
|
||||
if (ContinueOrSkip() == 1) {
|
||||
System.out.print("Check that the following values are reasonable:\n");
|
||||
|
||||
String tempString;
|
||||
|
||||
ALCcontext pContext;
|
||||
ALCdevice pDevice;
|
||||
pContext = alc.getCurrentContext();
|
||||
pDevice = alc.getContextsDevice(pContext);
|
||||
tempString = alc.getString(pDevice, ALC.DEVICE_SPECIFIER);
|
||||
System.out.print("OpenAL Context Device Specifier is '" + tempString + "'\n");
|
||||
tempString = al.getString(AL.RENDERER);
|
||||
System.out.print("OpenAL Renderer is '" + tempString + "'\n");
|
||||
tempString = al.getString(AL.VERSION);
|
||||
System.out.print("OpenAL Version is '" + tempString + "'\n");
|
||||
tempString = al.getString(AL.VENDOR);
|
||||
System.out.print("OpenAL Vendor is '" + tempString + "'\n");
|
||||
tempString = al.getString(AL.EXTENSIONS);
|
||||
System.out.print("OpenAL Extensions supported are :\n" + tempString + "\n");
|
||||
System.out.print("\nError Codes are :-\n");
|
||||
System.out.print("AL_NO_ERROR : '" + al.getString(AL.NO_ERROR) + "'\n");
|
||||
|
||||
System.out.print("AL_INVALID_ENUM : '" + al.getString(AL.INVALID_ENUM) + "'\n");
|
||||
System.out.print("AL_INVALID_VALUE : '" + al.getString(AL.INVALID_VALUE) + "'\n");
|
||||
|
||||
System.out.print("AL_INVALID_OPERATION : '" + al.getString(AL.INVALID_OPERATION) + "'\n");
|
||||
System.out.print("AL_OUT_OF_MEMORY : '" + al.getString(AL.OUT_OF_MEMORY) + "'\n");
|
||||
CRForNextTest();
|
||||
}
|
||||
}
|
||||
|
||||
protected void sA_SourceGain() {
|
||||
IntBuffer testSources = createIntBuffer(1);
|
||||
FloatBuffer listenerOri = createFloatBuffer(6);
|
||||
listenerOri.put(new float[]{0.0f,0.0f,-1.0f, 0.0f,1.0f,0.0f});
|
||||
|
||||
FloatBuffer sourceOri = createFloatBuffer(6);
|
||||
sourceOri.put(new float[]{1.0f,0.0f,0.0f, 0.0f,1.0f,0.0f});
|
||||
|
||||
System.out.print("Source Gain Test:");
|
||||
if (ContinueOrSkip() == 1) {
|
||||
// load up sources
|
||||
al.genSources(1, Sys.getDirectBufferAddress(testSources));
|
||||
al.sourcei(testSources.get(0), AL.BUFFER, buffers.get(1));
|
||||
|
||||
System.out.print("The following sound effect will be played at full source gain (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.sourcef(Sys.getDirectBufferAddress(testSources),AL.GAIN,1.0f);
|
||||
al.sourcePlay(testSources.get(0));
|
||||
System.out.print("The following sound effect will be played at half source gain (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.sourcef(testSources.get(0),AL.GAIN,0.5f);
|
||||
al.sourcePlay(testSources.get(0));
|
||||
System.out.print("The following sound effect will be played at quarter source gain (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.sourcef(testSources.get(0),AL.GAIN,0.25f);
|
||||
al.sourcePlay(testSources.get(0));
|
||||
System.out.print("The following sound effect will be played at 1/20th source gain (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.sourcef(testSources.get(0),AL.GAIN,0.05f);
|
||||
al.sourcePlay(testSources.get(0));
|
||||
CRForNextTest();
|
||||
al.sourcef(testSources.get(0),AL.GAIN,1.0f);
|
||||
|
||||
// dispose of sources
|
||||
al.sourcei(testSources.get(0), AL.BUFFER, 0);
|
||||
al.deleteSources(1, Sys.getDirectBufferAddress(testSources));
|
||||
}
|
||||
}
|
||||
|
||||
protected void sA_Doppler() {
|
||||
IntBuffer testSources = createIntBuffer(2);
|
||||
int i;
|
||||
FloatBuffer listenerOri = createFloatBuffer(6);
|
||||
listenerOri.put(new float[] {0.0f,0.0f,-1.0f, 0.0f,1.0f,0.0f});
|
||||
|
||||
FloatBuffer sourceOri = createFloatBuffer(6);
|
||||
sourceOri.put(new float[] {1.0f,0.0f,0.0f, 0.0f,1.0f,0.0f});
|
||||
|
||||
System.out.print("Doppler Test:");
|
||||
if (ContinueOrSkip() == 1) {
|
||||
// load up sources
|
||||
al.genSources(1, Sys.getDirectBufferAddress(testSources));
|
||||
al.sourcei(testSources.get(0), AL.BUFFER, buffers.get(1));
|
||||
|
||||
System.out.print("Trying Left-to-Right sweep with doppler shift (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.listenerfv(AL.ORIENTATION, Sys.getDirectBufferAddress(listenerOri));
|
||||
al.sourcei(testSources.get(0), AL.LOOPING, AL.TRUE);
|
||||
al.source3f(testSources.get(0), AL.POSITION, -100.0f, 0.0f, 0.0f);
|
||||
al.source3f(testSources.get(0), AL.VELOCITY, 10.0f, 0.0f, 0.0f);
|
||||
al.sourcefv(testSources.get(0), AL.ORIENTATION, Sys.getDirectBufferAddress(sourceOri));
|
||||
al.sourcePlay(testSources.get(0));
|
||||
for (i = -100; i < 100; i++) {
|
||||
al.source3f(testSources.get(0), AL.POSITION, (float) i, 0.0f, 0.0f);
|
||||
delay_ms(100);
|
||||
}
|
||||
al.sourceStop(testSources.get(0));
|
||||
System.out.print("Trying Left-to-Right sweep with DopplerFactor set to 4.0 -- should be more extreme (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.source3f(testSources.get(0), AL.POSITION, -100.0f, 0.0f, 0.0f);
|
||||
al.source3f(testSources.get(0), AL.VELOCITY, 10.0f, 0.0f, 0.0f);
|
||||
al.dopplerFactor(4.0f);
|
||||
if (al.getFloat(AL.DOPPLER_FACTOR) != 4.0f) { System.out.print(" alGetFloat(AL_DOPPLER_FACTOR) error.\n"); }
|
||||
al.sourcePlay(testSources.get(0));
|
||||
for (i = -100; i < 100; i++) {
|
||||
al.source3f(testSources.get(0), AL.POSITION, (float) i, 0.0f, 0.0f);
|
||||
delay_ms(100);
|
||||
}
|
||||
al.sourceStop(testSources.get(0));
|
||||
al.dopplerFactor(1.0f);
|
||||
System.out.print("Trying Left-to-Right sweep with DopplerVelocity set to 86 -- should remain extreme (Press Return):\n");
|
||||
CRToContinue();
|
||||
al.source3f(testSources.get(0), AL.POSITION, -100.0f, 0.0f, 0.0f);
|
||||
al.source3f(testSources.get(0), AL.VELOCITY, 10.0f, 0.0f, 0.0f);
|
||||
al.dopplerVelocity(86);
|
||||
if (al.getFloat(AL.DOPPLER_VELOCITY) != 86) { System.out.print(" alGetFloat(AL_DOPPLER_VELOCITY) error.\n"); }
|
||||
al.sourcePlay(testSources.get(0));
|
||||
for (i = -100; i < 100; i++) {
|
||||
al.source3f(testSources.get(0), AL.POSITION, (float) i, 0.0f, 0.0f);
|
||||
delay_ms(100);
|
||||
}
|
||||
al.dopplerVelocity(343);
|
||||
al.source3f(testSources.get(0), AL.POSITION, 0.0f, 0.0f, 0.0f);
|
||||
al.sourceStop(testSources.get(0));
|
||||
CRForNextTest();
|
||||
|
||||
// dispose of sources
|
||||
al.sourcei(testSources.get(0), AL.BUFFER, 0);
|
||||
al.deleteSources(1, Sys.getDirectBufferAddress(testSources));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void i_PositionTest() {
|
||||
int error;
|
||||
|
||||
|
@ -1388,7 +1581,7 @@ public class ALTest extends BasicTest {
|
|||
break;
|
||||
case '5':
|
||||
Env.put(0, EAX.ENVIRONMENT_HANGAR);
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAX.DSPROPERTY_EAXLISTENER_ENVIRONMENT | EAX.DSPROPERTY_EAXLISTENER_DEFERRED,
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAXListenerProperties.ENVIRONMENT | EAXListenerProperties.DEFERRED,
|
||||
0, Sys.getDirectBufferAddress(Env), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXLISTENER_ENVIRONMENT | EAXLISTENER_DEFERRED : \n", error);
|
||||
|
@ -1396,19 +1589,19 @@ public class ALTest extends BasicTest {
|
|||
|
||||
case '6':
|
||||
Room.put(-10000);
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAX.DSPROPERTY_EAXLISTENER_ROOM | EAX.DSPROPERTY_EAXLISTENER_DEFERRED, 0,
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAXListenerProperties.ROOM | EAXListenerProperties.DEFERRED, 0,
|
||||
Sys.getDirectBufferAddress(Room), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXLISTENER_ROOM | EAXLISTENER_DEFERRED : \n", error);
|
||||
break;
|
||||
|
||||
case '7':
|
||||
eax.eaxGet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_ALLPARAMETERS, source.get(0),
|
||||
eax.eaxGet(EAX.BUFFER_GUID, EAXBufferProperties.ALLPARAMETERS, source.get(0),
|
||||
eaxBufferProp0.getAddress(), eaxBufferProp0.getSize());
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxGet EAXBUFFER_ALLPARAMETERS : \n", error);
|
||||
eaxBufferProp0.setOcclusion(-5000);
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_ALLPARAMETERS | EAX.DSPROPERTY_EAXBUFFER_DEFERRED, source.get(0),
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAXBufferProperties.ALLPARAMETERS | EAXBufferProperties.DEFERRED, source.get(0),
|
||||
eaxBufferProp0.getAddress(), eaxBufferProp0.getSize());
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXBUFFER_ALLPARAMETERS | EAXBUFFER_DEFERRED : \n", error);
|
||||
|
@ -1416,7 +1609,7 @@ public class ALTest extends BasicTest {
|
|||
|
||||
case '8':
|
||||
Occlusion.put(0, 0);
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_OCCLUSION | EAX.DSPROPERTY_EAXBUFFER_DEFERRED, source.get(0),
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAXBufferProperties.OCCLUSION | EAXBufferProperties.DEFERRED, source.get(0),
|
||||
Sys.getDirectBufferAddress(Occlusion), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXBUFFER_OCCLUSION | EAXBUFFER_DEFERRED : \n", error);
|
||||
|
@ -1424,7 +1617,7 @@ public class ALTest extends BasicTest {
|
|||
|
||||
case '9':
|
||||
Obstruction.put(0, -5000);
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_OBSTRUCTION, source.get(1),
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAXBufferProperties.OBSTRUCTION, source.get(1),
|
||||
Sys.getDirectBufferAddress(Obstruction), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXBUFFER_OBSTRUCTION : \n", error);
|
||||
|
@ -1432,7 +1625,7 @@ public class ALTest extends BasicTest {
|
|||
|
||||
case '0':
|
||||
Obstruction.put(0, 0);
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_OBSTRUCTION, source.get(1),
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAXBufferProperties.OBSTRUCTION, source.get(1),
|
||||
Sys.getDirectBufferAddress(Obstruction), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXBUFFER_OBSTRUCTION : \n", error);
|
||||
|
@ -1440,13 +1633,13 @@ public class ALTest extends BasicTest {
|
|||
|
||||
case 'C':
|
||||
// Commit settings on source 0
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAX.DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS,
|
||||
eax.eaxSet(EAX.BUFFER_GUID, EAXBufferProperties.COMMITDEFERREDSETTINGS,
|
||||
source.get(0), 0, 0);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXBUFFER_COMMITDEFERREDSETTINGS : \n", error);
|
||||
|
||||
// Commit Listener settings
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAX.DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS,
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAXListenerProperties.COMMITDEFERREDSETTINGS,
|
||||
0, 0, 0);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXLISTENER_COMMITDEFERREDSETTINGSENVIRONMENT : \n", error);
|
||||
|
@ -1456,7 +1649,7 @@ public class ALTest extends BasicTest {
|
|||
|
||||
// reset EAX level
|
||||
Room.put(0, -10000);
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAX.DSPROPERTY_EAXLISTENER_ROOM, 0, Sys.getDirectBufferAddress(Room), 4);
|
||||
eax.eaxSet(EAX.LISTENER_GUID, EAXListenerProperties.ROOM, 0, Sys.getDirectBufferAddress(Room), 4);
|
||||
if ((error = al.getError()) != AL.NO_ERROR)
|
||||
displayALError("eaxSet EAXLISTENER_ROOM : \n", error);
|
||||
|
||||
|
|
Loading…
Reference in New Issue