summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/automation_controller.cc27
-rw-r--r--gtk2_ardour/generic_pluginui.cc8
-rw-r--r--gtk2_ardour/processor_box.cc10
3 files changed, 20 insertions, 25 deletions
diff --git a/gtk2_ardour/automation_controller.cc b/gtk2_ardour/automation_controller.cc
index 3174980a7b..77b8d39406 100644
--- a/gtk2_ardour/automation_controller.cc
+++ b/gtk2_ardour/automation_controller.cc
@@ -69,18 +69,19 @@ AutomationController::create(
const Evoral::Parameter& param,
boost::shared_ptr<AutomationControl> ac)
{
+ double const lo = ac->internal_to_interface(param.min());
+ double const up = ac->internal_to_interface(param.max());
Gtk::Adjustment* adjustment = manage (
- new Gtk::Adjustment (
- param.normal(),
- param.min(),
- param.max(),
- (param.max() - param.min()) / 100.0,
- (param.max() - param.min()) / 10.0
- )
- );
-
- assert (ac);
- assert(ac->parameter() == param);
+ new Gtk::Adjustment (
+ ac->internal_to_interface(param.normal()),
+ lo, up,
+ // TODO we should use explicit step-sizes if provided by Plugin::ParameterDescriptor
+ (up - lo) / 100, (up - lo) / 10
+ )
+ );
+
+ assert (ac);
+ assert(ac->parameter() == param);
return boost::shared_ptr<AutomationController>(new AutomationController(printer, ac, adjustment));
}
@@ -94,7 +95,7 @@ AutomationController::get_label (double& xpos)
void
AutomationController::display_effective_value()
{
- double const interface_value = _controllable->get_value();
+ double const interface_value = _controllable->internal_to_interface(_controllable->get_value());
if (_adjustment->get_value () != interface_value) {
_ignore_change = true;
@@ -107,7 +108,7 @@ void
AutomationController::value_adjusted ()
{
if (!_ignore_change) {
- _controllable->set_value (_adjustment->get_value());
+ _controllable->set_value (_controllable->interface_to_internal(_adjustment->get_value()));
}
}
diff --git a/gtk2_ardour/generic_pluginui.cc b/gtk2_ardour/generic_pluginui.cc
index f6029ecb0c..feea27b0b9 100644
--- a/gtk2_ardour/generic_pluginui.cc
+++ b/gtk2_ardour/generic_pluginui.cc
@@ -662,12 +662,6 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
Adjustment* adj = control_ui->controller->adjustment();
boost::shared_ptr<PluginInsert::PluginControl> pc = boost::dynamic_pointer_cast<PluginInsert::PluginControl> (control_ui->control);
- adj->set_lower (desc.lower);
- adj->set_upper (desc.upper);
-
- adj->set_step_increment (desc.step);
- adj->set_page_increment (desc.largestep);
-
if (desc.integer_step) {
control_ui->clickbox = new ClickBox (adj, "PluginUIClickBox");
Gtkmm2ext::set_size_request_to_display_given_text (*control_ui->clickbox, "g9999999", 2, 2);
@@ -687,7 +681,7 @@ GenericPluginUI::build_control_ui (guint32 port_index, boost::shared_ptr<Automat
}
- adj->set_value (plugin->get_parameter (port_index));
+ adj->set_value (mcontrol->internal_to_interface(plugin->get_parameter (port_index)));
/* XXX memory leak: SliderController not destroyed by ControlUI
destructor, and manage() reports object hierarchy
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 12ae5af4bc..1fdad0801d 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -522,14 +522,14 @@ ProcessorEntry::Control::Control (boost::shared_ptr<AutomationControl> c, string
box.add (_slider);
_slider.show ();
- double const lo = c->lower ();
- double const up = c->upper ();
+ double const lo = c->internal_to_interface(c->lower ());
+ double const up = c->internal_to_interface(c->upper ());
_adjustment.set_lower (lo);
_adjustment.set_upper (up);
_adjustment.set_step_increment ((up - lo) / 100);
_adjustment.set_page_increment ((up - lo) / 10);
- _slider.set_default_value (c->normal ());
+ _slider.set_default_value (c->internal_to_interface(c->normal ()));
_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &Control::slider_adjusted));
c->Changed.connect (_connection, MISSING_INVALIDATOR, boost::bind (&Control::control_changed, this), gui_context ());
@@ -581,7 +581,7 @@ ProcessorEntry::Control::slider_adjusted ()
return;
}
- c->set_value ( _adjustment.get_value () );
+ c->set_value ( c->interface_to_internal(_adjustment.get_value ()) );
set_tooltip ();
}
@@ -617,7 +617,7 @@ ProcessorEntry::Control::control_changed ()
} else {
- _adjustment.set_value (c->get_value ());
+ _adjustment.set_value (c->internal_to_interface(c->get_value ()));
stringstream s;
s.precision (1);