[SCM] calf/master: + Knob: implement dead zone for bipolar knobs + Organ: use bipolar knobs for transpose and detune

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:37:29 UTC 2013


The following commit has been merged in the master branch:
commit f56a5ab87605ce5af88374fc8001c905b6957b1c
Author: kfoltman <kfoltman at 78b06b96-2940-0410-b7fc-879d825d01d8>
Date:   Wed Aug 6 22:20:53 2008 +0000

    + Knob: implement dead zone for bipolar knobs
    + Organ: use bipolar knobs for transpose and detune
    
    
    git-svn-id: https://calf.svn.sourceforge.net/svnroot/calf/trunk@259 78b06b96-2940-0410-b7fc-879d825d01d8

diff --git a/src/custom_ctl.cpp b/src/custom_ctl.cpp
index 4097366..437ac8c 100644
--- a/src/custom_ctl.cpp
+++ b/src/custom_ctl.cpp
@@ -457,6 +457,23 @@ static inline float endless(float value)
         return fmod(1.f - fmod(1.f - value, 1.f), 1.f);
 }
 
+static inline float deadzone(float value, float incr)
+{
+    float dzw = 3 / 32.0;
+    if (value >= 0.501)
+        value += dzw;
+    if (value < 0.499)
+        value -= dzw;
+    
+    value += incr;
+    
+    if (value >= (0.5 - dzw) && value <= (0.5 + dzw))
+        return 0.5;
+    if (value < 0.5)
+        return value + dzw;
+    return value - dzw;
+}
+
 static gboolean
 calf_knob_pointer_motion (GtkWidget *widget, GdkEventMotion *event)
 {
@@ -470,6 +487,11 @@ calf_knob_pointer_motion (GtkWidget *widget, GdkEventMotion *event)
             gtk_range_set_value(GTK_RANGE(widget), endless(self->start_value - (event->y - self->start_y) / 100));
         }
         else
+        if (self->knob_type == 1)
+        {
+            gtk_range_set_value(GTK_RANGE(widget), deadzone(self->start_value, -(event->y - self->start_y) / 100));
+        }
+        else
         {
             gtk_range_set_value(GTK_RANGE(widget), self->start_value - (event->y - self->start_y) / 100);
         }
diff --git a/src/organ.cpp b/src/organ.cpp
index 1e55faf..dcf37ab 100644
--- a/src/organ.cpp
+++ b/src/organ.cpp
@@ -352,12 +352,12 @@ const char *organ_audio_module::get_gui_xml()
                         "<hbox>"
                             "<vbox>"
                                 "<label param=\"transpose\"/>"
-                                "<align><knob param=\"transpose\"/></align>"
+                                "<align><knob param=\"transpose\" type=\"1\"/></align>"
                                 "<value param=\"transpose\"/>"
                             "</vbox>"
                             "<vbox>"
                                 "<label param=\"detune\"/>"
-                                "<align><knob param=\"detune\"/></align>"
+                                "<align><knob param=\"detune\" type=\"1\"/></align>"
                                 "<value param=\"detune\"/>"
                             "</vbox>"
                             "<vbox>"

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list