diff --git a/src/effects/Silence.cpp b/src/effects/Silence.cpp index 460f505ed..6289f6f81 100644 --- a/src/effects/Silence.cpp +++ b/src/effects/Silence.cpp @@ -26,6 +26,7 @@ #include "Silence.h" #include "../WaveTrack.h" #include "../TimeDialog.h" +#include "../Prefs.h" bool EffectSilence::PromptUser() { @@ -37,9 +38,9 @@ bool EffectSilence::PromptUser() // there is a selection: let's fit in there... mDuration = mT1 - mT0; dlog.SetFormatString(_("hh:mm:ss + samples")); - } else { - // retrieve last used values + // Retrieve last used values + gPrefs->Read(wxT("/Effects/SilenceGen/Duration"), &mDuration, 30L); dlog.SetFormatString(_("seconds")); } dlog.SetTimeValue(mDuration); @@ -48,6 +49,11 @@ bool EffectSilence::PromptUser() return false; mDuration = dlog.GetTimeValue(); + /* Save last used values. + Save duration unless value was got from selection, so we save only + when user explicitly set up a value */ + if (mT1 == mT0) + gPrefs->Write(wxT("/Effects/SilenceGen/Duration"), mDuration); return true; } diff --git a/src/effects/ToneGen.cpp b/src/effects/ToneGen.cpp index c74dcc795..c148504df 100644 --- a/src/effects/ToneGen.cpp +++ b/src/effects/ToneGen.cpp @@ -29,6 +29,7 @@ frequency changes smoothly during the tone. #include "../Project.h" #include "../ShuttleGui.h" #include "../WaveTrack.h" +#include "../Prefs.h" #include #include @@ -79,7 +80,11 @@ bool EffectToneGen::PromptUser() mDuration = mT1 - mT0; dlog.isSelection= true; } - + else { + // Retrieve last used values + gPrefs->Read(wxT("/Effects/ToneGen/Duration"), &mDuration, 30L); + } + dlog.mbChirp = mbChirp; dlog.waveform = waveform; dlog.frequency[0] = frequency[0]; @@ -114,6 +119,11 @@ bool EffectToneGen::PromptUser() amplitude[1] = amplitude[0]; } mDuration = dlog.mDuration; + /* Save last used values. + Save duration unless value was got from selection, so we save only + when user explicitly set up a value */ + if (mT1 == mT0) + gPrefs->Write(wxT("/Effects/ToneGen/Duration"), mDuration); return true; }