[SCM] calf/master: Filterclavier: added transpose knob

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:38:59 UTC 2013


The following commit has been merged in the master branch:
commit 36410c52bddec3ae62b556a0588045a962c1b894
Author: Hans Baier <hansfbaier at googlemail.com>
Date:   Thu Jan 22 07:06:28 2009 +0700

    Filterclavier: added transpose knob

diff --git a/gui/gui-filterclavier.xml b/gui/gui-filterclavier.xml
index a5f137f..7adfc2f 100644
--- a/gui/gui-filterclavier.xml
+++ b/gui/gui-filterclavier.xml
@@ -11,6 +11,11 @@
             <value param="freq" />
         </vbox>
         <vbox border="10">
+            <label param="transpose" />
+            <knob param="transpose" type="1"/>
+            <value param="transpose" />
+        </vbox>
+        <vbox border="10">
             <label param="detune" />
             <knob param="detune" type="1"/>
             <value param="detune" />
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index a92aa4c..6016b28 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -96,7 +96,7 @@ struct monosynth_metadata: public plugin_metadata<monosynth_metadata>
 /// Filterclavier - metadata
 struct filterclavier_metadata: public plugin_metadata<filterclavier_metadata>
 {
-    enum { par_cutoff, par_detune, par_resonance, par_mode, par_inertia,  param_count };
+    enum { par_cutoff, par_transpose, par_detune, par_resonance, par_mode, par_inertia,  param_count };
     enum { in_count = 2, out_count = 2, rt_capable = true, require_midi = false, support_midi = true };
     PLUGIN_NAME_ID_LABEL("filterclavier", "filterclavier", "Filterclavier")
     /// do not export mode and inertia as CVs, as those are settings and not parameters
diff --git a/src/calf/modules_dev.h b/src/calf/modules_dev.h
index 35a3f34..f9a0eea 100644
--- a/src/calf/modules_dev.h
+++ b/src/calf/modules_dev.h
@@ -61,7 +61,8 @@ class filterclavier_audio_module:
         /// MIDI control
         virtual void note_on(int note, int vel)
         {
-            inertia_filter_module::inertia_cutoff.set_inertia(note_to_hz(note, *params[par_detune]));
+            inertia_filter_module::inertia_cutoff.set_inertia(
+                    note_to_hz(note + *params[par_transpose], *params[par_detune]));
             inertia_filter_module::inertia_resonance.set_inertia( 
                     (float(vel) / 127.0) * (param_props[par_resonance].max - param_props[par_resonance].min)
                     + param_props[par_resonance].min);
diff --git a/src/modules.cpp b/src/modules.cpp
index e4b6f00..30e5bdc 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -124,6 +124,7 @@ const char *filterclavier_choices[] = {
 
 CALF_PORT_PROPS(filterclavier) = {
     { 2000,      10,20000,    0, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_HZ | PF_PROP_GRAPH, NULL, "freq", "Frequency" },
+    { 0,        -48,   48,    0, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_SEMITONES, NULL, "transpose", "Transpose" },
     { 0,       -100,  100,    0, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "detune", "Detune" },
     { 0.707,  0.707,   32,    0, PF_FLOAT | PF_SCALE_GAIN | PF_CTL_KNOB | PF_UNIT_COEF, NULL, "res", "Resonance" },
     { 0,          0,    5,    1, PF_ENUM | PF_CTL_COMBO, filterclavier_choices, "mode", "Mode" },

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list