[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