aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2013-12-29 05:09:50 -0800
committerChris Robinson <[email protected]>2013-12-29 05:09:50 -0800
commit4e73b95fc05b85da550910318df6c04eb21edc4d (patch)
tree6f1a6a242e6ed33b1ea517e5799783c5c4a80939 /OpenAL32
parent4c35f7c63243c7ffa251047074d44e6073edb435 (diff)
Add the last remaining "real-time" properties
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h6
-rw-r--r--OpenAL32/Include/alMidi.h12
-rw-r--r--OpenAL32/alFontsound.c50
3 files changed, 68 insertions, 0 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index ff00fdac..7688c84e 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -55,9 +55,14 @@
#define AL_FILTER_RESONANCE_SOFT 0x0009
#define AL_MOD_LFO_TO_FILTER_CUTOFF_SOFT 0x000A
#define AL_MOD_ENV_TO_FILTER_CUTOFF_SOFT 0x000B
+#define AL_MOD_LFO_TO_VOLUME_SOFT 0x000D
#define AL_CHORUS_SEND_SOFT 0x000F
#define AL_REVERB_SEND_SOFT 0x0010
#define AL_PAN_SOFT 0x0011
+#define AL_MOD_LFO_DELAY_SOFT 0x0015
+#define AL_MOD_LFO_FREQUENCY_SOFT 0x0016
+#define AL_VIBRATO_LFO_DELAY_SOFT 0x0017
+#define AL_VIBRATO_LFO_FREQUENCY_SOFT 0x0018
#define AL_MOD_ENV_DELAYTIME_SOFT 0x0019
#define AL_MOD_ENV_ATTACKTIME_SOFT 0x001A
#define AL_MOD_ENV_HOLDTIME_SOFT 0x001B
@@ -81,6 +86,7 @@
#define AL_TUNING_FINE_SOFT 0x0034
#define AL_LOOP_MODE_SOFT 0x0036
#define AL_TUNING_SCALE_SOFT 0x0038
+#define AL_EXCLUSIVE_CLASS_SOFT 0x0039
#define AL_LOOP_CONTINUOUS_SOFT 0x0001
#define AL_LOOP_UNTIL_RELEASE_SOFT 0x0003
#define AL_FORMAT_TYPE_SOFT 0x1991
diff --git a/OpenAL32/Include/alMidi.h b/OpenAL32/Include/alMidi.h
index b9adc4f2..c31992b3 100644
--- a/OpenAL32/Include/alMidi.h
+++ b/OpenAL32/Include/alMidi.h
@@ -31,6 +31,7 @@ typedef struct ALfontsound {
ALint FilterQ;
ALint ModLfoToFilterCutoff;
ALint ModEnvToFilterCutoff;
+ ALint ModLfoToVolume;
ALint ChorusSend;
ALint ReverbSend;
@@ -38,6 +39,15 @@ typedef struct ALfontsound {
ALint Pan;
struct {
+ ALint Delay;
+ ALint Frequency;
+ } ModLfo;
+ struct {
+ ALint Delay;
+ ALint Frequency;
+ } VibratoLfo;
+
+ struct {
ALint DelayTime;
ALint AttackTime;
ALint HoldTime;
@@ -67,6 +77,8 @@ typedef struct ALfontsound {
ALint TuningScale;
+ ALint ExclusiveClass;
+
ALuint Start;
ALuint End;
ALuint LoopStart;
diff --git a/OpenAL32/alFontsound.c b/OpenAL32/alFontsound.c
index 78722426..908e88f7 100644
--- a/OpenAL32/alFontsound.c
+++ b/OpenAL32/alFontsound.c
@@ -160,6 +160,10 @@ AL_API void AL_APIENTRY alFontsoundiSOFT(ALuint id, ALenum param, ALint value)
sound->ModEnvToFilterCutoff = value;
break;
+ case AL_MOD_LFO_TO_VOLUME_SOFT:
+ sound->ModLfoToVolume = value;
+ break;
+
case AL_CHORUS_SEND_SOFT:
if(!(value >= 0 && value <= 1000))
SET_ERROR_AND_GOTO(context, AL_INVALID_VALUE, done);
@@ -176,6 +180,20 @@ AL_API void AL_APIENTRY alFontsoundiSOFT(ALuint id, ALenum param, ALint value)
sound->Pan = value;
break;
+ case AL_MOD_LFO_DELAY_SOFT:
+ sound->ModLfo.Delay = value;
+ break;
+ case AL_MOD_LFO_FREQUENCY_SOFT:
+ sound->ModLfo.Frequency = value;
+ break;
+
+ case AL_VIBRATO_LFO_DELAY_SOFT:
+ sound->VibratoLfo.Delay = value;
+ break;
+ case AL_VIBRATO_LFO_FREQUENCY_SOFT:
+ sound->VibratoLfo.Frequency = value;
+ break;
+
case AL_MOD_ENV_DELAYTIME_SOFT:
sound->ModEnv.DelayTime = value;
break;
@@ -250,6 +268,10 @@ AL_API void AL_APIENTRY alFontsoundiSOFT(ALuint id, ALenum param, ALint value)
sound->TuningScale = value;
break;
+ case AL_EXCLUSIVE_CLASS_SOFT:
+ sound->ExclusiveClass = value;
+ break;
+
case AL_SAMPLE_START_SOFT:
sound->Start = value;
break;
@@ -370,9 +392,14 @@ AL_API void AL_APIENTRY alFontsoundivSOFT(ALuint id, ALenum param, const ALint *
case AL_FILTER_RESONANCE_SOFT:
case AL_MOD_LFO_TO_FILTER_CUTOFF_SOFT:
case AL_MOD_ENV_TO_FILTER_CUTOFF_SOFT:
+ case AL_MOD_LFO_TO_VOLUME_SOFT:
case AL_CHORUS_SEND_SOFT:
case AL_REVERB_SEND_SOFT:
case AL_PAN_SOFT:
+ case AL_MOD_LFO_DELAY_SOFT:
+ case AL_MOD_LFO_FREQUENCY_SOFT:
+ case AL_VIBRATO_LFO_DELAY_SOFT:
+ case AL_VIBRATO_LFO_FREQUENCY_SOFT:
case AL_MOD_ENV_DELAYTIME_SOFT:
case AL_MOD_ENV_ATTACKTIME_SOFT:
case AL_MOD_ENV_HOLDTIME_SOFT:
@@ -394,6 +421,7 @@ AL_API void AL_APIENTRY alFontsoundivSOFT(ALuint id, ALenum param, const ALint *
case AL_TUNING_FINE_SOFT:
case AL_LOOP_MODE_SOFT:
case AL_TUNING_SCALE_SOFT:
+ case AL_EXCLUSIVE_CLASS_SOFT:
case AL_SAMPLE_START_SOFT:
case AL_SAMPLE_END_SOFT:
case AL_SAMPLE_LOOP_START_SOFT:
@@ -467,6 +495,10 @@ AL_API void AL_APIENTRY alGetFontsoundivSOFT(ALuint id, ALenum param, ALint *val
values[0] = sound->ModEnvToFilterCutoff;
break;
+ case AL_MOD_LFO_TO_VOLUME_SOFT:
+ values[0] = sound->ModLfoToVolume;
+ break;
+
case AL_CHORUS_SEND_SOFT:
values[0] = sound->ChorusSend;
break;
@@ -479,6 +511,20 @@ AL_API void AL_APIENTRY alGetFontsoundivSOFT(ALuint id, ALenum param, ALint *val
values[0] = sound->Pan;
break;
+ case AL_MOD_LFO_DELAY_SOFT:
+ values[0] = sound->ModLfo.Delay;
+ break;
+ case AL_MOD_LFO_FREQUENCY_SOFT:
+ values[0] = sound->ModLfo.Frequency;
+ break;
+
+ case AL_VIBRATO_LFO_DELAY_SOFT:
+ values[0] = sound->VibratoLfo.Delay;
+ break;
+ case AL_VIBRATO_LFO_FREQUENCY_SOFT:
+ values[0] = sound->VibratoLfo.Frequency;
+ break;
+
case AL_MOD_ENV_DELAYTIME_SOFT:
values[0] = sound->ModEnv.DelayTime;
break;
@@ -558,6 +604,10 @@ AL_API void AL_APIENTRY alGetFontsoundivSOFT(ALuint id, ALenum param, ALint *val
values[0] = sound->TuningScale;
break;
+ case AL_EXCLUSIVE_CLASS_SOFT:
+ values[0] = sound->ExclusiveClass;
+ break;
+
case AL_SAMPLE_START_SOFT:
values[0] = sound->Start;
break;