diff --git a/src/surge-xt/gui/widgets/LFOAndStepDisplay.cpp b/src/surge-xt/gui/widgets/LFOAndStepDisplay.cpp index 095c5695776..6b09edafc0c 100644 --- a/src/surge-xt/gui/widgets/LFOAndStepDisplay.cpp +++ b/src/surge-xt/gui/widgets/LFOAndStepDisplay.cpp @@ -463,6 +463,24 @@ bool LFOAndStepDisplay::paramsHasChanged() ++p; }; + if (lfodata->rate.deactivated != settingsFromLastDrawCall[0].b) + { + settingsFromLastDrawCall[0].b = lfodata->rate.deactivated; + hasChanged = true; + } + + if (lfodata->deform.deform_type != paramsFromLastDrawCall[1].i) + { + paramsFromLastDrawCall[1].i = lfodata->deform.deform_type; + hasChanged = true; + } + + if (lfodata->rate.temposync != paramsFromLastDrawCall[2].b) + { + paramsFromLastDrawCall[2].b = lfodata->rate.temposync; + hasChanged = true; + } + if (lfoStorageFromLastDrawingCall != lfodata) hasChanged = true; @@ -1728,6 +1746,7 @@ void LFOAndStepDisplay::onSkinChanged() { return; } + forceRepaint = true; auto typesWithHover = skin->standardHoverAndHoverOnForIDB(IDB_LFO_TYPE, associatedBitmapStore); typeImg = typesWithHover[0]; typeImgHover = typesWithHover[1]; diff --git a/src/surge-xt/gui/widgets/LFOAndStepDisplay.h b/src/surge-xt/gui/widgets/LFOAndStepDisplay.h index 27086d26039..32224a1b401 100644 --- a/src/surge-xt/gui/widgets/LFOAndStepDisplay.h +++ b/src/surge-xt/gui/widgets/LFOAndStepDisplay.h @@ -63,6 +63,7 @@ struct LFOAndStepDisplay : public juce::Component, bool forceRepaint; LFOStorage *lfoStorageFromLastDrawingCall; pdata paramsFromLastDrawCall[n_scene_params]; + pdata settingsFromLastDrawCall[8]; int zoomFactorFromLastDrawCall; bool paramsHasChanged();