[audacity] r12313 committed - Lasse suggested the change to the BUF_SIZE (on http://forum.audacityte...

Showing 1-1 of 1 messages
[audacity] r12313 committed - Lasse suggested the change to the BUF_SIZE (on http://forum.audacityte... auda...@googlecode.com 07/05/13 15:47
Revision: 12313
Author:   martynshaw99
Date:     Tue May  7 15:46:58 2013
Log:      Lasse suggested the change to the BUF_SIZE (on  
http://forum.audacityteam.org/viewtopic.php?f=50&t=72371 and Steve passed  
it on.  It improves the speed by an order of magnitude, or more.
Also made some int -> sampleCount changes as they looked dodgy.
And removed some compiler messages.
http://code.google.com/p/audacity/source/detail?r=12313

Modified:
  /audacity-src/trunk/src/effects/AutoDuck.cpp

=======================================
--- /audacity-src/trunk/src/effects/AutoDuck.cpp        Wed Aug  1 23:03:19 2012
+++ /audacity-src/trunk/src/effects/AutoDuck.cpp        Tue May  7 15:46:58 2013
@@ -46,7 +46,7 @@
   * Common constants
   */

-#define BUF_SIZE 4096 // number of samples to process at once
+#define BUF_SIZE 131072 // number of samples to process at once
  #define RMS_WINDOW_SIZE 100 // samples in circular RMS window buffer

  /*
@@ -214,7 +214,7 @@

  bool EffectAutoDuck::Process()
  {
-   int i;
+   sampleCount i;

     if (GetNumWaveTracks() == 0 || !mControlTrack)
        return false;
@@ -383,11 +383,11 @@
  {
     bool cancel = false;

-   int start = t->TimeToLongSamples(t0);
-   int end = t->TimeToLongSamples(t1);
+   sampleCount start = t->TimeToLongSamples(t0);
+   sampleCount end = t->TimeToLongSamples(t1);

     float *buf = new float[BUF_SIZE];
-   int pos = start;
+   sampleCount pos = start;

     int fadeDownSamples = t->TimeToLongSamples(
        mOuterFadeDownLen + mInnerFadeDownLen);
@@ -408,9 +408,9 @@
        if (len > BUF_SIZE)
           len = BUF_SIZE;

-      t->Get((samplePtr)buf, floatSample, pos, (sampleCount)len);
+      t->Get((samplePtr)buf, floatSample, pos, len);

-      for (int i = pos; i < pos + len; i++)
+      for (sampleCount i = pos; i < pos + len; i++)
        {
           float gainDown = fadeDownStep * (i - start);
           float gainUp = fadeUpStep * (end - i);;
@@ -426,7 +426,7 @@
           buf[i - pos] *= pow(10.0, gain / 20.0);
        }

-      t->Set((samplePtr)buf, floatSample, pos, (sampleCount)len);
+      t->Set((samplePtr)buf, floatSample, pos, len);

        pos += len;

@@ -563,7 +563,7 @@
     Center();
  }

-void EffectAutoDuckDialog::OnOk(wxCommandEvent& evt)
+void EffectAutoDuckDialog::OnOk(wxCommandEvent& WXUNUSED(event))
  {
     double duckAmountDb = 0, thresholdDb = 0;
     double innerFadeDownLen = 0, innerFadeUpLen = 0;
@@ -611,12 +611,12 @@
     EndModal(wxID_OK);
  }

-void EffectAutoDuckDialog::OnCancel(wxCommandEvent& evt)
+void EffectAutoDuckDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
  {
     EndModal(wxID_CANCEL);
  }

-void EffectAutoDuckDialog::OnValueChanged(wxCommandEvent& evt)
+void EffectAutoDuckDialog::OnValueChanged(wxCommandEvent& WXUNUSED(event))
  {
     mPanel->Refresh(false);
  }
@@ -687,7 +687,7 @@
     mControlPoints[duckAmount] = wxPoint(-100,-100);
  }

-void EffectAutoDuckPanel::OnPaint(wxPaintEvent& evt)
+void EffectAutoDuckPanel::OnPaint(wxPaintEvent& WXUNUSED(event))
  {
     int clientWidth, clientHeight;
     GetSize(&clientWidth, &clientHeight);
@@ -853,14 +853,14 @@
  }

  void EffectAutoDuckPanel::OnMouseCaptureChanged(
-   wxMouseCaptureChangedEvent &evt)
+   wxMouseCaptureChangedEvent& WXUNUSED(event))
  {
     SetCursor(wxNullCursor);
     mCurrentControlPoint = none;
  }

  void EffectAutoDuckPanel::OnMouseCaptureLost(
-   wxMouseCaptureLostEvent &evt)
+   wxMouseCaptureLostEvent& WXUNUSED(event))
  {
     mCurrentControlPoint = none;

@@ -909,7 +909,7 @@
     }
  }

-void EffectAutoDuckPanel::OnLeftUp(wxMouseEvent &evt)
+void EffectAutoDuckPanel::OnLeftUp(wxMouseEvent& WXUNUSED(event))
  {
     if (mCurrentControlPoint != none)
     {