Simplify fluid_mod_get_xxx_value() signature. (#429)

This commit is contained in:
jjceresa 2018-09-15 14:01:15 +02:00 committed by Tom M
parent 401f53a009
commit f566f0ef33
3 changed files with 9 additions and 14 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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)