[SCM] calf/master: + Organ: separate control for Velocity to FM amount in percussion module
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:37:28 UTC 2013
The following commit has been merged in the master branch:
commit df48187351e0dc45f3bffd5fd2e65dcb2b209609
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date: Sun Aug 3 22:09:06 2008 +0000
+ Organ: separate control for Velocity to FM amount in percussion module
git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@253 78b06b96-2940-0410-b7fc-879d825d01d8
diff --git a/src/calf/organ.h b/src/calf/organ.h
index d45f5e7..0801b1c 100644
--- a/src/calf/organ.h
+++ b/src/calf/organ.h
@@ -59,12 +59,13 @@ struct organ_parameters {
float percussion_level;
float percussion_wave;
float percussion_harmonic;
+ float percussion_vel2amp;
float percussion_fm_time;
float percussion_fm_depth;
float percussion_fm_wave;
float percussion_fm_harmonic;
+ float percussion_vel2fm;
float percussion_trigger;
- float percussion_vel2amp;
float filter_chain;
float master;
@@ -310,9 +311,9 @@ struct drawbar_organ: public synth::basic_synth {
par_pan1, par_pan2, par_pan3, par_pan4, par_pan5, par_pan6, par_pan7, par_pan8, par_pan9,
par_routing1, par_routing2, par_routing3, par_routing4, par_routing5, par_routing6, par_routing7, par_routing8, par_routing9,
par_foldover,
- par_percdecay, par_perclevel, par_percwave, par_percharm,
- par_percfmdecay, par_percfmdepth, par_percfmwave, par_percfmharm,
- par_perctrigger, par_percvel2amp,
+ par_percdecay, par_perclevel, par_percwave, par_percharm, par_percvel2amp,
+ par_percfmdecay, par_percfmdepth, par_percfmwave, par_percfmharm, par_percvel2fm,
+ par_perctrigger,
par_filterchain,
par_master,
par_f1cutoff, par_f1res, par_f1env1, par_f1env2, par_f1env3, par_f1keyf,
diff --git a/src/organ.cpp b/src/organ.cpp
index 62cdc68..40b904c 100644
--- a/src/organ.cpp
+++ b/src/organ.cpp
@@ -280,7 +280,7 @@ const char *organ_audio_module::get_gui_xml()
"<vbox>"
"<align scale-x=\"0.0\" scale-y=\"1.0\"><vbox><keyboard octaves=\"10\"/><curve key=\"map_curve\" maxpoints=\"4\"/></vbox></align>"
"<hbox>"
- "<table rows=\"2\" cols=\"4\">"
+ "<table rows=\"2\" cols=\"5\">"
"<vbox attach-x=\"0\" attach-y=\"0\">"
"<label param=\"perc_waveform\"/>"
"<combo param=\"perc_waveform\"/>"
@@ -300,6 +300,11 @@ const char *organ_audio_module::get_gui_xml()
"<knob param=\"perc_decay\" expand=\"0\" fill=\"0\"/>"
"<value param=\"perc_decay\"/>"
"</vbox>"
+ "<vbox attach-x=\"4\" attach-y=\"0\">"
+ "<label param=\"perc_vel2amp\"/>"
+ "<knob param=\"perc_vel2amp\" expand=\"0\" fill=\"0\"/>"
+ "<value param=\"perc_vel2amp\"/>"
+ "</vbox>"
"<vbox attach-x=\"0\" attach-y=\"1\">"
"<label param=\"perc_fm_waveform\"/>"
"<combo param=\"perc_fm_waveform\"/>"
@@ -319,6 +324,11 @@ const char *organ_audio_module::get_gui_xml()
"<knob param=\"perc_fm_decay\" expand=\"0\" fill=\"0\"/>"
"<value param=\"perc_fm_decay\"/>"
"</vbox>"
+ "<vbox attach-x=\"4\" attach-y=\"1\">"
+ "<label param=\"perc_vel2fm\"/>"
+ "<knob param=\"perc_vel2fm\" expand=\"0\" fill=\"0\"/>"
+ "<value param=\"perc_vel2fm\"/>"
+ "</vbox>"
"</table>"
"<vbox>"
"<hbox>"
@@ -327,13 +337,6 @@ const char *organ_audio_module::get_gui_xml()
"<combo param=\"perc_trigger\"/>"
"</vbox>"
"</hbox>"
- "<hbox>"
- "<vbox>"
- "<label param=\"perc_vel2amp\"/>"
- "<knob param=\"perc_vel2amp\" expand=\"0\" fill=\"0\"/>"
- "<value param=\"perc_vel2amp\"/>"
- "</vbox>"
- "</hbox>"
"</vbox>"
"</hbox>"
"</vbox>"
@@ -506,14 +509,15 @@ parameter_properties organ_audio_module::param_props[] = {
{ 0.25, 0, 1, 100, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB, NULL, "perc_level", "P: Level" },
{ 2, 0, organ_voice_base::wave_count_small - 1, 1, PF_ENUM | PF_CTL_COMBO, organ_wave_names, "perc_waveform", "P: Carrier Wave" },
{ 2, 1, 32, 32, PF_INT | PF_SCALE_LINEAR | PF_CTL_KNOB, NULL, "perc_harmonic", "P: Carrier Frq" },
+ { 0, 0, 1, 0, PF_FLOAT | PF_SCALE_PERC, NULL, "perc_vel2amp", "P: Vel->Amp" },
{ 200, 10, 3000, 100, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "perc_fm_decay", "P: Modulator Decay" },
- { 0, 0, 4, 0, PF_FLOAT | PF_SCALE_PERC, NULL, "perc_fm_depth", "P: FM Depth" },
+ { 1, 0, 4, 0, PF_FLOAT | PF_SCALE_PERC, NULL, "perc_fm_depth", "P: FM Depth" },
{ 2, 0, organ_voice_base::wave_count_small - 1, 1, PF_ENUM | PF_CTL_COMBO, organ_wave_names, "perc_fm_waveform", "P: Modulator Wave" },
{ 2, 1, 32, 32, PF_INT | PF_SCALE_LINEAR | PF_CTL_KNOB, NULL, "perc_fm_harmonic", "P: Modulator Frq" },
+ { 0, 0, 1, 0, PF_FLOAT | PF_SCALE_PERC, NULL, "perc_vel2fm", "P: Vel->FM" },
{ 0, 0, organ_voice_base::perctrig_count - 1, 0, PF_ENUM | PF_CTL_COMBO, organ_percussion_trigger_names, "perc_trigger", "P: Trigger" },
- { 0, 0, 1, 0, PF_FLOAT | PF_SCALE_PERC, NULL, "perc_vel2amp", "P: Vel->Amp" },
{ 0, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "filter_chain", "Filter 1 To 2" },
{ 0.1, 0, 1, 100, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_PROP_OUTPUT_GAIN, NULL, "master", "Volume" },
@@ -1180,7 +1184,7 @@ void percussion_voice::note_on(int note, int vel)
break;
}
}
- fm_amp.set(fm_keytrack * (1.0f + (vel - 127) * parameters->percussion_vel2amp / 127.0));
+ fm_amp.set(fm_keytrack * (1.0f + (vel - 127) * parameters->percussion_vel2fm / 127.0));
}
void percussion_voice::render_to(float (*buf)[2], int nsamples)
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list