Update of /cvsroot/audacity/audacity-src/src
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv2704
Modified Files:
WaveClip.cpp
Log Message:
Better fix for spectrum prefs bug: Make SpecCache remember min/max frequencies,
too.
Index: WaveClip.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/WaveClip.cpp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- WaveClip.cpp 2 Feb 2009 17:11:04 -0000 1.47
+++ WaveClip.cpp 5 Feb 2009 22:15:37 -0000 1.48
@@ -217,6 +217,8 @@
public:
SpecCache(int cacheLen, int half, bool autocorrelation)
{
+ minFreqOld = -1;
+ maxFreqOld = -1;
windowTypeOld = -1;
windowSizeOld = -1;
#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -237,6 +239,8 @@
delete[] where;
}
+ int minFreqOld;
+ int maxFreqOld;
int windowTypeOld;
int windowSizeOld;
#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -645,6 +649,8 @@
double t0, double pixelsPerSecond,
bool autocorrelation)
{
+ int minFreq = gPrefs->Read(wxT("/Spectrum/MinFreq"), 0L);
+ int maxFreq = gPrefs->Read(wxT("/Spectrum/MaxFreq"), 8000L);;
int windowType;
int windowSize = gPrefs->Read(wxT("/Spectrum/FFTSize"), 256);
#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -655,6 +661,8 @@
gPrefs->Read(wxT("/Spectrum/WindowType"), &windowType, 3);
if (mSpecCache &&
+ mSpecCache->minFreqOld == minFreq &&
+ mSpecCache->maxFreqOld == maxFreq &&
mSpecCache->windowTypeOld == windowType &&
mSpecCache->windowSizeOld == windowSize &&
#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -692,6 +700,8 @@
// with the current one, re-use as much of the cache as
// possible
if (oldCache->dirty == mDirty &&
+ oldCache->minFreqOld == minFreq &&
+ oldCache->maxFreqOld == maxFreq &&
oldCache->windowTypeOld == windowType &&
oldCache->windowSizeOld == windowSize &&
#ifdef EXPERIMENTAL_FFT_SKIP_POINTS
@@ -728,6 +738,8 @@
#else //!EXPERIMENTAL_FFT_SKIP_POINTS
float *buffer = new float[windowSize];
#endif //EXPERIMENTAL_FFT_SKIP_POINTS
+ mSpecCache->minFreqOld = minFreq;
+ mSpecCache->maxFreqOld = maxFreq;
mSpecCache->windowTypeOld = windowType;
mSpecCache->windowSizeOld = windowSize;
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs