summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_controller.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-28 18:40:23 -0500
committerDavid Robillard <d@drobilla.net>2014-11-28 18:40:23 -0500
commit55c616519bc4cc0ad0095ada7a0fc1909196818b (patch)
treefabd69a9793780e738a4765d8b863c1acce0faec /gtk2_ardour/automation_controller.h
parente3da7aff8c24213422c4fa4f60165aeb0643319f (diff)
Use a button as controller for toggled parameters.
Diffstat (limited to 'gtk2_ardour/automation_controller.h')
-rw-r--r--gtk2_ardour/automation_controller.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/automation_controller.h b/gtk2_ardour/automation_controller.h
index 8b00645c80..db79ac249e 100644
--- a/gtk2_ardour/automation_controller.h
+++ b/gtk2_ardour/automation_controller.h
@@ -43,7 +43,7 @@ namespace ARDOUR {
}
/** A BarController which displays the value and allows control of an AutomationControl */
-class AutomationController : public Gtkmm2ext::BarController {
+class AutomationController : public Gtk::Alignment {
public:
static boost::shared_ptr<AutomationController> create(
boost::shared_ptr<ARDOUR::Automatable> parent,
@@ -55,13 +55,19 @@ public:
boost::shared_ptr<ARDOUR::AutomationControl> controllable() { return _controllable; }
+ void disable_vertical_scroll();
+
Gtk::Adjustment* adjustment() { return _adjustment; }
+ Gtk::Widget* widget() { return _widget; }
void display_effective_value();
void value_adjusted();
void stop_updating ();
+ sigc::signal<void> StartGesture;
+ sigc::signal<void> StopGesture;
+
private:
AutomationController (boost::shared_ptr<ARDOUR::Automatable> printer,
boost::shared_ptr<ARDOUR::AutomationControl> ac,
@@ -70,6 +76,7 @@ private:
void start_touch();
void end_touch();
+ void toggled();
void run_note_select_dialog();
void set_ratio(double ratio);
@@ -78,12 +85,13 @@ private:
void value_changed();
- bool _ignore_change;
+ Gtk::Widget* _widget;
boost::shared_ptr<ARDOUR::Automatable> _printer;
boost::shared_ptr<ARDOUR::AutomationControl> _controllable;
Gtk::Adjustment* _adjustment;
sigc::connection _screen_update_connection;
PBD::ScopedConnection _changed_connection;
+ bool _ignore_change;
};