[SCM] calf/master: Filterclavier: added transpose knob
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:38:57 UTC 2013
The following commit has been merged in the master branch:
commit c5d73cd14ff974307abbd06c1ca9205781231ef2
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 9934c6d..990924e 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -124,10 +124,11 @@ 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, 97, PF_INT | 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" },
- { 20, 5, 100, 20, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "inertia", "Inertia"},
+ { 20, 5, 100, 20, PF_FLOAT | PF_SCALE_LOG | PF_CTL_KNOB | PF_UNIT_MSEC, NULL, "inertia", "Inertia"},
};
CALF_PLUGIN_INFO(filterclavier) = { 0x849f, "Filterclavier", "Calf Filterclavier", "Krzysztof Foltman / Hans Baier", calf_plugins::calf_copyright_info, "FilterclavierPlugin" };
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list