set_style (BarController::LeftToRight);
set_use_parent (true);
- StartGesture.connect (mem_fun(*this, &AutomationController::start_touch));
- StopGesture.connect (mem_fun(*this, &AutomationController::end_touch));
+ StartGesture.connect (sigc::mem_fun(*this, &AutomationController::start_touch));
+ StopGesture.connect (sigc::mem_fun(*this, &AutomationController::end_touch));
_adjustment->signal_value_changed().connect (
- mem_fun(*this, &AutomationController::value_adjusted));
+ sigc::mem_fun(*this, &AutomationController::value_adjusted));
_screen_update_connection = ARDOUR_UI::RapidScreenUpdate.connect (
- mem_fun (*this, &AutomationController::display_effective_value));
+ sigc::mem_fun (*this, &AutomationController::display_effective_value));
- ac->Changed.connect (mem_fun(*this, &AutomationController::value_changed));
+ ac->Changed.connect (_changed_connection, boost::bind (&AutomationController::value_changed, this), gui_context());
}
AutomationController::~AutomationController()
void
AutomationController::automation_state_changed ()
{
- ENSURE_GUI_THREAD(mem_fun(*this, &AutomationController::automation_state_changed));
+ ENSURE_GUI_THREAD (*this, &AutomationController::automation_state_changed)
bool x = (_controllable->automation_state() != Off);
if (x) {
_screen_update_connection = ARDOUR_UI::RapidScreenUpdate.connect (
- mem_fun (*this, &AutomationController::display_effective_value));
+ sigc::mem_fun (*this, &AutomationController::display_effective_value));
}
}
void
AutomationController::value_changed ()
{
- Gtkmm2ext::UI::instance()->call_slot (
- mem_fun(*this, &AutomationController::display_effective_value));
+ Gtkmm2ext::UI::instance()->call_slot (boost::bind (&AutomationController::display_effective_value, this));
}
+/** Stop updating our value from our controllable */
+void
+AutomationController::stop_updating ()
+{
+ _screen_update_connection.disconnect ();
+}