75 lines
1.8 KiB
Diff
75 lines
1.8 KiB
Diff
--- src/effects/Equalization.cpp
|
|
+++ src/effects/Equalization.cpp
|
|
@@ -321,6 +321,8 @@
|
|
}
|
|
gPrefs->Read(wxT("/CsPresets/EQDrawMode"), &mDrawMode, true);
|
|
gPrefs->Read(wxT("/CsPresets/EQInterp"), &mInterp, 0);
|
|
+
|
|
+ mPrompting = false;
|
|
}
|
|
|
|
|
|
@@ -358,7 +360,10 @@
|
|
// not required here - called automatically
|
|
// dlog.TransferDataToWindow();
|
|
dlog.CentreOnParent();
|
|
+
|
|
+ mPrompting = true;
|
|
dlog.ShowModal();
|
|
+ mPrompting = false;
|
|
|
|
if (!dlog.GetReturnCode())
|
|
return false;
|
|
@@ -419,7 +424,9 @@
|
|
|
|
bool EffectEqualization::Process()
|
|
{
|
|
- DontPromptUser();
|
|
+ if (!mPrompting) {
|
|
+ DontPromptUser();
|
|
+ }
|
|
TrackListIterator iter(mWaveTracks);
|
|
WaveTrack *track = (WaveTrack *) iter.First();
|
|
int count = 0;
|
|
@@ -601,7 +608,7 @@
|
|
mHeight = 0;
|
|
mLoFreq = loFreq;
|
|
mHiFreq = hiFreq;
|
|
- M = 0;
|
|
+ M = 21; // should be odd
|
|
mWindowSize = windowSize;
|
|
mFilterFuncR = filterFuncR;
|
|
mFilterFuncI = filterFuncI;
|
|
@@ -1333,7 +1340,7 @@
|
|
OnLinFreq(dummyEvent);
|
|
|
|
MSlider->SetValue((M-1)/2);
|
|
- M = 0; // force refresh in TransferDataFromWindow()
|
|
+ M = 21; // force refresh in TransferDataFromWindow()
|
|
|
|
dBMinSlider->SetValue((int)dBMin);
|
|
dBMin = 0; // force refresh in TransferDataFromWindow()
|
|
@@ -2530,11 +2537,11 @@
|
|
|
|
void EqualizationDialog::OnClear(wxCommandEvent &event)
|
|
{
|
|
+ EnvelopeUpdated();
|
|
mLogEnvelope->Flatten(0.);
|
|
mLogEnvelope->SetTrackLen(1.0);
|
|
mLinEnvelope->Flatten(0.);
|
|
mLinEnvelope->SetTrackLen(1.0);
|
|
- EnvelopeUpdated();
|
|
mPanel->RecalcRequired = true;
|
|
mPanel->Refresh(false);
|
|
if( !drawMode )
|
|
--- src/effects/Equalization.h
|
|
+++ src/effects/Equalization.h
|
|
@@ -124,6 +124,7 @@
|
|
double mdBMin;
|
|
bool mDrawMode;
|
|
int mInterp;
|
|
+ bool mPrompting;
|
|
|
|
public:
|
|
enum curveType {
|