summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/automation_line.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index 2353b6c2fc..7e247044dd 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -1177,10 +1177,18 @@ AutomationLine::view_to_model_coord_y (double& y) const
{
if (alist->default_interpolation () != alist->interpolation()) {
switch (alist->interpolation()) {
+ case AutomationList::Discrete:
+ /* toggles and MIDI only -- see is_stepped() */
+ assert (alist->default_interpolation () == AutomationList::Linear);
+ break;
case AutomationList::Linear:
y = y * (_desc.upper - _desc.lower) + _desc.lower;
return;
default:
+ /* types that default to linear, can't be use
+ * Logarithmic or Exponential interpolation.
+ * "Curved" is invalid for automation (only x-fads)
+ */
assert (0);
break;
}
@@ -1211,10 +1219,18 @@ AutomationLine::model_to_view_coord_y (double& y) const
{
if (alist->default_interpolation () != alist->interpolation()) {
switch (alist->interpolation()) {
+ case AutomationList::Discrete:
+ /* toggles and MIDI only -- see is_stepped */
+ assert (alist->default_interpolation () == AutomationList::Linear);
+ break;
case AutomationList::Linear:
y = (y - _desc.lower) / (_desc.upper - _desc.lower);
return;
default:
+ /* types that default to linear, can't be use
+ * Logarithmic or Exponential interpolation.
+ * "Curved" is invalid for automation (only x-fads)
+ */
assert (0);
break;
}