- Gtk::Adjustment* adjustment = manage(new Gtk::Adjustment(param.normal(), param.min(), param.max()));
- if (!ac) {
- PBD::warning << "Creating AutomationController for " << param.symbol() << endmsg;
- ac = boost::dynamic_pointer_cast<AutomationControl>(parent->control_factory(param));
- } else {
- assert(ac->parameter() == param);
- }
- return boost::shared_ptr<AutomationController>(new AutomationController(ac, adjustment));
+ Gtk::Adjustment* adjustment = manage (
+ new Gtk::Adjustment (
+ ac->internal_to_interface (param.normal()),
+ ac->internal_to_interface (param.min()),
+ ac->internal_to_interface (param.max()),
+ (param.max() - param.min()) / 100.0,
+ (param.max() - param.min()) / 10.0
+ )
+ );
+
+ assert (ac);
+ assert(ac->parameter() == param);
+ return boost::shared_ptr<AutomationController>(new AutomationController(printer, ac, adjustment));