"fix": deactivate EAX for this test release

This commit is contained in:
Brian Matzon 2003-07-16 21:16:36 +00:00
parent 1526ad3a2a
commit 491133c7f1
4 changed files with 940 additions and 944 deletions

View File

@ -40,128 +40,4 @@
* @version $Revision$ * @version $Revision$
*/ */
public class EAX extends CoreEAX { public class EAX extends CoreEAX {
/**
* Sets an EAX Value
*
* @param listener EAXListenerProperties to set values from
* @param property property being queried
* @param source the source to be queried
*/
public static void eaxSetProperty(EAXListenerProperties listener, int property, int source) {
System.out.println("EAX has been disapled for this release, due to \"issues\" with the implementation");
//CoreEAX.eaxSet(CoreEAX.LISTENER_GUID, property, source, listener.eaxListenerProperties, EAXListenerProperties.EAXLISTENERPROPERTIES_SIZE);
}
/**
* Sets an EAX Value
*
* @param buffer EAXBufferProperties to set values from
* @param property property being queried
* @param source the source to be queried
*/
public static void eaxSetProperty(EAXBufferProperties buffer, int property, int source) {
System.out.println("EAX has been disapled for this release, due to \"issues\" with the implementation");
//CoreEAX.eaxSet(CoreEAX.BUFFER_GUID, property, source, buffer.eaxBufferProperties, EAX.getSizeOfProperty(CoreEAX.BUFFER_GUID, property));
}
/**
* Gets an EAX Value
*
* @param listener EAXListenerProperties to set values on
* @param property property being queried
* @param source the source to be queried
*/
public static void eaxGetProperty(EAXListenerProperties listener, int property, int source) {
System.out.println("EAX has been disapled for this release, due to \"issues\" with the implementation");
//CoreEAX.eaxGet(CoreEAX.LISTENER_GUID, property, source, listener.eaxListenerProperties, EAX.getSizeOfProperty(CoreEAX.LISTENER_GUID, property));
}
/**
* Sets an EAX Value
*
* @param buffer EAXBufferProperties to set values on
* @param property property being queried
* @param source the source to be queried
*/
public static void eaxGetProperty(EAXBufferProperties buffer, int property, int source) {
System.out.println("EAX has been disapled for this release, due to \"issues\" with the implementation");
//CoreEAX.eaxGet(CoreEAX.BUFFER_GUID, property, source, buffer.eaxBufferProperties, EAX.getSizeOfProperty(CoreEAX.BUFFER_GUID, property));
}
/**
* Retrieves the size of the property
*
* @param guid Listener or Source guid
* @param property Property to determine size of
* @return size of property
*/
private static int getSizeOfProperty(int guid, int property) {
if (guid == CoreEAX.LISTENER_GUID) {
switch(property) {
case EAXListenerProperties.EAXLISTENER_NONE:
return 0;
/* long */
case EAXListenerProperties.EAXLISTENER_ROOM:
case EAXListenerProperties.EAXLISTENER_ROOMHF:
case EAXListenerProperties.EAXLISTENER_REFLECTIONS:
case EAXListenerProperties.EAXLISTENER_REVERB:
/* float */
case EAXListenerProperties.EAXLISTENER_ROOMROLLOFFFACTOR:
case EAXListenerProperties.EAXLISTENER_DECAYTIME:
case EAXListenerProperties.EAXLISTENER_DECAYHFRATIO:
case EAXListenerProperties.EAXLISTENER_REFLECTIONSDELAY:
case EAXListenerProperties.EAXLISTENER_REVERBDELAY:
case EAXListenerProperties.EAXLISTENER_ENVIRONMENTSIZE:
case EAXListenerProperties.EAXLISTENER_ENVIRONMENTDIFFUSION:
case EAXListenerProperties.EAXLISTENER_AIRABSORPTIONHF:
/* unsigned long */
case EAXListenerProperties.EAXLISTENER_ENVIRONMENT:
case EAXListenerProperties.EAXLISTENER_FLAGS:
return 4;
case EAXListenerProperties.EAXLISTENER_ALLPARAMETERS:
return EAXListenerProperties.EAXLISTENERPROPERTIES_SIZE;
default:
throw new IllegalArgumentException("No such property '" + property + "'");
}
} else {
switch(property) {
case EAXBufferProperties.EAXBUFFER_NONE:
return 0;
/* long */
case EAXBufferProperties.EAXBUFFER_DIRECT:
case EAXBufferProperties.EAXBUFFER_DIRECTHF:
case EAXBufferProperties.EAXBUFFER_ROOM:
case EAXBufferProperties.EAXBUFFER_ROOMHF:
case EAXBufferProperties.EAXBUFFER_OBSTRUCTION:
case EAXBufferProperties.EAXBUFFER_OCCLUSION:
case EAXBufferProperties.EAXBUFFER_OUTSIDEVOLUMEHF:
/* float */
case EAXBufferProperties.EAXBUFFER_ROOMROLLOFFFACTOR:
case EAXBufferProperties.EAXBUFFER_OBSTRUCTIONLFRATIO:
case EAXBufferProperties.EAXBUFFER_OCCLUSIONLFRATIO:
case EAXBufferProperties.EAXBUFFER_OCCLUSIONROOMRATIO:
case EAXBufferProperties.EAXBUFFER_AIRABSORPTIONFACTOR:
/* unsigned long */
case EAXBufferProperties.EAXBUFFER_FLAGS:
return 4;
case EAXBufferProperties.EAXBUFFER_ALLPARAMETERS:
return EAXBufferProperties.EAXBUFFERPROPERTIES_SIZE;
default:
throw new IllegalArgumentException("No such property '" + property + "'");
}
}
}
} }

