[SCM] calf/master: Implement double-click on a knob to set default value.

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:41:17 UTC 2013


The following commit has been merged in the master branch:
commit 302ef53e583da9e403bc397691952b54ba6bcf73
Author: Hans Baier <hansfbaier at googlemail.com>
Date:   Sat Oct 6 17:32:02 2012 +0100

    Implement double-click on a knob to set default value.

diff --git a/src/calf/ctl_knob.h b/src/calf/ctl_knob.h
index 77938a4..ba72cbf 100644
--- a/src/calf/ctl_knob.h
+++ b/src/calf/ctl_knob.h
@@ -38,7 +38,7 @@ struct CalfKnob
     GtkRange parent;
     int knob_type;
     int knob_size;
-    double start_x, start_y, last_y, start_value;
+    double start_x, start_y, last_y, start_value, default_value;
 };
 
 struct CalfKnobClass
diff --git a/src/ctl_knob.cpp b/src/ctl_knob.cpp
index 84935ea..d223206 100644
--- a/src/ctl_knob.cpp
+++ b/src/ctl_knob.cpp
@@ -168,6 +168,10 @@ calf_knob_button_press (GtkWidget *widget, GdkEventButton *event)
     g_assert(CALF_IS_KNOB(widget));
     CalfKnob *self = CALF_KNOB(widget);
 
+    if (event->type == GDK_2BUTTON_PRESS) {
+        gtk_range_set_value(GTK_RANGE(widget), self->default_value);
+    }
+
     // CalfKnob *lg = CALF_KNOB(widget);
     gtk_widget_grab_focus(widget);
     gtk_grab_add(widget);
@@ -182,6 +186,7 @@ static gboolean
 calf_knob_button_release (GtkWidget *widget, GdkEventButton *event)
 {
     g_assert(CALF_IS_KNOB(widget));
+    CalfKnob *self = CALF_KNOB(widget);
 
     if (GTK_WIDGET_HAS_GRAB(widget))
         gtk_grab_remove(widget);
diff --git a/src/gui_controls.cpp b/src/gui_controls.cpp
index 5a33651..335242d 100644
--- a/src/gui_controls.cpp
+++ b/src/gui_controls.cpp
@@ -708,6 +708,7 @@ GtkWidget *knob_param_control::create(plugin_gui *_gui, int _param_no)
     widget = calf_knob_new();
     float increment = props.get_increment();
     gtk_range_get_adjustment(GTK_RANGE(widget))->step_increment = increment;
+    CALF_KNOB(widget)->default_value = props.to_01(props.def_value);
     CALF_KNOB(widget)->knob_type = get_int("type");
     CALF_KNOB(widget)->knob_size = get_int("size", 2);
     if(CALF_KNOB(widget)->knob_size > 5) {

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list