Update of /cvsroot/audacity/audacity-src/src/effects
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv31176
Modified Files:
Equalization.cpp
Log Message:
Fix invalid memory reference and reindent.
Index: Equalization.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/Equalization.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- Equalization.cpp 16 May 2009 11:24:35 -0000 1.93
+++ Equalization.cpp 25 May 2009 11:18:59 -0000 1.94
@@ -2354,61 +2354,71 @@
void EqualizationDialog::EnvLogToLin(void)
{
- int numPoints = mLogEnvelope->GetNumberOfPoints();
- double *when = new double[ numPoints ];
- double *value = new double[ numPoints ];
+ int numPoints = mLogEnvelope->GetNumberOfPoints();
+ if( numPoints == 0 )
+ {
+ return;
+ }
- mLinEnvelope->Flatten(0.);
- mLinEnvelope->SetTrackLen(1.0);
- mLogEnvelope->GetPoints( when, value, numPoints );
- mLinEnvelope->Move(0., value[0]);
- double loLog = log10(20.);
- double hiLog = log10(mHiFreq);
- double denom = hiLog - loLog;
+ double *when = new double[ numPoints ];
+ double *value = new double[ numPoints ];
- for( int i=0; i < numPoints; i++)
- mLinEnvelope->Insert(pow( 10., ((when[i] * denom) + loLog))/mHiFreq ,
value[i]);
- mLinEnvelope->Move(1., value[numPoints-1]);
+ mLinEnvelope->Flatten(0.);
+ mLinEnvelope->SetTrackLen(1.0);
+ mLogEnvelope->GetPoints( when, value, numPoints );
+ mLinEnvelope->Move(0., value[0]);
+ double loLog = log10(20.);
+ double hiLog = log10(mHiFreq);
+ double denom = hiLog - loLog;
- delete [] when;
- delete [] value;
+ for( int i=0; i < numPoints; i++)
+ mLinEnvelope->Insert(pow( 10., ((when[i] * denom) + loLog))/mHiFreq ,
value[i]);
+ mLinEnvelope->Move(1., value[numPoints-1]);
+
+ delete [] when;
+ delete [] value;
}
void EqualizationDialog::EnvLinToLog(void)
{
- int numPoints = mLinEnvelope->GetNumberOfPoints();
- double *when = new double[ numPoints ];
- double *value = new double[ numPoints ];
+ int numPoints = mLinEnvelope->GetNumberOfPoints();
+ if( numPoints == 0 )
+ {
+ return;
+ }
+
+ double *when = new double[ numPoints ];
+ double *value = new double[ numPoints ];
- mLogEnvelope->Flatten(0.);
- mLogEnvelope->SetTrackLen(1.0);
- mLinEnvelope->GetPoints( when, value, numPoints );
- mLogEnvelope->Move(0., value[0]);
- double loLog = log10(20.);
- double hiLog = log10(mHiFreq);
- double denom = hiLog - loLog;
- bool changed = false;
+ mLogEnvelope->Flatten(0.);
+ mLogEnvelope->SetTrackLen(1.0);
+ mLinEnvelope->GetPoints( when, value, numPoints );
+ mLogEnvelope->Move(0., value[0]);
+ double loLog = log10(20.);
+ double hiLog = log10(mHiFreq);
+ double denom = hiLog - loLog;
+ bool changed = false;
- for( int i=0; i < numPoints; i++)
+ for( int i=0; i < numPoints; i++)
+ {
+ if( when[i]*mHiFreq >= 20 )
{
- if( when[i]*mHiFreq >= 20 )
- {
- mLogEnvelope->Insert((log10(when[i]*mHiFreq)-loLog)/denom ,
value[i]);
- }
- else
- { //get the first point as close as we can to the last point
requested
- changed = true;
- double v = value[i];
- mLogEnvelope->Insert(0., v);
- }
+ mLogEnvelope->Insert((log10(when[i]*mHiFreq)-loLog)/denom , value[i]);
}
- mLogEnvelope->Move(1., value[numPoints-1]);
+ else
+ { //get the first point as close as we can to the last point requested
+ changed = true;
+ double v = value[i];
+ mLogEnvelope->Insert(0., v);
+ }
+ }
+ mLogEnvelope->Move(1., value[numPoints-1]);
- delete [] when;
- delete [] value;
+ delete [] when;
+ delete [] value;
- if(changed)
- EnvelopeUpdated(mLogEnvelope, false);
+ if(changed)
+ EnvelopeUpdated(mLogEnvelope, false);
}
void EqualizationDialog::ErrMin(void)
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs