Update of /cvsroot/audacity/audacity-src/src/effects
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv15467

Modified Files:
        Equalization.cpp Equalization.h 
Log Message:
Add a grid, and a check box to turn it on and off.

Index: Equalization.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/Equalization.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -d -r1.85 -r1.86
--- Equalization.cpp    31 Jan 2009 11:06:28 -0000      1.85
+++ Equalization.cpp    26 Feb 2009 00:41:06 -0000      1.86
@@ -328,6 +328,7 @@
    }
    gPrefs->Read(wxT("/CsPresets/EQDrawMode"), &mDrawMode, true);
    gPrefs->Read(wxT("/CsPresets/EQInterp"), &mInterp, 0);
+   gPrefs->Read(wxT("/CsPresets/EQDrawGrid"), &mDrawGrid, true);
 
    mPrompting = false;
 
@@ -375,6 +376,7 @@
    dlog.dBMax = mdBMax;
    dlog.drawMode = mDrawMode;
    dlog.interp = mInterp;
+   dlog.drawGrid = mDrawGrid;
    dlog.CentreOnParent();
 
    mPrompting = true;   // true when previewing, false in batch
@@ -391,6 +393,7 @@
    mdBMax = dlog.dBMax;
    mDrawMode = dlog.drawMode;
    mInterp = dlog.interp;
+   mDrawGrid = dlog.drawGrid;
 
    gPrefs->Write(wxT("/CsPresets/EQFilterLength"),mM);
    gPrefs->Write(wxT("/CsPresets/EQCurveName"),mCurveName);
@@ -399,6 +402,7 @@
    gPrefs->Write(wxT("/CsPresets/EQdBMax"),mdBMax);
    gPrefs->Write(wxT("/CsPresets/EQDrawMode"),mDrawMode);
    gPrefs->Write(wxT("/CsPresets/EQInterp"), mInterp);
+   gPrefs->Write(wxT("/CsPresets/EQDrawGrid"), mDrawGrid);
 
    return true;
 }
@@ -830,6 +834,12 @@
    if( mParent->mFaderOrDraw[0]->GetValue() )
       mEnvelope->Draw(memDC, mEnvRect, 0.0, mEnvRect.width, false, dBMin, 
dBMax);
 
+   if( mParent->drawGrid )
+   {
+      mParent->freqRuler->ruler.DrawGrid(memDC, mEnvRect.height+2, true, true, 
0, 1);
+      mParent->dBRuler->ruler.DrawGrid(memDC, mEnvRect.width+2, true, true, 1, 
2);
+   }
+
    dc.Blit(0, 0, mWidth, mHeight,
            &memDC, 0, 0, wxCOPY, FALSE);
 }
@@ -897,6 +907,7 @@
    EVT_RADIOBUTTON(drawRadioID, EqualizationDialog::OnDrawRadio)
    EVT_RADIOBUTTON(sliderRadioID, EqualizationDialog::OnSliderRadio)
    EVT_CHECKBOX(ID_LIN_FREQ, EqualizationDialog::OnLinFreq)
+   EVT_CHECKBOX(GridOnOffID, EqualizationDialog::OnGridOnOff)
 END_EVENT_TABLE()
 
 EqualizationDialog::EqualizationDialog(EffectEqualization * effect,
@@ -1276,6 +1287,11 @@
 
    btn = new wxButton( this, ID_CLEAR, _("Flat"));
    szrC->Add( btn, 0, wxALIGN_CENTRE | wxALL, 4 );
+   mGridOnOff = new wxCheckBox(this, GridOnOffID, _("Grids"),
+                            wxDefaultPosition, wxDefaultSize,
+                            wxALIGN_RIGHT);
+   mGridOnOff->SetName(_("Grids"));
+   szrC->Add( mGridOnOff, 0, wxALIGN_CENTRE | wxALL, 4 );
 
    szrV->Add( szrC, 0, wxALIGN_CENTER | wxALL, 0 );
 
@@ -1360,6 +1376,8 @@
    wxCommandEvent dummyEvent;
    OnLinFreq(dummyEvent);  // causes a CalcFilter
 
+   mGridOnOff->SetValue( drawGrid ); // checks/unchecks the box on the 
interface
+
    MSlider->SetValue((M-1)/2);
    M = 0;                        // force refresh in TransferDataFromWindow()
 
@@ -2688,6 +2706,15 @@
    //v Restore previous values?
 }
 
+void EqualizationDialog::OnGridOnOff(wxCommandEvent & WXUNUSED(event))
+{
+   if( mGridOnOff->IsChecked() )
+      drawGrid = true;
+   else
+      drawGrid = false;
+   mPanel->Refresh(false);
+}
+
 void EqualizationDialog::OnCancel(wxCommandEvent &event)
 {
    if(mLogEnvelope)

Index: Equalization.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/effects/Equalization.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- Equalization.h      30 Jan 2009 00:20:47 -0000      1.36
+++ Equalization.h      26 Feb 2009 00:41:06 -0000      1.37
@@ -129,6 +129,7 @@
    bool mDrawMode;
    int mInterp;
    bool mPrompting;
+   bool mDrawGrid;
 
 public:
    enum curveType {
@@ -238,6 +239,9 @@
    int bandsInUse;
    bool drawMode;
    int interp;
+   bool drawGrid;
+   RulerPanel *dBRuler;
+   RulerPanel *freqRuler;
 
 private:
    void MakeEqualizationDialog();
@@ -276,6 +280,7 @@
       sliderRadioID,
       ID_INTERP,
       ID_LIN_FREQ,
+      GridOnOffID,
       ID_SLIDER   // needs to come last
    };
 
@@ -303,7 +308,7 @@
    void OnPreview(wxCommandEvent &event);
    void OnOk( wxCommandEvent &event );
    void OnCancel( wxCommandEvent &event );
-
+   void OnGridOnOff( wxCommandEvent &event );
 private:
    EffectEqualization * m_pEffect;
 
@@ -329,8 +334,6 @@
    wxSlider *MSlider;
    wxSlider *dBMinSlider;
    wxSlider *dBMaxSlider;
-   RulerPanel *dBRuler;
-   RulerPanel *freqRuler;
    wxBoxSizer *szrC;
    wxBoxSizer *szrG;
    wxBoxSizer *szrV;
@@ -342,6 +345,7 @@
    wxBoxSizer *szr2;
    wxFlexGridSizer *szr1;
    wxSize size;
+   wxCheckBox *mGridOnOff;
 
    EQCurveArray mCurves;
 


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to