738 lines
31 KiB
C
738 lines
31 KiB
C
#ifndef __efx_h_
|
|
#define __efx_h_
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define ALC_EXT_EFX_NAME "ALC_EXT_EFX"
|
|
|
|
/**
|
|
* Context definitions to be used with alcCreateContext.
|
|
* These values must be unique and not conflict with other
|
|
* al context values.
|
|
*/
|
|
#define ALC_EFX_MAJOR_VERSION 0x20001
|
|
#define ALC_EFX_MINOR_VERSION 0x20002
|
|
#define ALC_MAX_AUXILIARY_SENDS 0x20003
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Listener definitions to be used with alListener functions.
|
|
* These values must be unique and not conflict with other
|
|
* al listener values.
|
|
*/
|
|
#define AL_METERS_PER_UNIT 0x20004
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Source definitions to be used with alSource functions.
|
|
* These values must be unique and not conflict with other
|
|
* al source values.
|
|
*/
|
|
#define AL_DIRECT_FILTER 0x20005
|
|
#define AL_AUXILIARY_SEND_FILTER 0x20006
|
|
#define AL_AIR_ABSORPTION_FACTOR 0x20007
|
|
#define AL_ROOM_ROLLOFF_FACTOR 0x20008
|
|
#define AL_CONE_OUTER_GAINHF 0x20009
|
|
#define AL_DIRECT_FILTER_GAINHF_AUTO 0x2000A
|
|
#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO 0x2000B
|
|
#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO 0x2000C
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Effect object definitions to be used with alEffect functions.
|
|
*
|
|
* Effect parameter value definitions, ranges, and defaults
|
|
* appear farther down in this file.
|
|
*/
|
|
|
|
/* Reverb Parameters */
|
|
#define AL_REVERB_DENSITY 0x0001
|
|
#define AL_REVERB_DIFFUSION 0x0002
|
|
#define AL_REVERB_GAIN 0x0003
|
|
#define AL_REVERB_GAINHF 0x0004
|
|
#define AL_REVERB_DECAY_TIME 0x0005
|
|
#define AL_REVERB_DECAY_HFRATIO 0x0006
|
|
#define AL_REVERB_REFLECTIONS_GAIN 0x0007
|
|
#define AL_REVERB_REFLECTIONS_DELAY 0x0008
|
|
#define AL_REVERB_LATE_REVERB_GAIN 0x0009
|
|
#define AL_REVERB_LATE_REVERB_DELAY 0x000A
|
|
#define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
|
|
#define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
|
|
#define AL_REVERB_DECAY_HFLIMIT 0x000D
|
|
|
|
/* Chorus Parameters */
|
|
#define AL_CHORUS_WAVEFORM 0x0001
|
|
#define AL_CHORUS_PHASE 0x0002
|
|
#define AL_CHORUS_RATE 0x0003
|
|
#define AL_CHORUS_DEPTH 0x0004
|
|
#define AL_CHORUS_FEEDBACK 0x0005
|
|
#define AL_CHORUS_DELAY 0x0006
|
|
|
|
/* Distortion Parameters */
|
|
#define AL_DISTORTION_EDGE 0x0001
|
|
#define AL_DISTORTION_GAIN 0x0002
|
|
#define AL_DISTORTION_LOWPASS_CUTOFF 0x0003
|
|
#define AL_DISTORTION_EQCENTER 0x0004
|
|
#define AL_DISTORTION_EQBANDWIDTH 0x0005
|
|
|
|
/* Echo Parameters */
|
|
#define AL_ECHO_DELAY 0x0001
|
|
#define AL_ECHO_LRDELAY 0x0002
|
|
#define AL_ECHO_DAMPING 0x0003
|
|
#define AL_ECHO_FEEDBACK 0x0004
|
|
#define AL_ECHO_SPREAD 0x0005
|
|
|
|
/* Flanger Parameters */
|
|
#define AL_FLANGER_WAVEFORM 0x0001
|
|
#define AL_FLANGER_PHASE 0x0002
|
|
#define AL_FLANGER_RATE 0x0003
|
|
#define AL_FLANGER_DEPTH 0x0004
|
|
#define AL_FLANGER_FEEDBACK 0x0005
|
|
#define AL_FLANGER_DELAY 0x0006
|
|
|
|
/* Frequencyshifter Parameters */
|
|
#define AL_FREQUENCY_SHIFTER_FREQUENCY 0x0001
|
|
#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION 0x0002
|
|
#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION 0x0003
|
|
|
|
/* Vocalmorpher Parameters */
|
|
#define AL_VOCAL_MORPHER_PHONEMEA 0x0001
|
|
#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING 0x0002
|
|
#define AL_VOCAL_MORPHER_PHONEMEB 0x0003
|
|
#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING 0x0004
|
|
#define AL_VOCAL_MORPHER_WAVEFORM 0x0005
|
|
#define AL_VOCAL_MORPHER_RATE 0x0006
|
|
|
|
/* Pitchshifter Parameters */
|
|
#define AL_PITCH_SHIFTER_COARSE_TUNE 0x0001
|
|
#define AL_PITCH_SHIFTER_FINE_TUNE 0x0002
|
|
|
|
/* Ringmodulator Parameters */
|
|
#define AL_RING_MODULATOR_FREQUENCY 0x0001
|
|
#define AL_RING_MODULATOR_HIGHPASS_CUTOFF 0x0002
|
|
#define AL_RING_MODULATOR_WAVEFORM 0x0003
|
|
|
|
/* Autowah Parameters */
|
|
#define AL_AUTOWAH_ATTACK_TIME 0x0001
|
|
#define AL_AUTOWAH_RELEASE_TIME 0x0002
|
|
#define AL_AUTOWAH_RESONANCE 0x0003
|
|
#define AL_AUTOWAH_PEAK_GAIN 0x0004
|
|
|
|
/* Compressor Parameters */
|
|
#define AL_COMPRESSOR_ONOFF 0x0001
|
|
|
|
/* Equalizer Parameters */
|
|
#define AL_EQUALIZER_LOW_GAIN 0x0001
|
|
#define AL_EQUALIZER_LOW_CUTOFF 0x0002
|
|
#define AL_EQUALIZER_MID1_GAIN 0x0003
|
|
#define AL_EQUALIZER_MID1_CENTER 0x0004
|
|
#define AL_EQUALIZER_MID1_WIDTH 0x0005
|
|
#define AL_EQUALIZER_MID2_GAIN 0x0006
|
|
#define AL_EQUALIZER_MID2_CENTER 0x0007
|
|
#define AL_EQUALIZER_MID2_WIDTH 0x0008
|
|
#define AL_EQUALIZER_HIGH_GAIN 0x0009
|
|
#define AL_EQUALIZER_HIGH_CUTOFF 0x000A
|
|
|
|
/* Effect type */
|
|
#define AL_EFFECT_FIRST_PARAMETER 0x0000
|
|
#define AL_EFFECT_LAST_PARAMETER 0x8000
|
|
#define AL_EFFECT_TYPE 0x8001
|
|
|
|
/* Effect type definitions to be used with AL_EFFECT_TYPE. */
|
|
#define AL_EFFECT_NULL 0x0000 /* Can also be used as an Effect Object ID */
|
|
#define AL_EFFECT_REVERB 0x0001
|
|
#define AL_EFFECT_CHORUS 0x0002
|
|
#define AL_EFFECT_DISTORTION 0x0003
|
|
#define AL_EFFECT_ECHO 0x0004
|
|
#define AL_EFFECT_FLANGER 0x0005
|
|
#define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
|
|
#define AL_EFFECT_VOCAL_MORPHER 0x0007
|
|
#define AL_EFFECT_PITCH_SHIFTER 0x0008
|
|
#define AL_EFFECT_RING_MODULATOR 0x0009
|
|
#define AL_EFFECT_AUTOWAH 0x000A
|
|
#define AL_EFFECT_COMPRESSOR 0x000B
|
|
#define AL_EFFECT_EQUALIZER 0x000C
|
|
|
|
/**
|
|
* Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.
|
|
*/
|
|
#define AL_EFFECTSLOT_EFFECT 0x0001
|
|
#define AL_EFFECTSLOT_GAIN 0x0002
|
|
#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO 0x0003
|
|
|
|
/**
|
|
* Value to be used as an Auxiliary Slot ID to disable a source send..
|
|
*/
|
|
#define AL_EFFECTSLOT_NULL 0x0000
|
|
|
|
|
|
|
|
/**
|
|
* Filter object definitions to be used with alFilter functions.
|
|
*/
|
|
|
|
/* Lowpass parameters. */
|
|
#define AL_LOWPASS_GAIN 0x0001
|
|
#define AL_LOWPASS_GAINHF 0x0002
|
|
|
|
/* Highpass Parameters */
|
|
#define AL_HIGHPASS_GAIN 0x0001
|
|
#define AL_HIGHPASS_GAINLF 0x0002
|
|
|
|
/* Bandpass Parameters */
|
|
#define AL_BANDPASS_GAIN 0x0001
|
|
#define AL_BANDPASS_GAINLF 0x0002
|
|
#define AL_BANDPASS_GAINHF 0x0003
|
|
|
|
/* Filter type */
|
|
#define AL_FILTER_FIRST_PARAMETER 0x0000
|
|
#define AL_FILTER_LAST_PARAMETER 0x8000
|
|
#define AL_FILTER_TYPE 0x8001
|
|
|
|
/* Filter type definitions to be used with AL_FILTER_TYPE. */
|
|
#define AL_FILTER_NULL 0x0000 /* Can also be used as a Filter Object ID */
|
|
#define AL_FILTER_LOWPASS 0x0001
|
|
#define AL_FILTER_HIGHPASS 0x0002
|
|
#define AL_FILTER_BANDPASS 0x0003
|
|
|
|
|
|
/**
|
|
* Effect object functions.
|
|
*/
|
|
|
|
/* Create Effect objects. */
|
|
typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects );
|
|
|
|
/* Delete Effect objects. */
|
|
typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects );
|
|
|
|
/* Verify a handle is a valid Effect. */
|
|
typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid );
|
|
|
|
/* Set an integer parameter for an Effect object. */
|
|
typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value);
|
|
typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values );
|
|
|
|
/* Set a floating point parameter for an Effect object. */
|
|
typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value);
|
|
typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values );
|
|
|
|
/* Get an integer parameter for an Effect object. */
|
|
typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value );
|
|
typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values );
|
|
|
|
/* Get a floating point parameter for an Effect object. */
|
|
typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value );
|
|
typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values );
|
|
|
|
|
|
/**
|
|
* Filter object functions
|
|
*/
|
|
|
|
/* Create Filter objects. */
|
|
typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters );
|
|
|
|
/* Delete Filter objects. */
|
|
typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters );
|
|
|
|
/* Verify a handle is a valid Filter. */
|
|
typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid );
|
|
|
|
/* Set an integer parameter for a Filter object. */
|
|
typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value );
|
|
typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values );
|
|
|
|
/* Set a floating point parameter for an Filter object. */
|
|
typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value);
|
|
typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values );
|
|
|
|
/* Get an integer parameter for a Filter object. */
|
|
typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value );
|
|
typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values );
|
|
|
|
/* Get a floating point parameter for a Filter object. */
|
|
typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value );
|
|
typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values );
|
|
|
|
|
|
/**
|
|
* Auxiliary Slot object functions
|
|
*/
|
|
|
|
/* Create Auxiliary Slot objects. */
|
|
typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
|
|
|
|
/* Delete Auxiliary Slot objects. */
|
|
typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
|
|
|
|
/* Verify a handle is a valid Auxiliary Slot. */
|
|
typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot );
|
|
|
|
/* Set an integer parameter for a Auxiliary Slot object. */
|
|
typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value );
|
|
typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values );
|
|
|
|
/* Set a floating point parameter for an Auxiliary Slot object. */
|
|
typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value );
|
|
typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values );
|
|
|
|
/* Get an integer parameter for a Auxiliary Slot object. */
|
|
typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value );
|
|
typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values );
|
|
|
|
/* Get a floating point parameter for a Auxiliary Slot object. */
|
|
typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value );
|
|
typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values );
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* Filter ranges and defaults.
|
|
*/
|
|
|
|
/**
|
|
* Lowpass filter
|
|
*/
|
|
|
|
#define LOWPASS_MIN_GAIN 0.0f
|
|
#define LOWPASS_MAX_GAIN 1.0f
|
|
#define LOWPASS_DEFAULT_GAIN 1.0f
|
|
|
|
#define LOWPASS_MIN_GAINHF 0.0f
|
|
#define LOWPASS_MAX_GAINHF 1.0f
|
|
#define LOWPASS_DEFAULT_GAINHF 1.0f
|
|
|
|
/**
|
|
* Highpass filter
|
|
*/
|
|
|
|
#define HIGHPASS_MIN_GAIN 0.0f
|
|
#define HIGHPASS_MAX_GAIN 1.0f
|
|
#define HIGHPASS_DEFAULT_GAIN 1.0f
|
|
|
|
#define HIGHPASS_MIN_GAINLF 0.0f
|
|
#define HIGHPASS_MAX_GAINLF 1.0f
|
|
#define HIGHPASS_DEFAULT_GAINLF 1.0f
|
|
|
|
/**
|
|
* Bandpass filter
|
|
*/
|
|
|
|
#define BANDPASS_MIN_GAIN 0.0f
|
|
#define BANDPASS_MAX_GAIN 1.0f
|
|
#define BANDPASS_DEFAULT_GAIN 1.0f
|
|
|
|
#define BANDPASS_MIN_GAINHF 0.0f
|
|
#define BANDPASS_MAX_GAINHF 1.0f
|
|
#define BANDPASS_DEFAULT_GAINHF 1.0f
|
|
|
|
#define BANDPASS_MIN_GAINLF 0.0f
|
|
#define BANDPASS_MAX_GAINLF 1.0f
|
|
#define BANDPASS_DEFAULT_GAINLF 1.0f
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* Effect parameter structures, value definitions, ranges and defaults.
|
|
*/
|
|
|
|
/**
|
|
* AL reverb effect parameter ranges and defaults
|
|
*/
|
|
#define AL_REVERB_MIN_DENSITY 0.0f
|
|
#define AL_REVERB_MAX_DENSITY 1.0f
|
|
#define AL_REVERB_DEFAULT_DENSITY 1.0f
|
|
|
|
#define AL_REVERB_MIN_DIFFUSION 0.0f
|
|
#define AL_REVERB_MAX_DIFFUSION 1.0f
|
|
#define AL_REVERB_DEFAULT_DIFFUSION 1.0f
|
|
|
|
#define AL_REVERB_MIN_GAIN 0.0f
|
|
#define AL_REVERB_MAX_GAIN 1.0f
|
|
#define AL_REVERB_DEFAULT_GAIN 0.32f
|
|
|
|
#define AL_REVERB_MIN_GAINHF 0.0f
|
|
#define AL_REVERB_MAX_GAINHF 1.0f
|
|
#define AL_REVERB_DEFAULT_GAINHF 0.89f
|
|
|
|
#define AL_REVERB_MIN_DECAY_TIME 0.1f
|
|
#define AL_REVERB_MAX_DECAY_TIME 20.0f
|
|
#define AL_REVERB_DEFAULT_DECAY_TIME 1.49f
|
|
|
|
#define AL_REVERB_MIN_DECAY_HFRATIO 0.1f
|
|
#define AL_REVERB_MAX_DECAY_HFRATIO 2.0f
|
|
#define AL_REVERB_DEFAULT_DECAY_HFRATIO 0.83f
|
|
|
|
#define AL_REVERB_MIN_REFLECTIONS_GAIN 0.0f
|
|
#define AL_REVERB_MAX_REFLECTIONS_GAIN 3.16f
|
|
#define AL_REVERB_DEFAULT_REFLECTIONS_GAIN 0.05f
|
|
|
|
#define AL_REVERB_MIN_REFLECTIONS_DELAY 0.0f
|
|
#define AL_REVERB_MAX_REFLECTIONS_DELAY 0.3f
|
|
#define AL_REVERB_DEFAULT_REFLECTIONS_DELAY 0.007f
|
|
|
|
#define AL_REVERB_MIN_LATE_REVERB_GAIN 0.0f
|
|
#define AL_REVERB_MAX_LATE_REVERB_GAIN 10.0f
|
|
#define AL_REVERB_DEFAULT_LATE_REVERB_GAIN 1.26f
|
|
|
|
#define AL_REVERB_MIN_LATE_REVERB_DELAY 0.0f
|
|
#define AL_REVERB_MAX_LATE_REVERB_DELAY 0.1f
|
|
#define AL_REVERB_DEFAULT_LATE_REVERB_DELAY 0.011f
|
|
|
|
#define AL_REVERB_MIN_AIR_ABSORPTION_GAINHF 0.892f
|
|
#define AL_REVERB_MAX_AIR_ABSORPTION_GAINHF 1.0f
|
|
#define AL_REVERB_DEFAULT_AIR_ABSORPTION_GAINHF 0.994f
|
|
|
|
#define AL_REVERB_MIN_ROOM_ROLLOFF_FACTOR 0.0f
|
|
#define AL_REVERB_MAX_ROOM_ROLLOFF_FACTOR 10.0f
|
|
#define AL_REVERB_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f
|
|
|
|
#define AL_REVERB_MIN_DECAY_HFLIMIT AL_FALSE
|
|
#define AL_REVERB_MAX_DECAY_HFLIMIT AL_TRUE
|
|
#define AL_REVERB_DEFAULT_DECAY_HFLIMIT AL_TRUE
|
|
|
|
/**
|
|
* AL chorus effect parameter ranges and defaults
|
|
*/
|
|
#define AL_CHORUS_MIN_WAVEFORM 0
|
|
#define AL_CHORUS_MAX_WAVEFORM 1
|
|
#define AL_CHORUS_DEFAULT_WAVEFORM 1
|
|
|
|
#define AL_CHORUS_WAVEFORM_SINUSOID 0
|
|
#define AL_CHORUS_WAVEFORM_TRIANGLE 1
|
|
|
|
#define AL_CHORUS_MIN_PHASE (-180)
|
|
#define AL_CHORUS_MAX_PHASE 180
|
|
#define AL_CHORUS_DEFAULT_PHASE 90
|
|
|
|
#define AL_CHORUS_MIN_RATE 0.0f
|
|
#define AL_CHORUS_MAX_RATE 10.0f
|
|
#define AL_CHORUS_DEFAULT_RATE 1.1f
|
|
|
|
#define AL_CHORUS_MIN_DEPTH 0.0f
|
|
#define AL_CHORUS_MAX_DEPTH 1.0f
|
|
#define AL_CHORUS_DEFAULT_DEPTH 0.1f
|
|
|
|
#define AL_CHORUS_MIN_FEEDBACK (-1.0f)
|
|
#define AL_CHORUS_MAX_FEEDBACK 1.0f
|
|
#define AL_CHORUS_DEFAULT_FEEDBACK 0.25f
|
|
|
|
#define AL_CHORUS_MIN_DELAY 0.0f
|
|
#define AL_CHORUS_MAX_DELAY 0.016f
|
|
#define AL_CHORUS_DEFAULT_DELAY 0.016f
|
|
|
|
/**
|
|
* AL distortion effect parameter ranges and defaults
|
|
*/
|
|
#define AL_DISTORTION_MIN_EDGE 0.0f
|
|
#define AL_DISTORTION_MAX_EDGE 1.0f
|
|
#define AL_DISTORTION_DEFAULT_EDGE 0.2f
|
|
|
|
#define AL_DISTORTION_MIN_GAIN 0.01f
|
|
#define AL_DISTORTION_MAX_GAIN 1.0f
|
|
#define AL_DISTORTION_DEFAULT_GAIN 0.05f
|
|
|
|
#define AL_DISTORTION_MIN_LOWPASS_CUTOFF 80.0f
|
|
#define AL_DISTORTION_MAX_LOWPASS_CUTOFF 24000.0f
|
|
#define AL_DISTORTION_DEFAULT_LOWPASS_CUTOFF 8000.0f
|
|
|
|
#define AL_DISTORTION_MIN_EQCENTER 80.0f
|
|
#define AL_DISTORTION_MAX_EQCENTER 24000.0f
|
|
#define AL_DISTORTION_DEFAULT_EQCENTER 3600.0f
|
|
|
|
#define AL_DISTORTION_MIN_EQBANDWIDTH 80.0f
|
|
#define AL_DISTORTION_MAX_EQBANDWIDTH 24000.0f
|
|
#define AL_DISTORTION_DEFAULT_EQBANDWIDTH 3600.0f
|
|
|
|
/**
|
|
* AL echo effect parameter ranges and defaults
|
|
*/
|
|
#define AL_ECHO_MIN_DELAY 0.0f
|
|
#define AL_ECHO_MAX_DELAY 0.207f
|
|
#define AL_ECHO_DEFAULT_DELAY 0.1f
|
|
|
|
#define AL_ECHO_MIN_LRDELAY 0.0f
|
|
#define AL_ECHO_MAX_LRDELAY 0.404f
|
|
#define AL_ECHO_DEFAULT_LRDELAY 0.1f
|
|
|
|
#define AL_ECHO_MIN_DAMPING 0.0f
|
|
#define AL_ECHO_MAX_DAMPING 0.99f
|
|
#define AL_ECHO_DEFAULT_DAMPING 0.5f
|
|
|
|
#define AL_ECHO_MIN_FEEDBACK 0.0f
|
|
#define AL_ECHO_MAX_FEEDBACK 1.0f
|
|
#define AL_ECHO_DEFAULT_FEEDBACK 0.5f
|
|
|
|
#define AL_ECHO_MIN_SPREAD (-1.0f)
|
|
#define AL_ECHO_MAX_SPREAD 1.0f
|
|
#define AL_ECHO_DEFAULT_SPREAD (-1.0f)
|
|
|
|
/**
|
|
* AL flanger effect parameter ranges and defaults
|
|
*/
|
|
#define AL_FLANGER_MIN_WAVEFORM 0
|
|
#define AL_FLANGER_MAX_WAVEFORM 1
|
|
#define AL_FLANGER_DEFAULT_WAVEFORM 1
|
|
|
|
#define AL_FLANGER_WAVEFORM_SINUSOID 0
|
|
#define AL_FLANGER_WAVEFORM_TRIANGLE 1
|
|
|
|
#define AL_FLANGER_MIN_PHASE (-180)
|
|
#define AL_FLANGER_MAX_PHASE 180
|
|
#define AL_FLANGER_DEFAULT_PHASE 0
|
|
|
|
#define AL_FLANGER_MIN_RATE 0.0f
|
|
#define AL_FLANGER_MAX_RATE 10.0f
|
|
#define AL_FLANGER_DEFAULT_RATE 0.27f
|
|
|
|
#define AL_FLANGER_MIN_DEPTH 0.0f
|
|
#define AL_FLANGER_MAX_DEPTH 1.0f
|
|
#define AL_FLANGER_DEFAULT_DEPTH 1.0f
|
|
|
|
#define AL_FLANGER_MIN_FEEDBACK (-1.0f)
|
|
#define AL_FLANGER_MAX_FEEDBACK 1.0f
|
|
#define AL_FLANGER_DEFAULT_FEEDBACK (-0.5f)
|
|
|
|
#define AL_FLANGER_MIN_DELAY 0.0f
|
|
#define AL_FLANGER_MAX_DELAY 0.004f
|
|
#define AL_FLANGER_DEFAULT_DELAY 0.002f
|
|
|
|
/**
|
|
* AL frequency shifter effect parameter ranges and defaults
|
|
*/
|
|
#define AL_FREQUENCY_SHIFTER_MIN_FREQUENCY 0.0f
|
|
#define AL_FREQUENCY_SHIFTER_MAX_FREQUENCY 24000.0f
|
|
#define AL_FREQUENCY_SHIFTER_DEFAULT_FREQUENCY 0.0f
|
|
|
|
#define AL_FREQUENCY_SHIFTER_MIN_LEFT_DIRECTION 0
|
|
#define AL_FREQUENCY_SHIFTER_MAX_LEFT_DIRECTION 2
|
|
#define AL_FREQUENCY_SHIFTER_DEFAULT_LEFT_DIRECTION 0
|
|
|
|
#define AL_FREQUENCY_SHIFTER_MIN_RIGHT_DIRECTION 0
|
|
#define AL_FREQUENCY_SHIFTER_MAX_RIGHT_DIRECTION 2
|
|
#define AL_FREQUENCY_SHIFTER_DEFAULT_RIGHT_DIRECTION 0
|
|
|
|
#define AL_FREQUENCY_SHIFTER_DIRECTION_DOWN 0
|
|
#define AL_FREQUENCY_SHIFTER_DIRECTION_UP 1
|
|
#define AL_FREQUENCY_SHIFTER_DIRECTION_OFF 2
|
|
|
|
/**
|
|
* AL vocal morpher effect parameter ranges and defaults
|
|
*/
|
|
#define AL_VOCAL_MORPHER_MIN_PHONEMEA 0
|
|
#define AL_VOCAL_MORPHER_MAX_PHONEMEA 29
|
|
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA 0
|
|
|
|
#define AL_VOCAL_MORPHER_MIN_PHONEMEA_COARSE_TUNING (-24)
|
|
#define AL_VOCAL_MORPHER_MAX_PHONEMEA_COARSE_TUNING 24
|
|
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEA_COARSE_TUNING 0
|
|
|
|
#define AL_VOCAL_MORPHER_MIN_PHONEMEB 0
|
|
#define AL_VOCAL_MORPHER_MAX_PHONEMEB 29
|
|
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB 10
|
|
|
|
#define AL_VOCAL_MORPHER_PHONEME_A 0
|
|
#define AL_VOCAL_MORPHER_PHONEME_E 1
|
|
#define AL_VOCAL_MORPHER_PHONEME_I 2
|
|
#define AL_VOCAL_MORPHER_PHONEME_O 3
|
|
#define AL_VOCAL_MORPHER_PHONEME_U 4
|
|
#define AL_VOCAL_MORPHER_PHONEME_AA 5
|
|
#define AL_VOCAL_MORPHER_PHONEME_AE 6
|
|
#define AL_VOCAL_MORPHER_PHONEME_AH 7
|
|
#define AL_VOCAL_MORPHER_PHONEME_AO 8
|
|
#define AL_VOCAL_MORPHER_PHONEME_EH 9
|
|
#define AL_VOCAL_MORPHER_PHONEME_ER 10
|
|
#define AL_VOCAL_MORPHER_PHONEME_IH 11
|
|
#define AL_VOCAL_MORPHER_PHONEME_IY 12
|
|
#define AL_VOCAL_MORPHER_PHONEME_UH 13
|
|
#define AL_VOCAL_MORPHER_PHONEME_UW 14
|
|
#define AL_VOCAL_MORPHER_PHONEME_B 15
|
|
#define AL_VOCAL_MORPHER_PHONEME_D 16
|
|
#define AL_VOCAL_MORPHER_PHONEME_F 17
|
|
#define AL_VOCAL_MORPHER_PHONEME_G 18
|
|
#define AL_VOCAL_MORPHER_PHONEME_J 19
|
|
#define AL_VOCAL_MORPHER_PHONEME_K 20
|
|
#define AL_VOCAL_MORPHER_PHONEME_L 21
|
|
#define AL_VOCAL_MORPHER_PHONEME_M 22
|
|
#define AL_VOCAL_MORPHER_PHONEME_N 23
|
|
#define AL_VOCAL_MORPHER_PHONEME_P 24
|
|
#define AL_VOCAL_MORPHER_PHONEME_R 25
|
|
#define AL_VOCAL_MORPHER_PHONEME_S 26
|
|
#define AL_VOCAL_MORPHER_PHONEME_T 27
|
|
#define AL_VOCAL_MORPHER_PHONEME_V 28
|
|
#define AL_VOCAL_MORPHER_PHONEME_Z 29
|
|
|
|
#define AL_VOCAL_MORPHER_MIN_PHONEMEB_COARSE_TUNING (-24)
|
|
#define AL_VOCAL_MORPHER_MAX_PHONEMEB_COARSE_TUNING 24
|
|
#define AL_VOCAL_MORPHER_DEFAULT_PHONEMEB_COARSE_TUNING 0
|
|
|
|
#define AL_VOCAL_MORPHER_MIN_WAVEFORM 0
|
|
#define AL_VOCAL_MORPHER_MAX_WAVEFORM 2
|
|
#define AL_VOCAL_MORPHER_DEFAULT_WAVEFORM 0
|
|
|
|
#define AL_VOCAL_MORPHER_WAVEFORM_SINUSOID 0
|
|
#define AL_VOCAL_MORPHER_WAVEFORM_TRIANGLE 1
|
|
#define AL_VOCAL_MORPHER_WAVEFORM_SAWTOOTH 2
|
|
|
|
#define AL_VOCAL_MORPHER_MIN_RATE 0.0f
|
|
#define AL_VOCAL_MORPHER_MAX_RATE 10.0f
|
|
#define AL_VOCAL_MORPHER_DEFAULT_RATE 1.41f
|
|
|
|
/**
|
|
* AL pitch shifter effect parameter ranges and defaults
|
|
*/
|
|
#define AL_PITCH_SHIFTER_MIN_COARSE_TUNE (-12)
|
|
#define AL_PITCH_SHIFTER_MAX_COARSE_TUNE 12
|
|
#define AL_PITCH_SHIFTER_DEFAULT_COARSE_TUNE 12
|
|
|
|
#define AL_PITCH_SHIFTER_MIN_FINE_TUNE (-50)
|
|
#define AL_PITCH_SHIFTER_MAX_FINE_TUNE 50
|
|
#define AL_PITCH_SHIFTER_DEFAULT_FINE_TUNE 0
|
|
|
|
/**
|
|
* AL ring modulator effect parameter ranges and defaults
|
|
*/
|
|
#define AL_RING_MODULATOR_MIN_FREQUENCY 0.0f
|
|
#define AL_RING_MODULATOR_MAX_FREQUENCY 8000.0f
|
|
#define AL_RING_MODULATOR_DEFAULT_FREQUENCY 440.0f
|
|
|
|
#define AL_RING_MODULATOR_MIN_HIGHPASS_CUTOFF 0.0f
|
|
#define AL_RING_MODULATOR_MAX_HIGHPASS_CUTOFF 24000.0f
|
|
#define AL_RING_MODULATOR_DEFAULT_HIGHPASS_CUTOFF 800.0f
|
|
|
|
#define AL_RING_MODULATOR_MIN_WAVEFORM 0
|
|
#define AL_RING_MODULATOR_MAX_WAVEFORM 2
|
|
#define AL_RING_MODULATOR_DEFAULT_WAVEFORM 0
|
|
|
|
#define AL_RING_MODULATOR_SINUSOID 0
|
|
#define AL_RING_MODULATOR_SAWTOOTH 1
|
|
#define AL_RING_MODULATOR_SQUARE 2
|
|
|
|
/**
|
|
* AL autowah effect parameter ranges and defaults
|
|
*/
|
|
#define AL_AUTOWAH_MIN_ATTACK_TIME 0.0001f
|
|
#define AL_AUTOWAH_MAX_ATTACK_TIME 1.0f
|
|
#define AL_AUTOWAH_DEFAULT_ATTACK_TIME 0.06f
|
|
|
|
#define AL_AUTOWAH_MIN_RELEASE_TIME 0.0001f
|
|
#define AL_AUTOWAH_MAX_RELEASE_TIME 1.0f
|
|
#define AL_AUTOWAH_DEFAULT_RELEASE_TIME 0.06f
|
|
|
|
#define AL_AUTOWAH_MIN_RESONANCE 2.0f
|
|
#define AL_AUTOWAH_MAX_RESONANCE 1000.0f
|
|
#define AL_AUTOWAH_DEFAULT_RESONANCE 1000.0f
|
|
|
|
#define AL_AUTOWAH_MIN_PEAK_GAIN 0.00003f
|
|
#define AL_AUTOWAH_MAX_PEAK_GAIN 31621.0f
|
|
#define AL_AUTOWAH_DEFAULT_PEAK_GAIN 11.22f
|
|
|
|
/**
|
|
* AL compressor effect parameter ranges and defaults
|
|
*/
|
|
#define AL_COMPRESSOR_MIN_ONOFF 0
|
|
#define AL_COMPRESSOR_MAX_ONOFF 1
|
|
#define AL_COMPRESSOR_DEFAULT_ONOFF 1
|
|
|
|
/**
|
|
* AL equalizer effect parameter ranges and defaults
|
|
*/
|
|
#define AL_EQUALIZER_MIN_LOW_GAIN 0.126f
|
|
#define AL_EQUALIZER_MAX_LOW_GAIN 7.943f
|
|
#define AL_EQUALIZER_DEFAULT_LOW_GAIN 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_LOW_CUTOFF 50.0f
|
|
#define AL_EQUALIZER_MAX_LOW_CUTOFF 800.0f
|
|
#define AL_EQUALIZER_DEFAULT_LOW_CUTOFF 200.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID1_GAIN 0.126f
|
|
#define AL_EQUALIZER_MAX_MID1_GAIN 7.943f
|
|
#define AL_EQUALIZER_DEFAULT_MID1_GAIN 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID1_CENTER 200.0f
|
|
#define AL_EQUALIZER_MAX_MID1_CENTER 3000.0f
|
|
#define AL_EQUALIZER_DEFAULT_MID1_CENTER 500.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID1_WIDTH 0.01f
|
|
#define AL_EQUALIZER_MAX_MID1_WIDTH 1.0f
|
|
#define AL_EQUALIZER_DEFAULT_MID1_WIDTH 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID2_GAIN 0.126f
|
|
#define AL_EQUALIZER_MAX_MID2_GAIN 7.943f
|
|
#define AL_EQUALIZER_DEFAULT_MID2_GAIN 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID2_CENTER 1000.0f
|
|
#define AL_EQUALIZER_MAX_MID2_CENTER 8000.0f
|
|
#define AL_EQUALIZER_DEFAULT_MID2_CENTER 3000.0f
|
|
|
|
#define AL_EQUALIZER_MIN_MID2_WIDTH 0.01f
|
|
#define AL_EQUALIZER_MAX_MID2_WIDTH 1.0f
|
|
#define AL_EQUALIZER_DEFAULT_MID2_WIDTH 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_HIGH_GAIN 0.126f
|
|
#define AL_EQUALIZER_MAX_HIGH_GAIN 7.943f
|
|
#define AL_EQUALIZER_DEFAULT_HIGH_GAIN 1.0f
|
|
|
|
#define AL_EQUALIZER_MIN_HIGH_CUTOFF 4000.0f
|
|
#define AL_EQUALIZER_MAX_HIGH_CUTOFF 16000.0f
|
|
#define AL_EQUALIZER_DEFAULT_HIGH_CUTOFF 6000.0f
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* Source parameter value definitions, ranges and defaults.
|
|
*/
|
|
#define AL_MIN_AIR_ABSORPTION_FACTOR 0.0f
|
|
#define AL_MAX_AIR_ABSORPTION_FACTOR 10.0f
|
|
#define AL_DEFAULT_AIR_ABSORPTION_FACTOR 0.0f
|
|
|
|
#define AL_MIN_ROOM_ROLLOFF_FACTOR 0.0f
|
|
#define AL_MAX_ROOM_ROLLOFF_FACTOR 10.0f
|
|
#define AL_DEFAULT_ROOM_ROLLOFF_FACTOR 0.0f
|
|
|
|
#define AL_MIN_CONE_OUTER_GAINHF 0.0f
|
|
#define AL_MAX_CONE_OUTER_GAINHF 1.0f
|
|
#define AL_DEFAULT_CONE_OUTER_GAINHF 1.0f
|
|
|
|
#define AL_MIN_DIRECT_FILTER_GAINHF_AUTO AL_FALSE
|
|
#define AL_MAX_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
|
|
#define AL_DEFAULT_DIRECT_FILTER_GAINHF_AUTO AL_TRUE
|
|
|
|
#define AL_MIN_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_FALSE
|
|
#define AL_MAX_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
|
|
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAIN_AUTO AL_TRUE
|
|
|
|
#define AL_MIN_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_FALSE
|
|
#define AL_MAX_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
|
|
#define AL_DEFAULT_AUXILIARY_SEND_FILTER_GAINHF_AUTO AL_TRUE
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
* Listener parameter value definitions, ranges and defaults.
|
|
*/
|
|
#define AL_MIN_METERS_PER_UNIT FLT_MIN
|
|
#define AL_MAX_METERS_PER_UNIT FLT_MAX
|
|
#define AL_DEFAULT_METERS_PER_UNIT 1.0f
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __efx_h_ */
|