diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 0c76b65c84..5dd35c881c 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -1212,6 +1212,9 @@ PluginInsert::PluginControl::PluginControl (PluginInsert* p, { if (alist()) { alist()->reset_default (desc.normal); + if (desc.toggled) { + list->set_interpolation(Evoral::ControlList::Discrete); + } } if (desc.toggled) { diff --git a/libs/evoral/src/ControlList.cpp b/libs/evoral/src/ControlList.cpp index 8c98491638..2113755874 100644 --- a/libs/evoral/src/ControlList.cpp +++ b/libs/evoral/src/ControlList.cpp @@ -54,7 +54,7 @@ double ControlList::_thinning_factor = 20.0; ControlList::ControlList (const Parameter& id) : _parameter(id) - , _interpolation(Linear) + , _interpolation(id.toggled() ? Discrete : Linear) , _curve(0) { _frozen = 0;