diff --git a/Source/Processors/GenericProcessor/GenericProcessor.cpp b/Source/Processors/GenericProcessor/GenericProcessor.cpp index 374113930..b02717b38 100755 --- a/Source/Processors/GenericProcessor/GenericProcessor.cpp +++ b/Source/Processors/GenericProcessor/GenericProcessor.cpp @@ -557,6 +557,7 @@ void GenericProcessor::setParameter (int parameterIndex, float newValue) if (currentParameter != nullptr) { currentParameter->updateValue(); + currentParameter->logValueChange(); parameterValueChanged (currentParameter); } } diff --git a/Source/Processors/Parameter/Parameter.cpp b/Source/Processors/Parameter/Parameter.cpp index 5d8143230..321297b52 100755 --- a/Source/Processors/Parameter/Parameter.cpp +++ b/Source/Processors/Parameter/Parameter.cpp @@ -229,7 +229,7 @@ bool Parameter::ChangeValue::perform() { Parameter* p = Parameter::parameterMap[key]; - if (! p->isEnabled()) + if (! p->isEnabled() || p->currentValue == newValue) return false; p->newValue = newValue; @@ -237,9 +237,10 @@ bool Parameter::ChangeValue::perform() p->valueChanged(); - p->logValueChange(); - - return true; + if (p->currentValue == p->previousValue) + return false; + else + return true; } bool Parameter::ChangeValue::undo() @@ -251,7 +252,7 @@ bool Parameter::ChangeValue::undo() p->valueChanged(); - p->logValueChange(); + //p->logValueChange(); return true; } @@ -1338,7 +1339,6 @@ void SelectedStreamParameter::setStreamNames (Array streamNames_) { getOwner()->parameterChangeRequest (this); valueChanged(); - logValueChange(); } } @@ -1448,8 +1448,6 @@ bool TimeParameter::ChangeValue::perform() p->valueChanged(); - p->logValueChange(); - return true; } @@ -1463,8 +1461,6 @@ bool TimeParameter::ChangeValue::undo() p->valueChanged(); - p->logValueChange(); - return true; } diff --git a/Source/Processors/Parameter/Parameter.h b/Source/Processors/Parameter/Parameter.h index eec1ec63e..d24e31736 100755 --- a/Source/Processors/Parameter/Parameter.h +++ b/Source/Processors/Parameter/Parameter.h @@ -337,7 +337,7 @@ class PLUGIN_API Parameter void valueChanged(); /** Makes it possible to undo value changes */ - class ChangeValue : public UndoableAction + class PLUGIN_API ChangeValue : public UndoableAction { public: /** Constructor */