Add a few more pitch properties
This commit is contained in:
@@ -295,6 +295,10 @@ void ALfontsound_Construct(ALfontsound *self)
|
||||
self->MinVelocity = 0;
|
||||
self->MaxVelocity = 127;
|
||||
|
||||
self->ModLfoToPitch = 0;
|
||||
self->VibratoLfoToPitch = 0;
|
||||
self->ModEnvToPitch = 0;
|
||||
|
||||
self->VolEnv.DelayTime = -12000;
|
||||
self->VolEnv.AttackTime = -12000;
|
||||
self->VolEnv.HoldTime = -12000;
|
||||
|
||||
@@ -163,6 +163,9 @@ static int FPreset_noteOn(fluid_preset_t *preset, fluid_synth_t *synth, int chan
|
||||
if(voice == NULL)
|
||||
return FLUID_FAILED;
|
||||
|
||||
fluid_voice_gen_set(voice, 5, sound->ModLfoToPitch);
|
||||
fluid_voice_gen_set(voice, 6, sound->VibratoLfoToPitch);
|
||||
fluid_voice_gen_set(voice, 7, sound->ModEnvToPitch);
|
||||
fluid_voice_gen_set(voice, 33, sound->VolEnv.DelayTime);
|
||||
fluid_voice_gen_set(voice, 34, sound->VolEnv.AttackTime);
|
||||
fluid_voice_gen_set(voice, 35, sound->VolEnv.HoldTime);
|
||||
|
||||
+3
-3
@@ -799,9 +799,9 @@ static void fillZone(ALuint id, const GenModList *zone)
|
||||
0, /* 2 - startloopAddrOffset */
|
||||
0, /* 3 - endloopAddrOffset */
|
||||
0, /* 4 - startAddrCoarseOffset */
|
||||
0, /* 5 - modLfoToPitch */
|
||||
0, /* 6 - vibLfoToPitch */
|
||||
0, /* 7 - modEnvToPitch */
|
||||
AL_MOD_LFO_TO_PITCH_SOFT, /* 5 - modLfoToPitch */
|
||||
AL_VIBRATO_LFO_TO_PITCH_SOFT, /* 6 - vibLfoToPitch */
|
||||
AL_MOD_ENV_TO_PITCH_SOFT, /* 7 - modEnvToPitch */
|
||||
0, /* 8 - initialFilterFc */
|
||||
0, /* 9 - initialFilterQ */
|
||||
0, /* 10 - modLfoToFilterFc */
|
||||
|
||||
@@ -48,6 +48,9 @@
|
||||
#define AL_KEY_CORRECTION_SOFT 0x2006
|
||||
#define AL_SAMPLE_TYPE_SOFT 0x2007
|
||||
#define AL_FONTSOUND_LINK_SOFT 0x2008
|
||||
#define AL_MOD_LFO_TO_PITCH_SOFT 0x0005
|
||||
#define AL_VIBRATO_LFO_TO_PITCH_SOFT 0x0006
|
||||
#define AL_MOD_ENV_TO_PITCH_SOFT 0x0007
|
||||
#define AL_VOLUME_ENV_DELAYTIME_SOFT 0x0021
|
||||
#define AL_VOLUME_ENV_ATTACKTIME_SOFT 0x0022
|
||||
#define AL_VOLUME_ENV_HOLDTIME_SOFT 0x0023
|
||||
|
||||
@@ -23,6 +23,10 @@ typedef struct ALfontsound {
|
||||
ALint MinKey, MaxKey;
|
||||
ALint MinVelocity, MaxVelocity;
|
||||
|
||||
ALint ModLfoToPitch;
|
||||
ALint VibratoLfoToPitch;
|
||||
ALint ModEnvToPitch;
|
||||
|
||||
struct {
|
||||
ALint DelayTime;
|
||||
ALint AttackTime;
|
||||
|
||||
@@ -130,6 +130,18 @@ AL_API void AL_APIENTRY alFontsoundiSOFT(ALuint id, ALenum param, ALint value)
|
||||
SET_ERROR_AND_GOTO(context, AL_INVALID_OPERATION, done);
|
||||
switch(param)
|
||||
{
|
||||
case AL_MOD_LFO_TO_PITCH_SOFT:
|
||||
sound->ModLfoToPitch = value;
|
||||
break;
|
||||
|
||||
case AL_VIBRATO_LFO_TO_PITCH_SOFT:
|
||||
sound->VibratoLfoToPitch = value;
|
||||
break;
|
||||
|
||||
case AL_MOD_ENV_TO_PITCH_SOFT:
|
||||
sound->ModEnvToPitch = value;
|
||||
break;
|
||||
|
||||
case AL_VOLUME_ENV_DELAYTIME_SOFT:
|
||||
sound->VolEnv.DelayTime = value;
|
||||
break;
|
||||
@@ -282,6 +294,9 @@ AL_API void AL_APIENTRY alFontsoundivSOFT(ALuint id, ALenum param, const ALint *
|
||||
alFontsound2iSOFT(id, param, values[0], values[1]);
|
||||
return;
|
||||
|
||||
case AL_MOD_LFO_TO_PITCH_SOFT:
|
||||
case AL_VIBRATO_LFO_TO_PITCH_SOFT:
|
||||
case AL_MOD_ENV_TO_PITCH_SOFT:
|
||||
case AL_VOLUME_ENV_DELAYTIME_SOFT:
|
||||
case AL_VOLUME_ENV_ATTACKTIME_SOFT:
|
||||
case AL_VOLUME_ENV_HOLDTIME_SOFT:
|
||||
@@ -336,6 +351,18 @@ AL_API void AL_APIENTRY alGetFontsoundivSOFT(ALuint id, ALenum param, ALint *val
|
||||
SET_ERROR_AND_GOTO(context, AL_INVALID_NAME, done);
|
||||
switch(param)
|
||||
{
|
||||
case AL_MOD_LFO_TO_PITCH_SOFT:
|
||||
values[0] = sound->ModLfoToPitch;
|
||||
break;
|
||||
|
||||
case AL_VIBRATO_LFO_TO_PITCH_SOFT:
|
||||
values[0] = sound->VibratoLfoToPitch;
|
||||
break;
|
||||
|
||||
case AL_MOD_ENV_TO_PITCH_SOFT:
|
||||
values[0] = sound->ModEnvToPitch;
|
||||
break;
|
||||
|
||||
case AL_VOLUME_ENV_DELAYTIME_SOFT:
|
||||
values[0] = sound->VolEnv.DelayTime;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user