comparison ext/openal-soft/OpenAL32/Include/alEffect.h @ 0:4a0efb7baf70

* Datasets becomes the new trunk and retires after that :-)
author mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
date Sun, 29 Jun 2008 18:44:17 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4a0efb7baf70
1 #ifndef _AL_EFFECT_H_
2 #define _AL_EFFECT_H_
3
4 #include "AL/al.h"
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 #define AL_EFFECT_TYPE 0x8001
11
12 #define AL_EFFECT_NULL 0x0000
13 #define AL_EFFECT_REVERB 0x0001
14 #define AL_EFFECT_CHORUS 0x0002
15 #define AL_EFFECT_DISTORTION 0x0003
16 #define AL_EFFECT_ECHO 0x0004
17 #define AL_EFFECT_FLANGER 0x0005
18 #define AL_EFFECT_FREQUENCY_SHIFTER 0x0006
19 #define AL_EFFECT_VOCAL_MORPHER 0x0007
20 #define AL_EFFECT_PITCH_SHIFTER 0x0008
21 #define AL_EFFECT_RING_MODULATOR 0x0009
22 #define AL_EFFECT_AUTOWAH 0x000A
23 #define AL_EFFECT_COMPRESSOR 0x000B
24 #define AL_EFFECT_EQUALIZER 0x000C
25
26 #define AL_REVERB_DENSITY 0x0001
27 #define AL_REVERB_DIFFUSION 0x0002
28 #define AL_REVERB_GAIN 0x0003
29 #define AL_REVERB_GAINHF 0x0004
30 #define AL_REVERB_DECAY_TIME 0x0005
31 #define AL_REVERB_DECAY_HFRATIO 0x0006
32 #define AL_REVERB_REFLECTIONS_GAIN 0x0007
33 #define AL_REVERB_REFLECTIONS_DELAY 0x0008
34 #define AL_REVERB_LATE_REVERB_GAIN 0x0009
35 #define AL_REVERB_LATE_REVERB_DELAY 0x000A
36 #define AL_REVERB_AIR_ABSORPTION_GAINHF 0x000B
37 #define AL_REVERB_ROOM_ROLLOFF_FACTOR 0x000C
38 #define AL_REVERB_DECAY_HFLIMIT 0x000D
39
40
41 typedef struct ALeffect_struct
42 {
43 // Effect type (AL_EFFECT_NULL, ...)
44 ALenum type;
45
46 struct {
47 ALfloat Density;
48 ALfloat Diffusion;
49
50 ALfloat Gain;
51 ALfloat GainHF;
52 ALfloat DecayTime;
53 ALfloat DecayHFRatio;
54 ALfloat ReflectionsGain;
55 ALfloat ReflectionsDelay;
56 ALfloat LateReverbGain;
57 ALfloat LateReverbDelay;
58 ALfloat AirAbsorptionGainHF;
59 ALfloat RoomRolloffFactor;
60 ALboolean DecayHFLimit;
61 } Reverb;
62
63 // Index to itself
64 ALuint effect;
65
66 struct ALeffect_struct *next;
67 } ALeffect;
68
69 AL_API ALvoid AL_APIENTRY alGenEffects(ALsizei n, ALuint *effects);
70 AL_API ALvoid AL_APIENTRY alDeleteEffects(ALsizei n, ALuint *effects);
71 AL_API ALboolean AL_APIENTRY alIsEffect(ALuint effect);
72
73 AL_API ALvoid AL_APIENTRY alEffecti(ALuint effect, ALenum param, ALint iValue);
74 AL_API ALvoid AL_APIENTRY alEffectiv(ALuint effect, ALenum param, ALint *piValues);
75 AL_API ALvoid AL_APIENTRY alEffectf(ALuint effect, ALenum param, ALfloat flValue);
76 AL_API ALvoid AL_APIENTRY alEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
77
78 AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue);
79 AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *piValues);
80 AL_API ALvoid AL_APIENTRY alGetEffectf(ALuint effect, ALenum param, ALfloat *pflValue);
81 AL_API ALvoid AL_APIENTRY alGetEffectfv(ALuint effect, ALenum param, ALfloat *pflValues);
82
83 ALvoid ReleaseALEffects(ALvoid);
84
85 #ifdef __cplusplus
86 }
87 #endif
88
89 #endif