From 0b2af5b9b89f2cda6921b82517f4560b91ef05c2 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 5 Sep 2015 17:25:59 +0200 Subject: [PATCH] fix log-scale for automation lanes. --- gtk2_ardour/automation_line.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc index b0e4f3573e..7ea3ff027c 100644 --- a/gtk2_ardour/automation_line.cc +++ b/gtk2_ardour/automation_line.cc @@ -1194,12 +1194,12 @@ AutomationLine::view_to_model_coord_y (double& y) const */ if ( alist->parameter().type() == GainAutomation || alist->parameter().type() == EnvelopeAutomation - || (_desc.unit == ParameterDescriptor::DB && _desc.lower == 0.)) { + || (_desc.logarithmic && _desc.lower == 0. && _desc.upper > _desc.lower)) { y = slider_position_to_gain_with_max (y, _desc.upper); y = max ((double)_desc.lower, y); y = min ((double)_desc.upper, y); } else if (alist->parameter().type() == TrimAutomation - || (_desc.unit == ParameterDescriptor::DB && _desc.lower > 0 && _desc.upper > _desc.lower)) { + || (_desc.logarithmic && _desc.lower * _desc.upper > 0 && _desc.upper > _desc.lower)) { const double lower_db = accurate_coefficient_to_dB (_desc.lower); const double range_db = accurate_coefficient_to_dB (_desc.upper) - lower_db; y = max (0.0, y); @@ -1226,10 +1226,10 @@ AutomationLine::model_to_view_coord_y (double& y) const /* TODO: This should be more generic (use ParameterDescriptor) */ if ( alist->parameter().type() == GainAutomation || alist->parameter().type() == EnvelopeAutomation - || (_desc.unit == ParameterDescriptor::DB && _desc.lower == 0.)) { + || (_desc.logarithmic && _desc.lower == 0. && _desc.upper > _desc.lower)) { y = gain_to_slider_position_with_max (y, Config->get_max_gain()); } else if (alist->parameter().type() == TrimAutomation - || (_desc.unit == ParameterDescriptor::DB && _desc.lower > 0 && _desc.upper > _desc.lower)) { + || (_desc.logarithmic && _desc.lower * _desc.upper > 0 && _desc.upper > _desc.lower)) { const double lower_db = accurate_coefficient_to_dB (_desc.lower); const double range_db = accurate_coefficient_to_dB (_desc.upper) - lower_db; y = (accurate_coefficient_to_dB (y) - lower_db) / range_db;