summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/plugin_insert.cc3
-rw-r--r--libs/evoral/src/ControlList.cpp2
2 files changed, 4 insertions, 1 deletions
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;