[SCM] calf/master: + Organ: add pitch bend range knob
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:39:21 UTC 2013
The following commit has been merged in the master branch:
commit 47139b913a44b86d7f8cf0194e18ee0b266c0a28
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Sun Feb 8 13:46:23 2009 +0000
+ Organ: add pitch bend range knob
diff --git a/gui/gui-organ.xml b/gui/gui-organ.xml
index f945d5f..f5b08ba 100644
--- a/gui/gui-organ.xml
+++ b/gui/gui-organ.xml
@@ -543,6 +543,11 @@
<value param="detune"/>
</vbox>
<vbox>
+ <label param="pbend_range"/>
+ <knob param="pbend_range"/>
+ <value param="pbend_range"/>
+ </vbox>
+ <vbox>
<label param="foldnote"/>
<knob param="foldnote"/>
<value param="foldnote"/>
diff --git a/src/calf/metadata.h b/src/calf/metadata.h
index 5595201..248ea3b 100644
--- a/src/calf/metadata.h
+++ b/src/calf/metadata.h
@@ -142,6 +142,7 @@ struct organ_enums
par_transpose, par_detune,
par_polyphony,
par_quadenv,
+ par_pwhlrange,
par_var_mapcurve,
param_count
};
diff --git a/src/calf/organ.h b/src/calf/organ.h
index d4f8e9d..441a6c4 100644
--- a/src/calf/organ.h
+++ b/src/calf/organ.h
@@ -87,6 +87,8 @@ struct organ_parameters {
float quad_env;
+ float pitch_bend_range;
+
float dummy_mapcurve;
//////////////////////////////////////////////////////////////////////////
diff --git a/src/modules.cpp b/src/modules.cpp
index f3b646c..da48666 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -285,7 +285,7 @@ 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, "pbend_range", "PBend Range" },
+ { 200, 0, 2400, 25, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "pbend_range", "PBend 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" },
@@ -482,6 +482,8 @@ CALF_PORT_PROPS(organ) = {
{ 1, 0, 1, 0, PF_BOOL | PF_CTL_TOGGLE, NULL, "quad_env", "Quadratic AmpEnv" },
+ { 200, 0, 2400, 25, PF_FLOAT | PF_SCALE_LINEAR | PF_CTL_KNOB | PF_UNIT_CENTS, NULL, "pbend_range", "PBend Range" },
+
{ 0, 0, 0, 0, PF_STRING | PF_PROP_MSGCONTEXT, &organ_init_map_curve, "map_curve", "Key mapping curve" },
};
diff --git a/src/organ.cpp b/src/organ.cpp
index c20d174..7c384a6 100644
--- a/src/organ.cpp
+++ b/src/organ.cpp
@@ -741,7 +741,7 @@ void drawbar_organ::update_params()
void drawbar_organ::pitch_bend(int amt)
{
- parameters->pitch_bend = pow(2.0, amt * 2 / (12.0 * 8192));
+ parameters->pitch_bend = pow(2.0, (amt * parameters->pitch_bend_range) / (1200.0 * 8192.0));
for (list<voice *>::iterator i = active_voices.begin(); i != active_voices.end(); i++)
{
organ_voice *v = dynamic_cast<organ_voice *>(*i);
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list