Automatable::~Automatable ()
{
- {
- Glib::Threads::Mutex::Lock lm (_control_lock);
-
- for (Controls::const_iterator li = _controls.begin(); li != _controls.end(); ++li) {
- boost::dynamic_pointer_cast<AutomationControl>(li->second)->drop_references ();
- }
+ Glib::Threads::Mutex::Lock lm (_control_lock);
+ for (Controls::const_iterator li = _controls.begin(); li != _controls.end(); ++li) {
+ boost::dynamic_pointer_cast<AutomationControl>(li->second)->drop_references ();
}
}
ControlSet::clear_controls ();
}
-string
-Automatable::value_as_string (boost::shared_ptr<const AutomationControl> ac) const
-{
- return ARDOUR::value_as_string(ac->desc(), ac->get_value());
-}
-
bool
Automatable::find_next_event (double now, double end, Evoral::ControlEvent& next_event, bool only_active) const
{