+/** Get the current effective `user' value based on automation state */
+double
+SlavableAutomationControl::get_value() const
+{
+ bool from_list = _list && boost::dynamic_pointer_cast<AutomationList>(_list)->automation_playback();
+
+ Glib::Threads::RWLock::ReaderLock lm (master_lock);
+ if (!from_list) {
+ return get_value_locked ();
+ } else {
+ return Control::get_double (true, _session.transport_frame()) * get_masters_value_locked();
+ }
+}
+