View File

@ -112,7 +112,8 @@ public class EAXBufferProperties {
/** changes take effect later */ /** changes take effect later */
public static final int EAXBUFFER_DEFERRED = 0x80000000; public static final int EAXBUFFER_DEFERRED = 0x80000000;
public static final int EAXBUFFER_COMMITDEFERREDSETTINGS = (EAXBUFFER_NONE | EAXBUFFER_IMMEDIATE); public static final int EAXBUFFER_COMMITDEFERREDSETTINGS =
(EAXBUFFER_NONE | EAXBUFFER_IMMEDIATE);
/** affects DSPROPERTY_EAXBUFFER_DIRECTHF */ /** affects DSPROPERTY_EAXBUFFER_DIRECTHF */
public static final int EAXBUFFER_FLAGS_DIRECTHFAUTO = 0x00000001; public static final int EAXBUFFER_FLAGS_DIRECTHFAUTO = 0x00000001;
@ -176,9 +177,10 @@ public class EAXBufferProperties {
public static final float EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0f; public static final float EAXBUFFER_MAXAIRABSORPTIONFACTOR = 10.0f;
public static final float EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0f; public static final float EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR = 1.0f;
public static final int EAXBUFFER_DEFAULTFLAGS = ( EAXBUFFER_FLAGS_DIRECTHFAUTO | public static final int EAXBUFFER_DEFAULTFLAGS =
EAXBUFFER_FLAGS_ROOMAUTO | (EAXBUFFER_FLAGS_DIRECTHFAUTO
EAXBUFFER_FLAGS_ROOMHFAUTO); | EAXBUFFER_FLAGS_ROOMAUTO
| EAXBUFFER_FLAGS_ROOMHFAUTO);
static { static {
System.loadLibrary(org.lwjgl.Sys.getLibraryName()); System.loadLibrary(org.lwjgl.Sys.getLibraryName());
@ -191,6 +193,36 @@ public class EAXBufferProperties {
eaxBufferProperties.order(ByteOrder.nativeOrder()); eaxBufferProperties.order(ByteOrder.nativeOrder());
} }
/**
* Sets an EAX Value
*
* @param property property being queried
* @param source the source to be queried
*/
public void eaxSet(int property, int source) {
EAX.eaxSet(
CoreEAX.BUFFER_GUID,
property,
source,
eaxBufferProperties,
EAXBUFFERPROPERTIES_SIZE);
}
/**
* Sets an EAX Value
*
* @param property property being queried
* @param source the source to be queried
*/
public void eaxGet(int property, int source) {
EAX.eaxGet(
CoreEAX.BUFFER_GUID,
property,
source,
eaxBufferProperties,
EAXBUFFERPROPERTIES_SIZE);
}
/** /**
* Retireves the direct path level * Retireves the direct path level
* *
@ -404,7 +436,9 @@ public class EAXBufferProperties {
* @param airAbsorptionFactor multiplier for DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF to set to * @param airAbsorptionFactor multiplier for DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF to set to
*/ */
public void setAirAbsorptionFactor(float airAbsorptionFactor) { public void setAirAbsorptionFactor(float airAbsorptionFactor) {
eaxBufferProperties.putFloat(airAbsorptionFactor_offset, airAbsorptionFactor); eaxBufferProperties.putFloat(
airAbsorptionFactor_offset,
airAbsorptionFactor);
} }
/** /**
@ -441,4 +475,45 @@ public class EAXBufferProperties {
* Sets the offsets to the fields * Sets the offsets to the fields
*/ */
protected static native void assignOffsets(); protected static native void assignOffsets();
/**
* Retrieves the size of the property
*
* @param property Property to determine size of
* @return size of property
*/
private static int getSizeOfProperty(int property) {
switch (property) {
case EAXBufferProperties.EAXBUFFER_NONE :
return 0;
/* long */
case EAXBufferProperties.EAXBUFFER_DIRECT :
case EAXBufferProperties.EAXBUFFER_DIRECTHF :
case EAXBufferProperties.EAXBUFFER_ROOM :
case EAXBufferProperties.EAXBUFFER_ROOMHF :
case EAXBufferProperties.EAXBUFFER_OBSTRUCTION :
case EAXBufferProperties.EAXBUFFER_OCCLUSION :
case EAXBufferProperties.EAXBUFFER_OUTSIDEVOLUMEHF :
/* float */
case EAXBufferProperties.EAXBUFFER_ROOMROLLOFFFACTOR :
case EAXBufferProperties.EAXBUFFER_OBSTRUCTIONLFRATIO :
case EAXBufferProperties.EAXBUFFER_OCCLUSIONLFRATIO :
case EAXBufferProperties.EAXBUFFER_OCCLUSIONROOMRATIO :
case EAXBufferProperties.EAXBUFFER_AIRABSORPTIONFACTOR :
/* unsigned long */
case EAXBufferProperties.EAXBUFFER_FLAGS :
return 4;
case EAXBufferProperties.EAXBUFFER_ALLPARAMETERS :
return EAXBufferProperties.EAXBUFFERPROPERTIES_SIZE;
default :
throw new IllegalArgumentException(
"No such property '" + property + "'");
}
}
} }

View File

@ -115,7 +115,8 @@ public class EAXListenerProperties {
/** changes take effect later */ /** changes take effect later */
public static final int EAXLISTENER_DEFERRED = 0x80000000; public static final int EAXLISTENER_DEFERRED = 0x80000000;
public static final int EAXLISTENER_COMMITDEFERREDSETTINGS = (EAXLISTENER_NONE | EAXLISTENER_IMMEDIATE); public static final int EAXLISTENER_COMMITDEFERREDSETTINGS =
(EAXLISTENER_NONE | EAXLISTENER_IMMEDIATE);
/** reverberation decay time */ /** reverberation decay time */
public static final int EAXLISTENERFLAGS_DECAYTIMESCALE = 0x00000001; public static final int EAXLISTENERFLAGS_DECAYTIMESCALE = 0x00000001;
@ -176,8 +177,10 @@ public class EAXListenerProperties {
public static final float EAXLISTENER_DEFAULTREVERBDELAY = 0.011f; public static final float EAXLISTENER_DEFAULTREVERBDELAY = 0.011f;
public static final int EAXLISTENER_MINENVIRONMENT = 0; public static final int EAXLISTENER_MINENVIRONMENT = 0;
public static final int EAXLISTENER_MAXENVIRONMENT = (EAX.EAX_ENVIRONMENT_COUNT-1); public static final int EAXLISTENER_MAXENVIRONMENT =
public static final int EAXLISTENER_DEFAULTENVIRONMENT = EAX.EAX_ENVIRONMENT_GENERIC; (EAX.EAX_ENVIRONMENT_COUNT - 1);
public static final int EAXLISTENER_DEFAULTENVIRONMENT =
EAX.EAX_ENVIRONMENT_GENERIC;
public static final float EAXLISTENER_MINENVIRONMENTSIZE = 1.0f; public static final float EAXLISTENER_MINENVIRONMENTSIZE = 1.0f;
public static final float EAXLISTENER_MAXENVIRONMENTSIZE = 100.0f; public static final float EAXLISTENER_MAXENVIRONMENTSIZE = 100.0f;
@ -191,12 +194,13 @@ public class EAXListenerProperties {
public static final float EAXLISTENER_MAXAIRABSORPTIONHF = 0.0f; public static final float EAXLISTENER_MAXAIRABSORPTIONHF = 0.0f;
public static final float EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0f; public static final float EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0f;
public static final int EAXLISTENER_DEFAULTFLAGS = ( EAXLISTENERFLAGS_DECAYTIMESCALE | public static final int EAXLISTENER_DEFAULTFLAGS =
EAXLISTENERFLAGS_REFLECTIONSSCALE | (EAXLISTENERFLAGS_DECAYTIMESCALE
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE | | EAXLISTENERFLAGS_REFLECTIONSSCALE
EAXLISTENERFLAGS_REVERBSCALE | | EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE
EAXLISTENERFLAGS_REVERBDELAYSCALE | | EAXLISTENERFLAGS_REVERBSCALE
EAXLISTENERFLAGS_DECAYHFLIMIT); | EAXLISTENERFLAGS_REVERBDELAYSCALE
| EAXLISTENERFLAGS_DECAYHFLIMIT);
static { static {
System.loadLibrary(org.lwjgl.Sys.getLibraryName()); System.loadLibrary(org.lwjgl.Sys.getLibraryName());
EAXLISTENERPROPERTIES_SIZE = sizeOfEaxListenerProperties(); EAXLISTENERPROPERTIES_SIZE = sizeOfEaxListenerProperties();
@ -204,10 +208,41 @@ public class EAXListenerProperties {
} }
public EAXListenerProperties() { public EAXListenerProperties() {
eaxListenerProperties = ByteBuffer.allocateDirect(EAXLISTENERPROPERTIES_SIZE); eaxListenerProperties =
ByteBuffer.allocateDirect(EAXLISTENERPROPERTIES_SIZE);
eaxListenerProperties.order(ByteOrder.nativeOrder()); eaxListenerProperties.order(ByteOrder.nativeOrder());
} }
/**
* Sets an EAX Value
*
* @param property property being queried
* @param source the source to be queried
*/
public void eaxSet(int property, int source) {
EAX.eaxSet(
CoreEAX.LISTENER_GUID,
property,
source,
eaxListenerProperties,
EAXLISTENERPROPERTIES_SIZE);
}
/**
* Gets an EAX Value
*
* @param property property being queried
* @param source the source to be queried
*/
public void eaxGet(int property, int source) {
EAX.eaxGet(
CoreEAX.LISTENER_GUID,
property,
source,
eaxListenerProperties,
EAXLISTENERPROPERTIES_SIZE);
}
/** /**
* Retireves the room effect level * Retireves the room effect level
* *
@ -421,7 +456,9 @@ public class EAXListenerProperties {
* @param environmentDiffusion environment diffusion to set to * @param environmentDiffusion environment diffusion to set to
*/ */
public void setEnvironmentDiffusion(float environmentDiffusion) { public void setEnvironmentDiffusion(float environmentDiffusion) {
eaxListenerProperties.putFloat(environmentDiffusion_offset, environmentDiffusion); eaxListenerProperties.putFloat(
environmentDiffusion_offset,
environmentDiffusion);
} }
/** /**

View File

@ -104,10 +104,14 @@ JNIEXPORT void JNICALL Java_org_lwjgl_openal_eax_CoreEAX_setGUID (JNIEnv *env, j
*/ */
JNIEXPORT jint JNICALL Java_org_lwjgl_openal_eax_CoreEAX_eaxGet (JNIEnv *env, jclass clazz, jint propertySetID, jint property, jint source, jobject value, jint size) { JNIEXPORT jint JNICALL Java_org_lwjgl_openal_eax_CoreEAX_eaxGet (JNIEnv *env, jclass clazz, jint propertySetID, jint property, jint source, jobject value, jint size) {
#ifdef _WIN32 #ifdef _WIN32
/*
jint result = (jint) eaxGet((const struct _GUID*)propertySetID, (ALuint) property, (ALuint) source, (ALvoid*) env->GetDirectBufferAddress(value), (ALuint) size); jint result = (jint) eaxGet((const struct _GUID*)propertySetID, (ALuint) property, (ALuint) source, (ALvoid*) env->GetDirectBufferAddress(value), (ALuint) size);
CHECK_AL_ERROR CHECK_AL_ERROR
return result; return result;
*/
printf("Method currently deactivated. Fixed soon\n");
return -1;
#else #else
ThrowException(env, "EAX extensions not supported"); ThrowException(env, "EAX extensions not supported");
return 0; return 0;
@ -123,10 +127,14 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_openal_eax_CoreEAX_eaxGet (JNIEnv *env, jc
*/ */
JNIEXPORT jint JNICALL Java_org_lwjgl_openal_eax_CoreEAX_eaxSet (JNIEnv *env, jclass clazz, jint propertySetID, jint property, jint source, jobject value, jint size) { JNIEXPORT jint JNICALL Java_org_lwjgl_openal_eax_CoreEAX_eaxSet (JNIEnv *env, jclass clazz, jint propertySetID, jint property, jint source, jobject value, jint size) {
#ifdef _WIN32 #ifdef _WIN32
/*
jint result = (jint) eaxSet((const struct _GUID*)propertySetID, (ALuint) property, (ALuint) source, env->GetDirectBufferAddress(value), (ALuint) size); jint result = (jint) eaxSet((const struct _GUID*)propertySetID, (ALuint) property, (ALuint) source, env->GetDirectBufferAddress(value), (ALuint) size);
CHECK_AL_ERROR CHECK_AL_ERROR
return result; return result;
*/
printf("Method currently deactivated. Fixed soon\n");
return -1;
#else #else
ThrowException(env, "EAX extensions not supported"); ThrowException(env, "EAX extensions not supported");
return 0; return 0;