[SCM] calf/master: + Monosynth: add pitch bend range knob
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:39:20 UTC 2013
The following commit has been merged in the master branch:
commit f6c936aac17c7656011bfe8e567af90cdb2c4a51
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Sat Feb 7 21:54:01 2009 +0000
+ Monosynth: add pitch bend range knob
diff --git a/gui/gui-monosynth.xml b/gui/gui-monosynth.xml
index a6e978c..ce51447 100644
--- a/gui/gui-monosynth.xml
+++ b/gui/gui-monosynth.xml
@@ -68,6 +68,11 @@
<knob type="1" param="filter_sep"/>
<value param="filter_sep"/>
</vbox>
+ <vbox>
+ <label param="key_follow"/>
+ <knob param="key_follow"/>
+ <value param="key_follow"/>
+ </vbox>
</hbox>
</vbox>
</frame>
@@ -154,9 +159,9 @@
<vbox border="10" spacing="10">
<hbox>
<vbox>
- <label param="key_follow"/>
- <knob param="key_follow"/>
- <value param="key_follow"/>
+ <label param="pwhl_range"/>
+ <knob param="pwhl_range"/>
+ <value param="pwhl_range"/>
</vbox>
<vbox>
<label param="legato" expand="0"/>
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index 611e0f4..5595201 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -98,7 +98,7 @@ struct monosynth_metadata: public plugin_metadata<monosynth_metadata>
enum { wave_saw, wave_sqr, wave_pulse, wave_sine, wave_triangle, wave_varistep, wave_skewsaw, wave_skewsqr, wave_test1, wave_test2, wave_test3, wave_test4, wave_test5, wave_test6, wave_test7, wave_test8, wave_count };
enum { flt_lp12, flt_lp24, flt_2lp12, flt_hp12, flt_lpbr, flt_hpbr, flt_bp6, flt_2bp6 };
enum { par_wave1, par_wave2, par_detune, par_osc2xpose, par_oscmode, par_oscmix, par_filtertype, par_cutoff, par_resonance, par_cutoffsep, par_envmod, par_envtores, par_envtoamp, par_attack, par_decay, par_sustain, par_release,
- par_keyfollow, par_legato, par_portamento, par_vel2filter, par_vel2amp, par_master,
+ par_keyfollow, par_legato, par_portamento, par_vel2filter, par_vel2amp, par_master, par_pwhlrange,
par_lforate, par_lfodelay, par_lfofilter, par_lfopitch, par_lfopw, par_mwhl_lfo,
param_count };
enum { in_count = 0, out_count = 2, support_midi = true, require_midi = true, rt_capable = true };
diff --git a/src/calf/modules_synths.h b/src/calf/modules_synths.h
index f35fa49..66b79a7 100644
--- a/src/calf/modules_synths.h
+++ b/src/calf/modules_synths.h
@@ -79,7 +79,7 @@ public:
/// Handle pitch bend message.
inline void pitch_bend(int value)
{
- inertia_pitchbend.set_inertia(pow(2.0, value / 8192.0));
+ inertia_pitchbend.set_inertia(pow(2.0, (value * *params[par_pwhlrange]) / (1200.0 * 8192.0)));
}
/// Update oscillator frequency based on base frequency, detune amount, pitch bend scaling factor and sample rate.
inline void set_frequency()
diff --git a/src/modules.cpp b/src/modules.cpp
index fa06387..6c48a9e 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -285,6 +285,8 @@ CALF_PORT_PROPS(monosynth) = {
{ 0.5, 0, 1, 100, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_PROP_OUTPUT_GAIN, NULL, "master", "Volume" },
+ { 200, -2400, 2400, 49, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "pwhl_range", "PWheel Range" },
+
{ 5, 0.01, 20, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_HZ, NULL, "lfo_rate", "LFO Rate" },
{ 0.5, 0.1, 5, 0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_SEC, NULL, "lfo_delay", "LFO Delay" },
{ 0, -4800, 4800, 0, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "lfo2filter", "LFO->Filter" },
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list