From: drowe67 Date: Sun, 2 Dec 2012 10:39:21 +0000 (+0000) Subject: EQ enable and separate default buttons, ready to wire up real time code X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=c4848474de90ee48625e594ae3e4678a6f6a6ecc;p=freetel-svn-tracking.git EQ enable and separate default buttons, ready to wire up real time code git-svn-id: https://svn.code.sf.net/p/freetel/code@1111 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/src/dlg_filter.cpp b/fdmdv2/src/dlg_filter.cpp index 043dfaa4..e0874527 100644 --- a/fdmdv2/src/dlg_filter.cpp +++ b/fdmdv2/src/dlg_filter.cpp @@ -93,27 +93,43 @@ FilterDlg::FilterDlg(wxWindow* parent, bool running, wxWindowID id, const wxStri newLPCPFControl(&m_codec2LPCPostFilterBeta, &m_staticTextBeta, right, "Beta"); newLPCPFControl(&m_codec2LPCPostFilterGamma, &m_staticTextGamma, right, "Gamma"); lpcpfs->Add(right, 0, wxALL, 5); -#endif + m_LPCPostFilterDefault = new wxButton(this, wxID_ANY, wxT("Default")); + lpcpfs->Add(m_LPCPostFilterDefault, 0, wxALL|wxALIGN_CENTRE_HORIZONTAL|wxALIGN_CENTRE_VERTICAL, 5); +#endif bSizer30->Add(lpcpfs, 0, wxALL, 0); // EQ Filters ----------------------------------------------------------- wxStaticBoxSizer* eqMicInSizer = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, _("Mic In Equaliser")), wxVERTICAL); wxBoxSizer* eqMicInSizer1 = new wxBoxSizer(wxHORIZONTAL); + wxBoxSizer* eqMicInSizer2 = new wxBoxSizer(wxHORIZONTAL); m_MicInBass = newEQ(eqMicInSizer1, "Bass" , MAX_FREQ_BASS, disableQ); m_MicInTreble = newEQ(eqMicInSizer1, "Treble", MAX_FREQ_TREBLE, disableQ); eqMicInSizer->Add(eqMicInSizer1); - m_MicInMid = newEQ(eqMicInSizer, "Mid" , MAX_FREQ_DEF, enableQ); + + m_MicInEnable = new wxCheckBox(this, wxID_ANY, _("Enable"), wxDefaultPosition,wxDefaultSize, wxCHK_2STATE); + eqMicInSizer2->Add(m_MicInEnable,0,wxALIGN_CENTRE_VERTICAL|wxRIGHT,10); + m_MicInMid = newEQ(eqMicInSizer2, "Mid" , MAX_FREQ_DEF, enableQ); + m_MicInDefault = new wxButton(this, wxID_ANY, wxT("Default")); + eqMicInSizer2->Add(m_MicInDefault,0,wxALIGN_CENTRE_VERTICAL|wxLEFT,20); + eqMicInSizer->Add(eqMicInSizer2); wxStaticBoxSizer* eqSpkOutSizer = new wxStaticBoxSizer(new wxStaticBox(this, wxID_ANY, _("Speaker Out Equaliser")), wxVERTICAL); wxBoxSizer* eqSpkOutSizer1 = new wxBoxSizer(wxHORIZONTAL); + wxBoxSizer* eqSpkOutSizer2 = new wxBoxSizer(wxHORIZONTAL); m_SpkOutBass = newEQ(eqSpkOutSizer1, "Bass" , MAX_FREQ_BASS, disableQ); m_SpkOutTreble = newEQ(eqSpkOutSizer1, "Treble", MAX_FREQ_TREBLE, disableQ); eqSpkOutSizer->Add(eqSpkOutSizer1); - m_SpkOutMid = newEQ(eqSpkOutSizer, "Mid" , MAX_FREQ_DEF, enableQ); + + m_SpkOutEnable = new wxCheckBox(this, wxID_ANY, _("Enable"), wxDefaultPosition,wxDefaultSize, wxCHK_2STATE); + eqSpkOutSizer2->Add(m_SpkOutEnable,0,wxALIGN_CENTRE_VERTICAL|wxRIGHT,10); + m_SpkOutMid = newEQ(eqSpkOutSizer2, "Mid" , MAX_FREQ_DEF, enableQ); + m_SpkOutDefault = new wxButton(this, wxID_ANY, wxT("Default")); + eqSpkOutSizer2->Add(m_SpkOutDefault,0,wxALIGN_CENTRE_VERTICAL|wxLEFT,20); + eqSpkOutSizer->Add(eqSpkOutSizer2); bSizer30->Add(eqMicInSizer, 0, wxALL, 0); bSizer30->Add(eqSpkOutSizer, 0, wxALL, 0); @@ -145,9 +161,6 @@ FilterDlg::FilterDlg(wxWindow* parent, bool running, wxWindowID id, const wxStri // Default - Cancel - OK Buttons at the bottom -------------------------- wxBoxSizer* bSizer31 = new wxBoxSizer(wxHORIZONTAL); - m_sdbSizer5Default = new wxButton(this, wxID_ANY, wxT("Default")); - bSizer31->Add(m_sdbSizer5Default, 0, wxALL, 2); - m_sdbSizer5Cancel = new wxButton(this, wxID_CANCEL); bSizer31->Add(m_sdbSizer5Cancel, 0, wxALL, 2); m_sdbSizer5OK = new wxButton(this, wxID_OK); @@ -168,6 +181,7 @@ FilterDlg::FilterDlg(wxWindow* parent, bool running, wxWindowID id, const wxStri m_codec2LPCPostFilterBassBoost->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnBassBoost), NULL, this); m_codec2LPCPostFilterBeta->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnBetaScroll), NULL, this); m_codec2LPCPostFilterGamma->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnGammaScroll), NULL, this); + m_LPCPostFilterDefault->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnLPCPostFilterDefault), NULL, this); m_MicInBass.sliderFreq->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInBassFreqScroll), NULL, this); m_MicInBass.sliderGain->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInBassGainScroll), NULL, this); @@ -176,6 +190,8 @@ FilterDlg::FilterDlg(wxWindow* parent, bool running, wxWindowID id, const wxStri m_MicInMid.sliderFreq->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidFreqScroll), NULL, this); m_MicInMid.sliderGain->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidGainScroll), NULL, this); m_MicInMid.sliderQ->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidQScroll), NULL, this); + m_MicInEnable->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnMicInEnable), NULL, this); + m_MicInDefault->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnMicInDefault), NULL, this); m_SpkOutBass.sliderFreq->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutBassFreqScroll), NULL, this); m_SpkOutBass.sliderGain->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutBassGainScroll), NULL, this); @@ -184,9 +200,10 @@ FilterDlg::FilterDlg(wxWindow* parent, bool running, wxWindowID id, const wxStri m_SpkOutMid.sliderFreq->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidFreqScroll), NULL, this); m_SpkOutMid.sliderGain->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidGainScroll), NULL, this); m_SpkOutMid.sliderQ->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidQScroll), NULL, this); + m_SpkOutEnable->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnSpkOutEnable), NULL, this); + m_SpkOutDefault->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnSpkOutDefault), NULL, this); m_sdbSizer5Cancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnCancel), NULL, this); - m_sdbSizer5Default->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnDefault), NULL, this); m_sdbSizer5OK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnOK), NULL, this); sox_biquad_start(); @@ -209,6 +226,7 @@ FilterDlg::~FilterDlg() m_codec2LPCPostFilterBassBoost->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnBassBoost), NULL, this); m_codec2LPCPostFilterBeta->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnBetaScroll), NULL, this); m_codec2LPCPostFilterGamma->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnGammaScroll), NULL, this); + m_LPCPostFilterDefault->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnLPCPostFilterDefault), NULL, this); m_MicInBass.sliderFreq->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInBassFreqScroll), NULL, this); m_MicInBass.sliderGain->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInBassGainScroll), NULL, this); @@ -217,6 +235,8 @@ FilterDlg::~FilterDlg() m_MicInMid.sliderFreq->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidFreqScroll), NULL, this); m_MicInMid.sliderGain->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidGainScroll), NULL, this); m_MicInMid.sliderQ->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnMicInMidQScroll), NULL, this); + m_MicInEnable->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnMicInEnable), NULL, this); + m_MicInDefault->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnMicInDefault), NULL, this); m_SpkOutBass.sliderFreq->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutBassFreqScroll), NULL, this); m_SpkOutBass.sliderGain->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutBassGainScroll), NULL, this); @@ -225,9 +245,10 @@ FilterDlg::~FilterDlg() m_SpkOutMid.sliderFreq->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidFreqScroll), NULL, this); m_SpkOutMid.sliderGain->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidGainScroll), NULL, this); m_SpkOutMid.sliderQ->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(FilterDlg::OnSpkOutMidQScroll), NULL, this); + m_SpkOutEnable->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxScrollEventHandler(FilterDlg::OnSpkOutEnable), NULL, this); + m_SpkOutDefault->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnSpkOutDefault), NULL, this); m_sdbSizer5Cancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnCancel), NULL, this); - m_sdbSizer5Default->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnDefault), NULL, this); m_sdbSizer5OK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FilterDlg::OnOK), NULL, this); } @@ -236,13 +257,13 @@ void FilterDlg::newLPCPFControl(wxSlider **slider, wxStaticText **stValue, wxSiz wxBoxSizer *bs = new wxBoxSizer(wxHORIZONTAL); wxStaticText* st = new wxStaticText(this, wxID_ANY, controlName, wxDefaultPosition, wxSize(70,-1), wxALIGN_RIGHT); - bs->Add(st, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 0); + bs->Add(st, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 2); *slider = new wxSlider(this, wxID_ANY, 0, 0, SLIDER_MAX, wxDefaultPosition, wxSize(SLIDER_LENGTH,wxDefaultCoord)); - bs->Add(*slider, 1, wxALIGN_CENTER_VERTICAL|wxALL, 0); + bs->Add(*slider, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2); *stValue = new wxStaticText(this, wxID_ANY, wxT("0.0"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - bs->Add(*stValue, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 0); + bs->Add(*stValue, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 2); s->Add(bs, 0); } @@ -314,6 +335,8 @@ void FilterDlg::ExchangeData(int inout) m_MicInMid.Q = wxGetApp().m_MicInMidQ; setQ(&m_MicInMid); m_MicInMid.Q = limit(m_MicInMid.Q, pow(10.0,MIN_LOG10_Q), pow(10.0, MAX_LOG10_Q)); + m_MicInEnable->SetValue(wxGetApp().m_MicInEnable); + setFreq(&m_MicInBass); setGain(&m_MicInBass); plotMicInFilterSpectrum(); // Spk Out Equaliser @@ -335,6 +358,8 @@ void FilterDlg::ExchangeData(int inout) m_SpkOutMid.Q = wxGetApp().m_SpkOutMidQ; setQ(&m_SpkOutMid); m_SpkOutMid.Q = limit(m_SpkOutMid.Q, pow(10.0,MIN_LOG10_Q), pow(10.0, MAX_LOG10_Q)); + m_SpkOutEnable->SetValue(wxGetApp().m_SpkOutEnable); + setFreq(&m_SpkOutBass); setGain(&m_SpkOutBass); plotSpkOutFilterSpectrum(); } if(inout == EXCHANGE_DATA_OUT) @@ -411,13 +436,17 @@ void FilterDlg::OnCancel(wxCommandEvent& event) //------------------------------------------------------------------------- // OnDefault() //------------------------------------------------------------------------- -void FilterDlg::OnDefault(wxCommandEvent& event) + +void FilterDlg::OnLPCPostFilterDefault(wxCommandEvent& event) { m_beta = CODEC2_LPC_PF_BETA; setBeta(); m_gamma = CODEC2_LPC_PF_GAMMA; setGamma(); m_codec2LPCPostFilterEnable->SetValue(true); m_codec2LPCPostFilterBassBoost->SetValue(true); +} +void FilterDlg::OnMicInDefault(wxCommandEvent& event) +{ m_MicInBass.freqHz = 100.0; m_MicInBass.gaindB = 0.0; setFreq(&m_MicInBass); setGain(&m_MicInBass); @@ -431,6 +460,11 @@ void FilterDlg::OnDefault(wxCommandEvent& event) m_MicInMid.Q = 1.0; setFreq(&m_MicInMid); setGain(&m_MicInMid); setQ(&m_MicInMid); + plotMicInFilterSpectrum(); +} + +void FilterDlg::OnSpkOutDefault(wxCommandEvent& event) +{ m_SpkOutBass.freqHz = 100.0; m_SpkOutBass.gaindB = 0.0; setFreq(&m_SpkOutBass); setGain(&m_SpkOutBass); @@ -444,7 +478,7 @@ void FilterDlg::OnDefault(wxCommandEvent& event) m_SpkOutMid.Q = 1.0; setFreq(&m_SpkOutMid); setGain(&m_SpkOutMid); setQ(&m_SpkOutMid); - plotMicInFilterSpectrum(); + plotSpkOutFilterSpectrum(); } //------------------------------------------------------------------------- @@ -521,6 +555,15 @@ void FilterDlg::OnGammaScroll(wxScrollEvent& event) { setCodec2(); } +// immediately change rather using ExchangeData() so we can switch on and off at run time +void FilterDlg::OnMicInEnable(wxScrollEvent& event) { + wxGetApp().m_MicInEnable = m_MicInEnable->GetValue(); +} + +void FilterDlg::OnSpkOutEnable(wxScrollEvent& event) { + wxGetApp().m_SpkOutEnable = m_SpkOutEnable->GetValue(); +} + void FilterDlg::setFreq(EQ *eq) { wxString buf; diff --git a/fdmdv2/src/dlg_filter.h b/fdmdv2/src/dlg_filter.h index 402d9702..4a561e73 100644 --- a/fdmdv2/src/dlg_filter.h +++ b/fdmdv2/src/dlg_filter.h @@ -62,9 +62,9 @@ class FilterDlg : public wxDialog // Handlers for events. void OnCancel(wxCommandEvent& event); void OnOK(wxCommandEvent& event); - void OnDefault(wxCommandEvent& event); void OnClose(wxCloseEvent& event); void OnInitDialog(wxInitDialogEvent& event); + void OnLPCPostFilterDefault(wxCommandEvent& event); void OnBetaScroll(wxScrollEvent& event); void OnGammaScroll(wxScrollEvent& event); @@ -78,6 +78,8 @@ class FilterDlg : public wxDialog void OnMicInMidFreqScroll(wxScrollEvent& event) { sliderToFreq(&m_MicInMid, true); } void OnMicInMidGainScroll(wxScrollEvent& event) { sliderToGain(&m_MicInMid, true); } void OnMicInMidQScroll(wxScrollEvent& event) { sliderToQ(&m_MicInMid, true); } + void OnMicInEnable(wxScrollEvent& event); + void OnMicInDefault(wxCommandEvent& event); void OnSpkOutBassFreqScroll(wxScrollEvent& event) { sliderToFreq(&m_SpkOutBass, false); } void OnSpkOutBassGainScroll(wxScrollEvent& event) { sliderToGain(&m_SpkOutBass, false); } @@ -86,6 +88,8 @@ class FilterDlg : public wxDialog void OnSpkOutMidFreqScroll(wxScrollEvent& event) { sliderToFreq(&m_SpkOutMid, false); } void OnSpkOutMidGainScroll(wxScrollEvent& event) { sliderToGain(&m_SpkOutMid, false); } void OnSpkOutMidQScroll(wxScrollEvent& event) { sliderToQ(&m_SpkOutMid, false); } + void OnSpkOutEnable(wxScrollEvent& event); + void OnSpkOutDefault(wxCommandEvent& event); wxStaticText* m_staticText8; wxCheckBox* m_codec2LPCPostFilterEnable; @@ -97,14 +101,19 @@ class FilterDlg : public wxDialog wxStaticText* m_staticText911; wxSlider* m_codec2LPCPostFilterGamma; wxStaticText* m_staticTextGamma; + wxButton* m_LPCPostFilterDefault; wxStdDialogButtonSizer* m_sdbSizer5; wxButton* m_sdbSizer5OK; - wxButton* m_sdbSizer5Default; wxButton* m_sdbSizer5Cancel; PlotSpectrum* m_MicInFreqRespPlot; PlotSpectrum* m_SpkOutFreqRespPlot; - + + wxCheckBox* m_MicInEnable; + wxButton* m_MicInDefault; + wxCheckBox* m_SpkOutEnable; + wxButton* m_SpkOutDefault; + float *m_MicInMagdB; float *m_SpkOutMagdB; @@ -112,6 +121,7 @@ class FilterDlg : public wxDialog bool m_running; float m_beta; float m_gamma; + void setBeta(void); // sets slider and static text from m_beta void setGamma(void); // sets slider and static text from m_gamma void setCodec2(void); diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 0eed1fb1..90dc50ee 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -338,6 +338,8 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) wxGetApp().m_MicInMidGaindB = (float)pConfig->Read(wxT("/Filter/MicInMidGaindB"), (long)0)/10.0; wxGetApp().m_MicInMidQ = (float)pConfig->Read(wxT("/Filter/MicInMidQ"), (long)100)/100.0; + wxGetApp().m_MicInEnable = (float)pConfig->Read(wxT("/Filter/MicInEnable"), t); + wxGetApp().m_SpkOutBassFreqHz = (float)pConfig->Read(wxT("/Filter/SpkOutBassFreqHz"), 1); wxGetApp().m_SpkOutBassGaindB = (float)pConfig->Read(wxT("/Filter/SpkOutBassGaindB"), (long)0)/10.0; wxGetApp().m_SpkOutTrebleFreqHz = (float)pConfig->Read(wxT("/Filter/SpkOutTrebleFreqHz"), 1); @@ -346,6 +348,8 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) wxGetApp().m_SpkOutMidGaindB = (float)pConfig->Read(wxT("/Filter/SpkOutMidGaindB"), (long)0)/10.0; wxGetApp().m_SpkOutMidQ = (float)pConfig->Read(wxT("/Filter/SpkOutMidQ"), (long)100)/100.0; + wxGetApp().m_SpkOutEnable = (float)pConfig->Read(wxT("/Filter/SpkOutEnable"), t); + wxGetApp().m_callSign = pConfig->Read("/Data/CallSign", wxT("")); pConfig->SetPath(wxT("/")); @@ -490,7 +494,10 @@ MainFrame::~MainFrame() pConfig->Write(wxT("/Audio/snrSlow"), wxGetApp().m_snrSlow); pConfig->Write(wxT("/Data/CallSign"), wxGetApp().m_callSign); - } + + pConfig->Write(wxT("/Filter/MicInEnable"), wxGetApp().m_MicInEnable); + pConfig->Write(wxT("/Filter/SpkOutEnable"), wxGetApp().m_SpkOutEnable); + } //m_togRxID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrame::OnTogBtnRxIDUI), NULL, this); m_togTxID->Disconnect(wxEVT_UPDATE_UI, wxUpdateUIEventHandler(MainFrame::OnTogBtnTxIDUI), NULL, this); diff --git a/fdmdv2/src/fdmdv2_main.h b/fdmdv2/src/fdmdv2_main.h index d39b063b..694df2bf 100644 --- a/fdmdv2/src/fdmdv2_main.h +++ b/fdmdv2/src/fdmdv2_main.h @@ -160,6 +160,7 @@ class MainApp : public wxApp float m_MicInMidFreqHz; float m_MicInMidGaindB; float m_MicInMidQ; + bool m_MicInEnable; // Spk Out Equaliser float m_SpkOutBassFreqHz; @@ -169,6 +170,7 @@ class MainApp : public wxApp float m_SpkOutMidFreqHz; float m_SpkOutMidGaindB; float m_SpkOutMidQ; + bool m_SpkOutEnable; // Flags for displaying windows int m_show_wf;