mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2025-02-26 05:40:49 +00:00
Simplify fluid_mod_get_xxx_value() signature. (#429)
This commit is contained in:
parent
401f53a009
commit
f566f0ef33
3 changed files with 9 additions and 14 deletions
|
@ -164,10 +164,10 @@ static fluid_real_t
|
||||||
fluid_mod_get_source_value(const unsigned char mod_src,
|
fluid_mod_get_source_value(const unsigned char mod_src,
|
||||||
const unsigned char mod_flags,
|
const unsigned char mod_flags,
|
||||||
fluid_real_t *range,
|
fluid_real_t *range,
|
||||||
const fluid_channel_t *chan,
|
|
||||||
const fluid_voice_t *voice
|
const fluid_voice_t *voice
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
const fluid_channel_t *chan = voice->channel;
|
||||||
fluid_real_t val;
|
fluid_real_t val;
|
||||||
|
|
||||||
if(mod_flags & FLUID_MOD_CC)
|
if(mod_flags & FLUID_MOD_CC)
|
||||||
|
@ -367,18 +367,13 @@ fluid_mod_transform_source_value(fluid_real_t val, unsigned char mod_flags, cons
|
||||||
* fluid_mod_get_value
|
* fluid_mod_get_value
|
||||||
*/
|
*/
|
||||||
fluid_real_t
|
fluid_real_t
|
||||||
fluid_mod_get_value(fluid_mod_t *mod, fluid_channel_t *chan, fluid_voice_t *voice)
|
fluid_mod_get_value(fluid_mod_t *mod, fluid_voice_t *voice)
|
||||||
{
|
{
|
||||||
extern fluid_mod_t default_vel2filter_mod;
|
extern fluid_mod_t default_vel2filter_mod;
|
||||||
|
|
||||||
fluid_real_t v1 = 0.0, v2 = 1.0;
|
fluid_real_t v1 = 0.0, v2 = 1.0;
|
||||||
fluid_real_t range1 = 127.0, range2 = 127.0;
|
fluid_real_t range1 = 127.0, range2 = 127.0;
|
||||||
|
|
||||||
if(chan == NULL)
|
|
||||||
{
|
|
||||||
return 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 'special treatment' for default controller
|
/* 'special treatment' for default controller
|
||||||
*
|
*
|
||||||
* Reference: SF2.01 section 8.4.2
|
* Reference: SF2.01 section 8.4.2
|
||||||
|
@ -418,7 +413,7 @@ fluid_mod_get_value(fluid_mod_t *mod, fluid_channel_t *chan, fluid_voice_t *voic
|
||||||
/* get the initial value of the first source */
|
/* get the initial value of the first source */
|
||||||
if(mod->src1 > 0)
|
if(mod->src1 > 0)
|
||||||
{
|
{
|
||||||
v1 = fluid_mod_get_source_value(mod->src1, mod->flags1, &range1, chan, voice);
|
v1 = fluid_mod_get_source_value(mod->src1, mod->flags1, &range1, voice);
|
||||||
|
|
||||||
/* transform the input value */
|
/* transform the input value */
|
||||||
v1 = fluid_mod_transform_source_value(v1, mod->flags1, range1);
|
v1 = fluid_mod_transform_source_value(v1, mod->flags1, range1);
|
||||||
|
@ -437,7 +432,7 @@ fluid_mod_get_value(fluid_mod_t *mod, fluid_channel_t *chan, fluid_voice_t *voic
|
||||||
/* get the second input source */
|
/* get the second input source */
|
||||||
if(mod->src2 > 0)
|
if(mod->src2 > 0)
|
||||||
{
|
{
|
||||||
v2 = fluid_mod_get_source_value(mod->src2, mod->flags2, &range2, chan, voice);
|
v2 = fluid_mod_get_source_value(mod->src2, mod->flags2, &range2, voice);
|
||||||
|
|
||||||
/* transform the second input value */
|
/* transform the second input value */
|
||||||
v2 = fluid_mod_transform_source_value(v2, mod->flags2, range2);
|
v2 = fluid_mod_transform_source_value(v2, mod->flags2, range2);
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct _fluid_mod_t
|
||||||
fluid_mod_t *next;
|
fluid_mod_t *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
fluid_real_t fluid_mod_get_value(fluid_mod_t *mod, fluid_channel_t *chan, fluid_voice_t *voice);
|
fluid_real_t fluid_mod_get_value(fluid_mod_t *mod, fluid_voice_t *voice);
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
void fluid_dump_modulator(fluid_mod_t *mod);
|
void fluid_dump_modulator(fluid_mod_t *mod);
|
||||||
|
|
|
@ -612,7 +612,7 @@ fluid_voice_calculate_runtime_synthesis_parameters(fluid_voice_t *voice)
|
||||||
for(i = 0; i < voice->mod_count; i++)
|
for(i = 0; i < voice->mod_count; i++)
|
||||||
{
|
{
|
||||||
fluid_mod_t *mod = &voice->mod[i];
|
fluid_mod_t *mod = &voice->mod[i];
|
||||||
fluid_real_t modval = fluid_mod_get_value(mod, voice->channel, voice);
|
fluid_real_t modval = fluid_mod_get_value(mod, voice);
|
||||||
int dest_gen_index = mod->dest;
|
int dest_gen_index = mod->dest;
|
||||||
fluid_gen_t *dest_gen = &voice->gen[dest_gen_index];
|
fluid_gen_t *dest_gen = &voice->gen[dest_gen_index];
|
||||||
dest_gen->mod += modval;
|
dest_gen->mod += modval;
|
||||||
|
@ -1202,7 +1202,7 @@ int fluid_voice_modulate(fluid_voice_t *voice, int cc, int ctrl)
|
||||||
{
|
{
|
||||||
if(fluid_mod_has_dest(&voice->mod[k], gen))
|
if(fluid_mod_has_dest(&voice->mod[k], gen))
|
||||||
{
|
{
|
||||||
modval += fluid_mod_get_value(&voice->mod[k], voice->channel, voice);
|
modval += fluid_mod_get_value(&voice->mod[k], voice);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1251,7 +1251,7 @@ int fluid_voice_modulate_all(fluid_voice_t *voice)
|
||||||
{
|
{
|
||||||
if(fluid_mod_has_dest(&voice->mod[k], gen))
|
if(fluid_mod_has_dest(&voice->mod[k], gen))
|
||||||
{
|
{
|
||||||
modval += fluid_mod_get_value(&voice->mod[k], voice->channel, voice);
|
modval += fluid_mod_get_value(&voice->mod[k], voice);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1732,7 +1732,7 @@ fluid_voice_get_lower_boundary_for_attenuation(fluid_voice_t *voice)
|
||||||
|| (mod->src2 == FLUID_MOD_PITCHWHEEL)))
|
|| (mod->src2 == FLUID_MOD_PITCHWHEEL)))
|
||||||
{
|
{
|
||||||
|
|
||||||
fluid_real_t current_val = fluid_mod_get_value(mod, voice->channel, voice);
|
fluid_real_t current_val = fluid_mod_get_value(mod, voice);
|
||||||
fluid_real_t v = fabs(mod->amount);
|
fluid_real_t v = fabs(mod->amount);
|
||||||
|
|
||||||
if((mod->src1 == FLUID_MOD_PITCHWHEEL)
|
if((mod->src1 == FLUID_MOD_PITCHWHEEL)
|
||||||
|
|
Loading…
Reference in a new issue