mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-01-12 22:25:37 +00:00
unfinished. tired.
This commit is contained in:
parent
870b352410
commit
01e493fb3b
|
@ -14,28 +14,30 @@ namespace OpenTK.OpenAL
|
|||
{
|
||||
public partial class Efx
|
||||
{
|
||||
/**
|
||||
* Effect object functions.
|
||||
*/
|
||||
|
||||
//Effect object functions.
|
||||
|
||||
|
||||
/* Create Effect objects. */
|
||||
// typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects );
|
||||
unsafe private delegate void alGenEffects(int n, [Out] uint* effects);
|
||||
unsafe private delegate void DelegatealGenEffects(int n, [Out] uint* effects);
|
||||
|
||||
/* Delete Effect objects. */
|
||||
// typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects );
|
||||
unsafe private delegate void alDeleteEffects(int n, [In] uint* effects);
|
||||
unsafe private delegate void DelegatealDeleteEffects(int n, [In] uint* effects);
|
||||
|
||||
/* Verify a handle is a valid Effect. */
|
||||
// typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid );
|
||||
public delegate AL.Bool alIsEffect(uint eid);
|
||||
private delegate AL.Bool DelegatealIsEffect(uint eid);
|
||||
|
||||
/* Set an integer parameter for an Effect object. */
|
||||
// typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value);
|
||||
private delegate void DelegateAlEffecti( uint eid, EfxEffecti param, int 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 *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value);
|
||||
private delegate void DelegateAlEffectf( uint eid, EfxEffectf param, float value);
|
||||
// typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values );
|
||||
|
||||
/* Get an integer parameter for an Effect object. */
|
||||
|
@ -47,9 +49,8 @@ namespace OpenTK.OpenAL
|
|||
// typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values );
|
||||
|
||||
|
||||
/**
|
||||
* Filter object functions
|
||||
*/
|
||||
// Filter object functions
|
||||
|
||||
|
||||
/* Create Filter objects. */
|
||||
// typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters );
|
||||
|
@ -77,9 +78,8 @@ namespace OpenTK.OpenAL
|
|||
// typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values );
|
||||
|
||||
|
||||
/**
|
||||
* Auxiliary Slot object functions
|
||||
*/
|
||||
// Auxiliary Slot object functions
|
||||
|
||||
|
||||
/* Create Auxiliary Slot objects. */
|
||||
// typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
|
||||
|
|
|
@ -82,133 +82,121 @@ namespace OpenTK.OpenAL
|
|||
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.
|
||||
*/
|
||||
#region Effect object definitions to be used with alEffect functions.
|
||||
|
||||
/* Reverb Parameters */
|
||||
public enum AL_EFFECT_REVERB : int
|
||||
public enum EfxEffectf : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
AL_REVERB_DENSITY = 0x0001,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
AL_REVERB_DIFFUSION = 0x0002,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.32f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.32f</summary>
|
||||
AL_REVERB_GAIN = 0x0003,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.89f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 1.0f] Default: 0.89f</summary>
|
||||
AL_REVERB_GAINHF = 0x0004,
|
||||
///<summary>Range [0.1f .. 20.0f] Default: 1.49f</summary>
|
||||
///<summary>Reverb Parameter. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f</summary>
|
||||
AL_REVERB_DECAY_TIME = 0x0005,
|
||||
///<summary>Range [0.1f .. 2.0f] Default: 0.83f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.1f .. 2.0f] Default: 0.83f</summary>
|
||||
AL_REVERB_DECAY_HFRATIO = 0x0006,
|
||||
///<summary>Range [0.0f .. 3.16f] Default: 0.05f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 3.16f] Default: 0.05f</summary>
|
||||
AL_REVERB_REFLECTIONS_GAIN = 0x0007,
|
||||
///<summary>Range [0.0f .. 0.3f] Default: 0.007f</summary>
|
||||
///<summary>Reverb Parameter. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f</summary>
|
||||
AL_REVERB_REFLECTIONS_DELAY = 0x0008,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 1.26f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 10.0f] Default: 1.26f</summary>
|
||||
AL_REVERB_LATE_REVERB_GAIN = 0x0009,
|
||||
///<summary>Range [0.0f .. 0.1f] Default: 0.011f</summary>
|
||||
///<summary>Reverb Parameter. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f</summary>
|
||||
AL_REVERB_LATE_REVERB_DELAY = 0x000A,
|
||||
///<summary>Range [0.892f .. 1.0f] Default: 0.994f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.892f .. 1.0f] Default: 0.994f</summary>
|
||||
AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 0.0f</summary>
|
||||
///<summary>Reverb Parameter. Range [0.0f .. 10.0f] Default: 0.0f</summary>
|
||||
AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C,
|
||||
///<summary>Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE</summary>
|
||||
///<summary>Reverb Parameter. Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE</summary>
|
||||
AL_REVERB_DECAY_HFLIMIT = 0x000D,
|
||||
}
|
||||
|
||||
/* Chorus Parameters */
|
||||
public enum AL_EFFECT_CHORUS : int
|
||||
{
|
||||
///<summary>Range [0 .. 1] Default: 1</summary>
|
||||
///<summary>Chorus Parameter. Unit: (0) Sinusoid, (1) Triangle [0 .. 1] Default: 1</summary>
|
||||
AL_CHORUS_WAVEFORM = 0x0001,
|
||||
///<summary>Range [-180 .. 180] Default: 90</summary>
|
||||
///<summary>Chorus Parameter. Unit: Degrees Range [-180 .. 180] Default: 90</summary>
|
||||
AL_CHORUS_PHASE = 0x0002,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 1.1f</summary>
|
||||
///<summary>Chorus Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f</summary>
|
||||
AL_CHORUS_RATE = 0x0003,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
///<summary>Chorus Parameter. Range [0.0f .. 1.0f] Default: 0.1f</summary>
|
||||
AL_CHORUS_DEPTH = 0x0004,
|
||||
///<summary>Range [-1.0f .. +1.0f] Default: +0.25f</summary>
|
||||
///<summary>Chorus Parameter. Range [-1.0f .. +1.0f] Default: +0.25f</summary>
|
||||
AL_CHORUS_FEEDBACK = 0x0005,
|
||||
///<summary>Range [0.0f .. 0.016f] Default: 0.016f</summary>
|
||||
///<summary>Chorus Parameter. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f</summary>
|
||||
AL_CHORUS_DELAY = 0x0006,
|
||||
}
|
||||
|
||||
/* Distortion Parameters */
|
||||
public enum AL_EFFECT_DISTORTION : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.2f</summary>
|
||||
///<summary>Distortion Parameter. Range [0.0f .. 1.0f] Default: 0.2f</summary>
|
||||
AL_DISTORTION_EDGE = 0x0001,
|
||||
///<summary>Range [0.01f .. 1.0f] Default: 0.05f</summary>
|
||||
///<summary>Distortion Parameter. Range [0.01f .. 1.0f] Default: 0.05f</summary>
|
||||
AL_DISTORTION_GAIN = 0x0002,
|
||||
///<summary>Range [80.0f .. 24000.0f] Default: 8000.0f</summary>
|
||||
///<summary>Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f</summary>
|
||||
AL_DISTORTION_LOWPASS_CUTOFF = 0x0003,
|
||||
///<summary>Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
|
||||
///<summary>Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
|
||||
AL_DISTORTION_EQCENTER = 0x0004,
|
||||
///<summary>Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
|
||||
///<summary>Distortion Parameter. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
|
||||
AL_DISTORTION_EQBANDWIDTH = 0x0005,
|
||||
}
|
||||
|
||||
/* Echo Parameters */
|
||||
public enum AL_EFFECT_ECHO : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 0.207f] Default: 0.1f</summary>
|
||||
///<summary>Echo Parameter. Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f</summary>
|
||||
AL_ECHO_DELAY = 0x0001,
|
||||
///<summary>Range [0.0f .. 0.404f] Default: 0.1f</summary>
|
||||
///<summary>Echo Parameter. Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f</summary>
|
||||
AL_ECHO_LRDELAY = 0x0002,
|
||||
///<summary>Range [0.0f .. 0.99f] Default: 0.5f</summary>
|
||||
///<summary>Echo Parameter. Range [0.0f .. 0.99f] Default: 0.5f</summary>
|
||||
AL_ECHO_DAMPING = 0x0003,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.5f</summary>
|
||||
///<summary>Echo Parameter. Range [0.0f .. 1.0f] Default: 0.5f</summary>
|
||||
AL_ECHO_FEEDBACK = 0x0004,
|
||||
///<summary>Range [-1.0f .. +1.0f] Default: -1.0f</summary>
|
||||
///<summary>Echo Parameter. Range [-1.0f .. +1.0f] Default: -1.0f</summary>
|
||||
AL_ECHO_SPREAD = 0x0005,
|
||||
}
|
||||
|
||||
/* Flanger Parameters */
|
||||
public enum AL_EFFECT_FLANGER : int
|
||||
{
|
||||
///<summary>Range [0 .. 1] Default: 1</summary>
|
||||
///<summary>Flanger Parameter. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1</summary>
|
||||
AL_FLANGER_WAVEFORM = 0x0001,
|
||||
///<summary>Range [-180 .. +180] Default: 0</summary>
|
||||
///<summary>Flanger Parameter. Range [-180 .. +180] Default: 0</summary>
|
||||
AL_FLANGER_PHASE = 0x0002,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 0.27f</summary>
|
||||
///<summary>Flanger Parameter. Range [0.0f .. 10.0f] Default: 0.27f</summary>
|
||||
AL_FLANGER_RATE = 0x0003,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
///<summary>Flanger Parameter. Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_FLANGER_DEPTH = 0x0004,
|
||||
///<summary>Range [-1.0f .. +1.0f] Default: -0.5f</summary>
|
||||
///<summary>Flanger Parameter. Range [-1.0f .. +1.0f] Default: -0.5f</summary>
|
||||
AL_FLANGER_FEEDBACK = 0x0005,
|
||||
///<summary>Range [0.0f .. 0.004f] Default: 0.002f</summary>
|
||||
///<summary>Flanger Parameter. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f</summary>
|
||||
AL_FLANGER_DELAY = 0x0006,
|
||||
}
|
||||
|
||||
/* Frequencyshifter Parameters */
|
||||
public enum AL_EFFECT_FREQUENCY_SHIFTER : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 24000.0f] Default: 0.0f</summary>
|
||||
///<summary>Frequencyshifter Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f</summary>
|
||||
AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001,
|
||||
///<summary>Range [0 .. 2] Default: 0</summary>
|
||||
///<summary>Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0</summary>
|
||||
AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002,
|
||||
///<summary>Range [0 .. 2] Default: 0</summary>
|
||||
///<summary>Frequencyshifter Parameter. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0</summary>
|
||||
AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003,
|
||||
}
|
||||
|
||||
/* Vocalmorpher Parameters */
|
||||
public enum AL_EFFECT_VOCAL_MORPHER : int
|
||||
{
|
||||
///<summary>Range [0 .. 92] Default: 0, AL_VOCAL_MORPHER_PHONEME_A</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: Use enum FormantFilterSettings Range [0 .. 29] Default: 0, AL_VOCAL_MORPHER_PHONEME_A</summary>
|
||||
AL_VOCAL_MORPHER_PHONEMEA = 0x0001,
|
||||
///<summary>Range [-24 .. +24] Default: 0</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0</summary>
|
||||
AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002,
|
||||
///<summary>Range [0 .. 29] Default: 10, AL_VOCAL_MORPHER_PHONEME_ER</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: Use enum FormantFilterSettings Range [0 .. 29] Default: 10, AL_VOCAL_MORPHER_PHONEME_ER</summary>
|
||||
AL_VOCAL_MORPHER_PHONEMEB = 0x0003,
|
||||
///<summary>Range [-24 .. +24] Default: 0</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: Semitones Range [-24 .. +24] Default: 0</summary>
|
||||
AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 0x0004,
|
||||
///<summary>Range [0 .. 2] Default: 0</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0</summary>
|
||||
AL_VOCAL_MORPHER_WAVEFORM = 0x0005,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 1.41f</summary>
|
||||
///<summary>Vocalmorpher Parameter. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f</summary>
|
||||
AL_VOCAL_MORPHER_RATE = 0x0006,
|
||||
}
|
||||
|
||||
|
@ -247,79 +235,128 @@ namespace OpenTK.OpenAL
|
|||
AL_VOCAL_MORPHER_PHONEME_Z = 29,
|
||||
}
|
||||
|
||||
/* Pitchshifter Parameters */
|
||||
public enum AL_EFFECT_PITCH_SHIFTER : int
|
||||
{
|
||||
///<summary>Range [-12 .. +12] Default: +12</summary>
|
||||
///<summary>Pitchshifter Parameter. Unit: Semitones Range [-12 .. +12] Default: +12</summary>
|
||||
AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001,
|
||||
///<summary>Range [-50 .. +50] Default: 0</summary>
|
||||
///<summary>Pitchshifter Parameter. Unit: Cents Range [-50 .. +50] Default: 0</summary>
|
||||
AL_PITCH_SHIFTER_FINE_TUNE = 0x0002,
|
||||
}
|
||||
|
||||
/* Ringmodulator Parameters */
|
||||
public enum AL_EFFECT_RING_MODULATOR : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 8000.0f] Default: 440.0f</summary>
|
||||
///<summary>Ringmodulator Parameter. Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f</summary>
|
||||
AL_RING_MODULATOR_FREQUENCY = 0x0001,
|
||||
///<summary>Range [0.0f .. 24000.0f] Default: 800.0f</summary>
|
||||
///<summary>Ringmodulator Parameter. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f</summary>
|
||||
AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002,
|
||||
///<summary>Range [0 .. 2] Default: 0</summary>
|
||||
///<summary>Ringmodulator Parameter. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0</summary>
|
||||
AL_RING_MODULATOR_WAVEFORM = 0x0003,
|
||||
}
|
||||
|
||||
/* Autowah Parameters */
|
||||
public enum AL_EFFECT_AUTOWAH
|
||||
{
|
||||
///<summary>Range [0.0001f .. 1.0f] Default: 0.06f</summary>
|
||||
///<summary>Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f</summary>
|
||||
AL_AUTOWAH_ATTACK_TIME = 0x0001,
|
||||
///<summary>Range [0.0001f .. 1.0f] Default: 0.06f</summary>
|
||||
///<summary>Autowah Parameter. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f</summary>
|
||||
AL_AUTOWAH_RELEASE_TIME = 0x0002,
|
||||
///<summary>Range [2.0f .. 1000.0f] Default: 1000.0f</summary>
|
||||
///<summary>Autowah Parameter. Range [2.0f .. 1000.0f] Default: 1000.0f</summary>
|
||||
AL_AUTOWAH_RESONANCE = 0x0003,
|
||||
///<summary>Range [0.00003f .. 31621.0f] Default: 11.22f</summary>
|
||||
///<summary>Autowah Parameter. Range [0.00003f .. 31621.0f] Default: 11.22f</summary>
|
||||
AL_AUTOWAH_PEAK_GAIN = 0x0004,
|
||||
}
|
||||
|
||||
/* Compressor Parameters */
|
||||
public enum AL_EFFECT_COMPRESSOR : int
|
||||
{
|
||||
///<summary>Range [0 .. 1] Default: 1</summary>
|
||||
///<summary>Compressor Parameter. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1</summary>
|
||||
AL_COMPRESSOR_ONOFF = 0x0001,
|
||||
}
|
||||
|
||||
/* Equalizer Parameters */
|
||||
public enum AL_EFFECT_EQUALIZER : int
|
||||
{
|
||||
///<summary>Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_LOW_GAIN = 0x0001,
|
||||
///<summary>Range [50.0f .. 800.0f] Default: 200.0f</summary>
|
||||
///<summary>Equalizer Parameter. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f</summary>
|
||||
AL_EQUALIZER_LOW_CUTOFF = 0x0002,
|
||||
///<summary>Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_MID1_GAIN = 0x0003,
|
||||
///<summary>Range [200.0f .. 3000.0f] Default: 500.0f</summary>
|
||||
///<summary>Equalizer Parameter. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f</summary>
|
||||
AL_EQUALIZER_MID1_CENTER = 0x0004,
|
||||
///<summary>Range [0.01f .. 1.0f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_MID1_WIDTH = 0x0005,
|
||||
///<summary>Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_MID2_GAIN = 0x0006,
|
||||
///<summary>Range [1000.0f .. 8000.0f] Default: 3000.0f</summary>
|
||||
///<summary>Equalizer Parameter. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f</summary>
|
||||
AL_EQUALIZER_MID2_CENTER = 0x0007,
|
||||
///<summary>Range [0.01f .. 1.0f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.01f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_MID2_WIDTH = 0x0008,
|
||||
///<summary>Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
///<summary>Equalizer Parameter. Range [0.126f .. 7.943f] Default: 1.0f</summary>
|
||||
AL_EQUALIZER_HIGH_GAIN = 0x0009,
|
||||
///<summary>Range [4000.0f .. 16000.0f] Default: 6000.0f</summary>
|
||||
///<summary>Equalizer Parameter. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f</summary>
|
||||
AL_EQUALIZER_HIGH_CUTOFF = 0x000A,
|
||||
}
|
||||
|
||||
/* Effect type */
|
||||
public enum b : int
|
||||
public enum AL_EFFECT_EAXREVERB : int
|
||||
{
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DENSITY = 0x0001,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DIFFUSION = 0x0002,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.32f</summary>
|
||||
AL_EAXREVERB_GAIN = 0x0003,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.89f</summary>
|
||||
AL_EAXREVERB_GAINHF = 0x0004,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_GAINLF = 0x0005,
|
||||
///<summary>EAXReverb effect parameters. Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f</summary>
|
||||
AL_EAXREVERB_DECAY_TIME = 0x0006,
|
||||
///<summary>EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 0.83f</summary>
|
||||
AL_EAXREVERB_DECAY_HFRATIO = 0x0007,
|
||||
///<summary>EAXReverb effect parameters. Range [0.1f .. 2.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DECAY_LFRATIO = 0x0008,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 3.16f] Default: 0.05f</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009,
|
||||
///<summary>EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A,
|
||||
/// <summary>EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f}</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_PAN = 0x000B,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 1.26f</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C,
|
||||
///<summary>EAXReverb effect parameters. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D,
|
||||
/// <summary>EAXReverb effect parameters. Unit: Vector3 Default: {0.0f, 0.0f, 0.0f}</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_PAN = 0x000E,
|
||||
///<summary>EAXReverb effect parameters. Range [0.075f .. 0.25f] Default: 0.25f</summary>
|
||||
AL_EAXREVERB_ECHO_TIME = 0x000F,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_ECHO_DEPTH = 0x0010,
|
||||
///<summary>EAXReverb effect parameters. Range [0.04f .. 4.0f] Default: 0.25f</summary>
|
||||
AL_EAXREVERB_MODULATION_TIME = 0x0011,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 1.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_MODULATION_DEPTH = 0x0012,
|
||||
///<summary>EAXReverb effect parameters. Range [0.892f .. 1.0f] Default: 0.994f</summary>
|
||||
AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013,
|
||||
///<summary>EAXReverb effect parameters. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f</summary>
|
||||
AL_EAXREVERB_HFREFERENCE = 0x0014,
|
||||
///<summary>EAXReverb effect parameters. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f</summary>
|
||||
AL_EAXREVERB_LFREFERENCE = 0x0015,
|
||||
///<summary>EAXReverb effect parameters. Range [0.0f .. 10.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016,
|
||||
///<summary>EAXReverb effect parameters. Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE</summary>
|
||||
AL_EAXREVERB_DECAY_HFLIMIT = 0x0017,
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public enum EfxEffecti : int
|
||||
{
|
||||
AL_EFFECT_FIRST_PARAMETER = 0x0000,
|
||||
AL_EFFECT_LAST_PARAMETER = 0x8000,
|
||||
AL_EFFECT_TYPE = 0x8001,
|
||||
AL_EFFECT_TYPE = 0x8001, // AL.BindEffect()
|
||||
}
|
||||
|
||||
/* Effect type definitions to be used with AL_EFFECT_TYPE. */
|
||||
///<summary>Effect type definitions to be used with AL_EFFECT_TYPE.</summary>
|
||||
public enum EfxEffectType : int
|
||||
{
|
||||
AL_EFFECT_NULL = 0x0000, /* Can also be used as an Effect Object ID */
|
||||
AL_EFFECT_REVERB = 0x0001,
|
||||
AL_EFFECT_CHORUS = 0x0002,
|
||||
|
@ -334,32 +371,41 @@ namespace OpenTK.OpenAL
|
|||
AL_EFFECT_COMPRESSOR = 0x000B,
|
||||
AL_EFFECT_EQUALIZER = 0x000C,
|
||||
|
||||
/**
|
||||
* Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.
|
||||
*/
|
||||
AL_EFFECT_EAXREVERB = 0x8000,
|
||||
}
|
||||
|
||||
public enum EfxAuxiliarySlot : int
|
||||
{
|
||||
// Auxiliary Slot object definitions to be used with alAuxiliaryEffectSlot functions.
|
||||
AL_EFFECTSLOT_EFFECT = 0x0001,
|
||||
AL_EFFECTSLOT_GAIN = 0x0002,
|
||||
AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003,
|
||||
|
||||
// Value to be used as an Auxiliary Slot ID to disable a source send..
|
||||
|
||||
AL_EFFECTSLOT_NULL = 0x0000,
|
||||
|
||||
}
|
||||
|
||||
#region Filter Object
|
||||
|
||||
// Filter object definitions to be used with alFilter functions.
|
||||
public enum EfxFilterParameter : int
|
||||
public enum EfxFilterLowpass : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_LOWPASS_GAIN = 0x0001,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_LOWPASS_GAINHF = 0x0002,
|
||||
}
|
||||
|
||||
public enum EfxFilterHighpass : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_HIGHPASS_GAIN = 0x0001,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_HIGHPASS_GAINLF = 0x0002,
|
||||
}
|
||||
|
||||
public enum EfxFilterBandpass : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_BANDPASS_GAIN = 0x0001,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
|
@ -367,78 +413,25 @@ namespace OpenTK.OpenAL
|
|||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_BANDPASS_GAINHF = 0x0003,
|
||||
}
|
||||
|
||||
// Filter type
|
||||
public enum EfxFilterType : int
|
||||
{
|
||||
// Filter type
|
||||
AL_FILTER_FIRST_PARAMETER = 0x0000,
|
||||
AL_FILTER_LAST_PARAMETER = 0x8000,
|
||||
AL_FILTER_TYPE = 0x8001,
|
||||
}
|
||||
|
||||
// Filter type definitions to be used with AL_FILTER_TYPE.
|
||||
public enum EfxFilterTypeDefinition : int
|
||||
{
|
||||
|
||||
// Filter type definitions to be used with AL_FILTER_TYPE.
|
||||
AL_FILTER_NULL = 0x0000, // Can also be used as a Filter Object ID
|
||||
AL_FILTER_LOWPASS = 0x0001,
|
||||
AL_FILTER_HIGHPASS = 0x0002,
|
||||
AL_FILTER_BANDPASS = 0x0003,
|
||||
}
|
||||
|
||||
// Effect object definitions to be used with alEffect functions.
|
||||
|
||||
|
||||
// AL EAXReverb effect parameters.
|
||||
public enum EaxReverb : int
|
||||
{
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DENSITY = 0x0001,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DIFFUSION = 0x0002,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.32f</summary>
|
||||
AL_EAXREVERB_GAIN = 0x0003,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.89f</summary>
|
||||
AL_EAXREVERB_GAINHF = 0x0004,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_GAINLF = 0x0005,
|
||||
///<summary>Range [0.1f .. 20.0f] Default: 1.49f</summary>
|
||||
AL_EAXREVERB_DECAY_TIME = 0x0006,
|
||||
///<summary>Range [0.1f .. 2.0f] Default: 0.83f</summary>
|
||||
AL_EAXREVERB_DECAY_HFRATIO = 0x0007,
|
||||
///<summary>Range [0.1f .. 2.0f] Default: 1.0f</summary>
|
||||
AL_EAXREVERB_DECAY_LFRATIO = 0x0008,
|
||||
///<summary>Range [0.0f .. 3.16f] Default: 0.05f</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_GAIN = 0x0009,
|
||||
///<summary>Range [0.0f .. 0.3f] Default: 0.007f</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_DELAY = 0x000A,
|
||||
/// <summary>Default: {0.0f, 0.0f, 0.0f}</summary>
|
||||
AL_EAXREVERB_REFLECTIONS_PAN = 0x000B,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 1.26f</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_GAIN = 0x000C,
|
||||
///<summary>Range [0.0f .. 0.1f] Default: 0.011f</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_DELAY = 0x000D,
|
||||
/// <summary>Default: {0.0f, 0.0f, 0.0f}</summary>
|
||||
AL_EAXREVERB_LATE_REVERB_PAN = 0x000E,
|
||||
///<summary>Range [0.075f .. 0.25f] Default: 0.25f</summary>
|
||||
AL_EAXREVERB_ECHO_TIME = 0x000F,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_ECHO_DEPTH = 0x0010,
|
||||
///<summary>Range [0.04f .. 4.0f] Default: 0.25f</summary>
|
||||
AL_EAXREVERB_MODULATION_TIME = 0x0011,
|
||||
///<summary>Range [0.0f .. 1.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_MODULATION_DEPTH = 0x0012,
|
||||
///<summary>Range [0.892f .. 1.0f] Default: 0.994f</summary>
|
||||
AL_EAXREVERB_AIR_ABSORPTION_GAINHF = 0x0013,
|
||||
///<summary>Range [1000.0f .. 20000.0f] Default: 5000.0f</summary>
|
||||
AL_EAXREVERB_HFREFERENCE = 0x0014,
|
||||
///<summary>Range [20.0f .. 1000.0f] Default: 250.0f</summary>
|
||||
AL_EAXREVERB_LFREFERENCE = 0x0015,
|
||||
///<summary>Range [0.0f .. 10.0f] Default: 0.0f</summary>
|
||||
AL_EAXREVERB_ROOM_ROLLOFF_FACTOR = 0x0016,
|
||||
///<summary>Range [AL_FALSE .. AL_TRUE] Default: AL_TRUE</summary>
|
||||
AL_EAXREVERB_DECAY_HFLIMIT = 0x0017,
|
||||
}
|
||||
|
||||
// Effect type definitions to be used with AL_EFFECT_TYPE.
|
||||
public enum c : int
|
||||
{
|
||||
AL_EFFECT_EAXREVERB = 0x8000,
|
||||
}
|
||||
#endregion Filter Object
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,12 @@ Version History:
|
|||
0.5 vanilla complete
|
||||
- Fix Alc.GetString( Enums.AlcGetStringList ) to terminate with 2 null, and split at 1 null
|
||||
|
||||
0.6
|
||||
- Begun working on Efx
|
||||
- X-Ram changed, must be tested properly. verify parameters of GetBufferMode()
|
||||
|
||||
Next Version:
|
||||
- EFX Extension
|
||||
- Enums themselves require summaries (do EFX 1st)
|
||||
- use [MarshalAs(UnmanagedType)] attribute, instead of AL.Bool? investigate
|
||||
- AL.BindBuffer helper function ala GL.BindBuffer? (Wraps AL.Source, better consistency)
|
|
@ -30,17 +30,17 @@ namespace OpenTK.OpenAL
|
|||
#region X-RAM Function pointer definitions
|
||||
|
||||
[CLSCompliant(false)]
|
||||
public unsafe delegate AL.Bool SetBufferMode(int n, ref uint buffers, int value);
|
||||
public unsafe delegate AL.Bool DelegateSetBufferMode(int n, ref uint buffers, int value);
|
||||
//typedef ALboolean (__cdecl *EAXSetBufferMode)(ALsizei n, ALuint *buffers, ALint value);
|
||||
|
||||
[CLSCompliant(false)]
|
||||
public delegate int GetBufferMode(uint buffer, out int value);
|
||||
public delegate int DelegateGetBufferMode(uint buffer, out int value);
|
||||
//typedef ALenum (__cdecl *EAXGetBufferMode)(ALuint buffer, ALint *value);
|
||||
|
||||
[CLSCompliant(false)]
|
||||
public SetBufferMode EAXSetBufferMode;
|
||||
private DelegateSetBufferMode ImportedSetBufferMode;
|
||||
[CLSCompliant(false)]
|
||||
public GetBufferMode EAXGetBufferMode;
|
||||
private DelegateGetBufferMode ImportedGetBufferMode;
|
||||
|
||||
#endregion X-RAM Function pointer definitions
|
||||
|
||||
|
@ -81,8 +81,8 @@ namespace OpenTK.OpenAL
|
|||
|
||||
try
|
||||
{
|
||||
EAXGetBufferMode = (GetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXGetBufferMode"), typeof(GetBufferMode));
|
||||
EAXSetBufferMode = (SetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXSetBufferMode"), typeof(SetBufferMode));
|
||||
ImportedGetBufferMode = (DelegateGetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXGetBufferMode"), typeof(DelegateGetBufferMode));
|
||||
ImportedSetBufferMode = (DelegateSetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXSetBufferMode"), typeof(DelegateSetBufferMode));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -132,22 +132,28 @@ namespace OpenTK.OpenAL
|
|||
|
||||
}
|
||||
[CLSCompliant(false)]
|
||||
public void _SetBufferMode(ref uint buffer, XRamStorage mode)
|
||||
public void SetBufferMode(int n, ref uint buffer, XRamStorage mode)
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case XRamStorage.Acessible:
|
||||
EAXSetBufferMode(1, ref buffer, AL_STORAGE_ACCESSIBLE);
|
||||
ImportedSetBufferMode(1, ref buffer, AL_STORAGE_ACCESSIBLE);
|
||||
break;
|
||||
case XRamStorage.Hardware:
|
||||
EAXSetBufferMode(1, ref buffer, AL_STORAGE_HARDWARE);
|
||||
ImportedSetBufferMode(1, ref buffer, AL_STORAGE_HARDWARE);
|
||||
break;
|
||||
default:
|
||||
EAXSetBufferMode(1, ref buffer, AL_STORAGE_AUTOMATIC);
|
||||
ImportedSetBufferMode(1, ref buffer, AL_STORAGE_AUTOMATIC);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public XRamStorage GetBufferMode(ref uint buffer)
|
||||
{
|
||||
int t; // this is improper, find sample codes using it and figure out what 2nd param does.
|
||||
return (XRamStorage)ImportedGetBufferMode(buffer, out t);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue