audacity/audacity-1.3.3-equalization.patch

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 {