diff options
Diffstat (limited to 'Alc')
-rw-r--r-- | Alc/midi/base.c | 8 | ||||
-rw-r--r-- | Alc/midi/fluidsynth.c | 3 | ||||
-rw-r--r-- | Alc/midi/sf2load.c | 6 |
3 files changed, 13 insertions, 4 deletions
diff --git a/Alc/midi/base.c b/Alc/midi/base.c index 19adc810..1a298ba4 100644 --- a/Alc/midi/base.c +++ b/Alc/midi/base.c @@ -322,12 +322,18 @@ void ALfontsound_Construct(ALfontsound *self) self->VolEnv.KeyToHoldTime = 0; self->VolEnv.KeyToDecayTime = 0; + self->CoarseTuning = 0; + self->FineTuning = 0; + + self->LoopMode = AL_NONE; + + self->TuningScale = 100; + self->Start = 0; self->End = 0; self->LoopStart = 0; self->LoopEnd = 0; self->SampleRate = 0; - self->LoopMode = AL_NONE; self->PitchKey = 0; self->PitchCorrection = 0; self->SampleType = AL_NONE; diff --git a/Alc/midi/fluidsynth.c b/Alc/midi/fluidsynth.c index b19cfd03..a32c87c1 100644 --- a/Alc/midi/fluidsynth.c +++ b/Alc/midi/fluidsynth.c @@ -186,7 +186,10 @@ static int FPreset_noteOn(fluid_preset_t *preset, fluid_synth_t *synth, int chan fluid_voice_gen_set(voice, 38, sound->VolEnv.ReleaseTime); fluid_voice_gen_set(voice, 39, sound->VolEnv.KeyToHoldTime); fluid_voice_gen_set(voice, 40, sound->VolEnv.KeyToDecayTime); + fluid_voice_gen_set(voice, 51, sound->CoarseTuning); + fluid_voice_gen_set(voice, 52, sound->FineTuning); fluid_voice_gen_set(voice, 54, sound->LoopMode); + fluid_voice_gen_set(voice, 56, sound->TuningScale); for(m = 0;m < sample->NumMods;m++) fluid_voice_add_mod(voice, &sample->Mods[m], FLUID_VOICE_OVERWRITE); diff --git a/Alc/midi/sf2load.c b/Alc/midi/sf2load.c index de238296..ab008d83 100644 --- a/Alc/midi/sf2load.c +++ b/Alc/midi/sf2load.c @@ -845,12 +845,12 @@ static void fillZone(ALuint id, const GenModList *zone) 0, /* 48 - initialAttenuation */ 0, /* 49 - */ 0, /* 50 - endloopAddrCoarseOffset */ - 0, /* 51 - corseTune */ - 0, /* 52 - fineTune */ + AL_TUNING_COARSE_SOFT, /* 51 - corseTune */ + AL_TUNING_FINE_SOFT, /* 52 - fineTune */ 0, /* 53 - */ AL_LOOP_MODE_SOFT, /* 54 - sampleModes */ 0, /* 55 - */ - 0, /* 56 - scaleTuning */ + AL_TUNING_SCALE_SOFT, /* 56 - scaleTuning */ 0, /* 57 - exclusiveClass */ AL_BASE_KEY_SOFT, /* 58 - overridingRootKey */ 0, /* 59 - */ |