}
boost::shared_ptr<AutomationController>
-AutomationController::create(Session& s, boost::shared_ptr<AutomationList> al, boost::shared_ptr<AutomationControl> ac)
+AutomationController::create(boost::shared_ptr<Automatable> parent, boost::shared_ptr<AutomationList> al, boost::shared_ptr<AutomationControl> ac)
{
Gtk::Adjustment* adjustment = manage(new Gtk::Adjustment(al->default_value(), al->get_min_y(), al->get_max_y()));
if (!ac) {
PBD::warning << "Creating AutomationController for " << al->parameter().to_string() << endmsg;
- ac = boost::shared_ptr<AutomationControl>(new AutomationControl(s, al));
+ ac = parent->control_factory(al);
}
return boost::shared_ptr<AutomationController>(new AutomationController(ac, adjustment));
}
{
if (label && label_len)
// Hack to display CC rounded to int
- if (_controllable->list()->parameter().type() == MidiCCAutomation)
+ if (_controllable->parameter().type() == MidiCCAutomation)
snprintf(label, label_len, "%d", (int)_controllable->get_value());
else
snprintf(label, label_len, "%.3f", _controllable->get_value());