From a51271035a8591f8221e9ca6bccc5b98e29f23e1 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Tue, 8 Feb 2011 15:58:19 +0100 Subject: First try to make the compiler up-to-date --- note_compiler/templates/set_param.1 | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'note_compiler/templates/set_param.1') diff --git a/note_compiler/templates/set_param.1 b/note_compiler/templates/set_param.1 index 21fc983..e99f481 100644 --- a/note_compiler/templates/set_param.1 +++ b/note_compiler/templates/set_param.1 @@ -5,6 +5,13 @@ return; } + if ( ((p.par==FREQ_ATTACK) || (p.par==FREQ_DECAY) || (p.par==FREQ_SUSTAIN) || + (p.par==FREQ_RELEASE) || (p.par==FREQ_HOLD)) && sel_factor_env==NULL ) + { + output_note("NOTE: cannot change parameter for freq-envelope"+IntToStr(p.osc)+" because it's disabled"); + return; + } + switch(p.par) { case ATTACK: sel_env->set_attack(v*samp_rate >>SCALE); break; @@ -13,10 +20,17 @@ case RELEASE: sel_env->set_release(v*samp_rate >>SCALE); break; case HOLD: sel_env->set_hold(v!=0); break; + case FREQ_ATTACK: sel_factor_env->set_attack(v*samp_rate >>SCALE); break; + case FREQ_DECAY: sel_factor_env->set_decay(v*samp_rate >>SCALE); break; + case FREQ_SUSTAIN: sel_factor_env->set_sustain(v); break; + case FREQ_RELEASE: sel_factor_env->set_release(v*samp_rate >>SCALE); break; + case FREQ_HOLD: sel_factor_env->set_hold((v!=0)); break; + case FREQ_ENV_AMOUNT: sel_orig_osc->freq_env_amount=double(v)/ONE; apply_pfactor(); break; + case KSR: sel_osc->ksr=float(v)/ONE; break; case KSL: sel_osc->ksl=float(v)/ONE; break; - case FACTOR: sel_osc->factor=v; break; + case FACTOR: sel_orig_osc->factor=v; sel_osc->factor=v*freqfactor_factor[p.osc]; break; case TREMOLO: sel_osc->tremolo_depth=v; break; case TREM_LFO: sel_osc->tremolo_lfo=v; break; case VIBRATO: sel_osc->vibrato_depth=v; break; -- cgit v1.2.3