From: wittend99 Date: Fri, 14 Sep 2012 23:26:51 +0000 (+0000) Subject: git-svn-id: https://svn.code.sf.net/p/freetel/code@712 01035d8c-6547-0410-b346-abe4f9... X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=6c012834f6831d5d19405bcc082d8e16a5d3256f;p=freetel-svn-tracking.git git-svn-id: https://svn.code.sf.net/p/freetel/code@712 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/build/fdmdv2.mk b/fdmdv2/build/fdmdv2.mk index 42ef6bb7..376a9c67 100644 --- a/fdmdv2/build/fdmdv2.mk +++ b/fdmdv2/build/fdmdv2.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=OFA-Staff -Date :=9/11/2012 +Date :=9/14/2012 CodeLitePath :="C:\bin\CodeLite" LinkerName :=g++ SharedObjectLinkerName :=g++ -shared -fPIC @@ -50,8 +50,8 @@ LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch)/bin/MinGW/m AR := ar rcus CXX := g++ CC := gcc -CXXFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"658\" $(Preprocessors) -CFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"658\" $(Preprocessors) +CXXFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"674\" $(Preprocessors) +CFLAGS := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) -DSVN_REVISION=\"674\" $(Preprocessors) ## diff --git a/fdmdv2/build/fdmdv2.project b/fdmdv2/build/fdmdv2.project index c84814c0..41c2d74d 100644 --- a/fdmdv2/build/fdmdv2.project +++ b/fdmdv2/build/fdmdv2.project @@ -179,4 +179,6 @@ + + diff --git a/fdmdv2/fdmdv2-doc/html/annotated.html b/fdmdv2/fdmdv2-doc/html/annotated.html index 4adf81c6..03c66977 100644 --- a/fdmdv2/fdmdv2-doc/html/annotated.html +++ b/fdmdv2/fdmdv2-doc/html/annotated.html @@ -52,30 +52,29 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
oCAboutDlg
oCAudioDlg
oCAudioStream
oCCOMP
oCComPortsDlg
oCDlgAbout
oCDlgAudio
oCDlgComPorts
oCDlgOptions
oCMainApp
oCMainFrame
oCOptionsDlg
oCpaCallBackData
oCPlotPanel
oCPlotScalar
oCPlotScatter
oCPlotSpectrum
oCPlotWaterfall
oCPortAudioWrap
\CTopFrame
oCCOMP
oCComPortsDlg
oCDlgAbout
oCDlgAudio
oCDlgComPorts
oCDlgOptions
oCMainApp
oCMainFrame
oCOptionsDlg
oCpaCallBackData
oCPlotPanel
oCPlotScalar
oCPlotScatter
oCPlotSpectrum
oCPlotWaterfall
oCPortAudioWrap
\CTopFrame
diff --git a/fdmdv2/fdmdv2-doc/html/class_about_dlg-members.html b/fdmdv2/fdmdv2-doc/html/class_about_dlg-members.html index 21485c2c..45b5d8f0 100644 --- a/fdmdv2/fdmdv2-doc/html/class_about_dlg-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_about_dlg-members.html @@ -63,7 +63,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_about_dlg.html b/fdmdv2/fdmdv2-doc/html/class_about_dlg.html index c59cee41..f7e60474 100644 --- a/fdmdv2/fdmdv2-doc/html/class_about_dlg.html +++ b/fdmdv2/fdmdv2-doc/html/class_about_dlg.html @@ -127,7 +127,7 @@ wxButton * m_button9 diff --git a/fdmdv2/fdmdv2-doc/html/class_audio_dlg-members.html b/fdmdv2/fdmdv2-doc/html/class_audio_dlg-members.html index cf1dbedf..bc98782b 100644 --- a/fdmdv2/fdmdv2-doc/html/class_audio_dlg-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_audio_dlg-members.html @@ -98,7 +98,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_audio_dlg.html b/fdmdv2/fdmdv2-doc/html/class_audio_dlg.html index 316669b8..47c7b2c5 100644 --- a/fdmdv2/fdmdv2-doc/html/class_audio_dlg.html +++ b/fdmdv2/fdmdv2-doc/html/class_audio_dlg.html @@ -231,7 +231,7 @@ wxButton * m_sdbSizer3Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg-members.html b/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg-members.html index ba73d92c..edf183b4 100644 --- a/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg-members.html @@ -65,7 +65,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg.html b/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg.html index 51bde42c..4d7d3a6b 100644 --- a/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg.html +++ b/fdmdv2/fdmdv2-doc/html/class_com_ports_dlg.html @@ -132,7 +132,7 @@ wxButton * m_sdbSizer3Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_about-members.html b/fdmdv2/fdmdv2-doc/html/class_dlg_about-members.html index 1f0bf6c7..34e8920a 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_about-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_about-members.html @@ -62,7 +62,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_about.html b/fdmdv2/fdmdv2-doc/html/class_dlg_about.html index dc542492..78ac2153 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_about.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_about.html @@ -107,7 +107,7 @@ wxButton * m_button9 diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_audio-members.html b/fdmdv2/fdmdv2-doc/html/class_dlg_audio-members.html index 520a0eb8..cbbb1e12 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_audio-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_audio-members.html @@ -95,7 +95,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_audio.html b/fdmdv2/fdmdv2-doc/html/class_dlg_audio.html index ec3df70e..96fdd552 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_audio.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_audio.html @@ -206,7 +206,7 @@ wxButton * m_sdbSizer3Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports-members.html b/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports-members.html index 8dbdd13c..51328631 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports-members.html @@ -64,7 +64,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports.html b/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports.html index 142ccc3a..6c019a70 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_com_ports.html @@ -113,7 +113,7 @@ wxButton * m_sdbSizer3Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_options-members.html b/fdmdv2/fdmdv2-doc/html/class_dlg_options-members.html index ae95079b..7d2d769f 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_options-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_options-members.html @@ -73,7 +73,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_dlg_options.html b/fdmdv2/fdmdv2-doc/html/class_dlg_options.html index 4edfcfbd..ddd03171 100644 --- a/fdmdv2/fdmdv2-doc/html/class_dlg_options.html +++ b/fdmdv2/fdmdv2-doc/html/class_dlg_options.html @@ -140,7 +140,7 @@ wxButton * m_sdbSizer4Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_main_app-members.html b/fdmdv2/fdmdv2-doc/html/class_main_app-members.html index 0ced29dd..bc1c7957 100644 --- a/fdmdv2/fdmdv2-doc/html/class_main_app-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_main_app-members.html @@ -51,12 +51,14 @@

This is the complete list of members for MainApp, including all inherited members.

+ +
g_config (defined in MainApp)MainAppprotected
loadConfig() (defined in MainApp)MainApp
OnExit() (defined in MainApp)MainAppinlinevirtual
OnInit() (defined in MainApp)MainAppvirtual
diff --git a/fdmdv2/fdmdv2-doc/html/class_main_app.html b/fdmdv2/fdmdv2-doc/html/class_main_app.html index 66d9974f..5f67ed6e 100644 --- a/fdmdv2/fdmdv2-doc/html/class_main_app.html +++ b/fdmdv2/fdmdv2-doc/html/class_main_app.html @@ -46,6 +46,7 @@
MainApp Class Reference
@@ -70,6 +71,15 @@ virtual bool OnInit () virtual int OnExit ()   + +bool loadConfig () +  + + + +

+Protected Attributes

+wxConfig * g_config
 

The documentation for this class was generated from the following files:
  • C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_main.h
  • @@ -78,7 +88,7 @@ virtual int OnExit ()<
diff --git a/fdmdv2/fdmdv2-doc/html/class_main_frame-members.html b/fdmdv2/fdmdv2-doc/html/class_main_frame-members.html index 1c70b6a8..1e7f7f94 100644 --- a/fdmdv2/fdmdv2-doc/html/class_main_frame-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_main_frame-members.html @@ -53,75 +53,79 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -136,24 +140,25 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
abortRxStream() (defined in MainFrame)MainFrameprotected
abortTxStream() (defined in MainFrame)MainFrameprotected
edit (defined in TopFrame)TopFrameprotected
file (defined in TopFrame)TopFrameprotected
help (defined in TopFrame)TopFrameprotected
LoadUserImage(wxImage &image) (defined in MainFrame)MainFrameprotected
m_auiNbookCtrl (defined in TopFrame)TopFrame
m_btnTogTX (defined in TopFrame)TopFrameprotected
m_ckboxSQ (defined in TopFrame)TopFrameprotected
m_gaugeLevel (defined in TopFrame)TopFrameprotected
m_gaugeSNR (defined in TopFrame)TopFrameprotected
m_menubarMain (defined in TopFrame)TopFrameprotected
m_panelDefaultA (defined in MainFrame)MainFrame
m_panelScalar (defined in MainFrame)MainFrame
m_panelScatter (defined in MainFrame)MainFrame
m_panelSpectrum (defined in MainFrame)MainFrame
m_panelWaterfall (defined in MainFrame)MainFrame
m_RXCodec2 (defined in MainFrame)MainFrame
m_rxDevIn (defined in MainFrame)MainFrame
m_rxDevOut (defined in MainFrame)MainFrame
m_rxErr (defined in MainFrame)MainFrame
m_rxPa (defined in MainFrame)MainFrame
m_RxRunning (defined in MainFrame)MainFrame
m_sliderSQ (defined in TopFrame)TopFrameprotected
m_sound (defined in MainFrame)MainFrame
m_SquelchActive (defined in MainFrame)MainFrame
m_statusBar1 (defined in TopFrame)TopFrameprotected
m_textSNR (defined in TopFrame)TopFrameprotected
m_togBtnALC (defined in TopFrame)TopFrameprotected
m_togBtnAnalog (defined in TopFrame)TopFrameprotected
m_togBtnOnOff (defined in TopFrame)TopFrameprotected
m_togBtnSplit (defined in TopFrame)TopFrameprotected
m_togRxID (defined in TopFrame)TopFrameprotected
m_togTxID (defined in TopFrame)TopFrameprotected
m_TXCodec2 (defined in MainFrame)MainFrame
m_txDevIn (defined in MainFrame)MainFrame
m_txDevOut (defined in MainFrame)MainFrame
m_txErr (defined in MainFrame)MainFrame
m_txPa (defined in MainFrame)MainFrame
m_TxRunning (defined in MainFrame)MainFrame
m_txtCtrl (defined in TopFrame)TopFrameprotected
MainFrame(wxWindow *parent) (defined in MainFrame)MainFrame
OnCaptureRxStream(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCaptureTxStream(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCheckSQClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnClose(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnClose(wxCloseEvent &event) (defined in MainFrame)MainFrameprotected
OnCloseFrame(wxCloseEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCloseUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCmdSliderScroll(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCmdSliderScrollChanged(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCopy(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCopyUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCut(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCutUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnExit(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnExitClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpAbout(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpCheckUpdates(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpCheckUpdatesUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnOpen(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnOpenUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPaint(wxPaintEvent &event) (defined in MainFrame)MainFrameprotected
OnPaste(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPasteUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPlayAudioFile(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSave(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSaveUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSize(wxSizeEvent &event) (defined in MainFrame)MainFrameprotected
OnSliderScrollBottom(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSliderScrollTop(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
averageData(float mag_dB[]) (defined in MainFrame)MainFrameprotected
edit (defined in TopFrame)TopFrameprotected
file (defined in TopFrame)TopFrameprotected
help (defined in TopFrame)TopFrameprotected
LoadUserImage(wxImage &image) (defined in MainFrame)MainFrameprotected
m_auiNbookCtrl (defined in TopFrame)TopFrame
m_btnTogTX (defined in TopFrame)TopFrameprotected
m_ckboxSQ (defined in TopFrame)TopFrameprotected
m_gaugeLevel (defined in TopFrame)TopFrameprotected
m_gaugeSNR (defined in TopFrame)TopFrameprotected
m_menubarMain (defined in TopFrame)TopFrameprotected
m_panelDefaultA (defined in MainFrame)MainFrame
m_panelScalar (defined in MainFrame)MainFrame
m_panelScatter (defined in MainFrame)MainFrame
m_panelSpectrum (defined in MainFrame)MainFrame
m_panelWaterfall (defined in MainFrame)MainFrame
m_pFDMDV_state (defined in MainFrame)MainFrame
m_plotTimer (defined in MainFrame)MainFrame
m_RXCodec2 (defined in MainFrame)MainFrame
m_rxDevIn (defined in MainFrame)MainFrame
m_rxDevOut (defined in MainFrame)MainFrame
m_rxErr (defined in MainFrame)MainFrame
m_rxPa (defined in MainFrame)MainFrame
m_RxRunning (defined in MainFrame)MainFrame
m_sliderSQ (defined in TopFrame)TopFrameprotected
m_sound (defined in MainFrame)MainFrame
m_SquelchActive (defined in MainFrame)MainFrame
m_statusBar1 (defined in TopFrame)TopFrameprotected
m_textSNR (defined in TopFrame)TopFrameprotected
m_togBtnALC (defined in TopFrame)TopFrameprotected
m_togBtnAnalog (defined in TopFrame)TopFrameprotected
m_togBtnOnOff (defined in TopFrame)TopFrameprotected
m_togBtnSplit (defined in TopFrame)TopFrameprotected
m_togRxID (defined in TopFrame)TopFrameprotected
m_togTxID (defined in TopFrame)TopFrameprotected
m_TXCodec2 (defined in MainFrame)MainFrame
m_txDevIn (defined in MainFrame)MainFrame
m_txDevOut (defined in MainFrame)MainFrame
m_txErr (defined in MainFrame)MainFrame
m_txPa (defined in MainFrame)MainFrame
m_TxRunning (defined in MainFrame)MainFrame
m_txtCtrl (defined in TopFrame)TopFrameprotected
MainFrame(wxWindow *parent) (defined in MainFrame)MainFrame
OnCaptureRxStream(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCaptureTxStream(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCheckSQClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnClose(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnClose(wxCloseEvent &event) (defined in MainFrame)MainFrameprotected
OnCloseFrame(wxCloseEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCloseUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCmdSliderScroll(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCmdSliderScrollChanged(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCopy(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCopyUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCut(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnCutUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnExit(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnExitClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpAbout(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpCheckUpdates(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnHelpCheckUpdatesUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnOpen(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnOpenUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPaint(wxPaintEvent &event) (defined in MainFrame)MainFrameprotected
OnPaste(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPasteUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnPlayAudioFile(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSave(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSaveUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSize(wxSizeEvent &event) (defined in MainFrame)MainFrameprotected
OnSliderScrollBottom(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnSliderScrollTop(wxScrollEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnTimer(wxTimerEvent &evt) (defined in MainFrame)MainFrameprotected
OnTogBtnALCClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnTogBtnAnalogClick(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnTogBtnOnOff(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnToolsOptions(wxCommandEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnToolsOptionsUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotectedvirtual
OnUpdateUI(wxUpdateUIEvent &event) (defined in MainFrame)MainFrameprotected
rxCallback(const void *inBuffer, void *outBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo *outTime, PaStreamCallbackFlags statusFlags, void *userData) (defined in MainFrame)MainFramestatic
startRxStream() (defined in MainFrame)MainFrameprotected
startTxStream() (defined in MainFrame)MainFrameprotected
stopRxStream() (defined in MainFrame)MainFrameprotected
stopTxStream() (defined in MainFrame)MainFrameprotected
tools (defined in TopFrame)TopFrameprotected
TopFrame(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("FDMDV2"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(761, 500), long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL) (defined in TopFrame)TopFrame
topFrame_OnClose(wxCloseEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnPaint(wxPaintEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnSize(wxSizeEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnUpdateUI(wxUpdateUIEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
txCallback(const void *inBuffer, void *outBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo *outTime, PaStreamCallbackFlags statusFlags, void *userData) (defined in MainFrame)MainFramestatic
~MainFrame() (defined in MainFrame)MainFramevirtual
~TopFrame() (defined in TopFrame)TopFrame
per_frame_rx_processing(short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2) (defined in MainFrame)MainFrame
rxCallback(const void *inBuffer, void *outBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo *outTime, PaStreamCallbackFlags statusFlags, void *userData) (defined in MainFrame)MainFramestatic
startRxStream() (defined in MainFrame)MainFrameprotected
startTxStream() (defined in MainFrame)MainFrameprotected
stopRxStream() (defined in MainFrame)MainFrameprotected
stopTxStream() (defined in MainFrame)MainFrameprotected
tools (defined in TopFrame)TopFrameprotected
TopFrame(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("FDMDV2"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(761, 500), long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL) (defined in TopFrame)TopFrame
topFrame_OnClose(wxCloseEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnPaint(wxPaintEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnSize(wxSizeEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
topFrame_OnUpdateUI(wxUpdateUIEvent &event) (defined in TopFrame)TopFrameinlineprotectedvirtual
txCallback(const void *inBuffer, void *outBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo *outTime, PaStreamCallbackFlags statusFlags, void *userData) (defined in MainFrame)MainFramestatic
~MainFrame() (defined in MainFrame)MainFramevirtual
~TopFrame() (defined in TopFrame)TopFrame
diff --git a/fdmdv2/fdmdv2-doc/html/class_main_frame.html b/fdmdv2/fdmdv2-doc/html/class_main_frame.html index 2534dd6d..81fcac7f 100644 --- a/fdmdv2/fdmdv2-doc/html/class_main_frame.html +++ b/fdmdv2/fdmdv2-doc/html/class_main_frame.html @@ -74,6 +74,9 @@ Public Member Functions  MainFrame (wxWindow *parent)   + +void per_frame_rx_processing (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2) +  - Public Member Functions inherited from TopFrame  TopFrame (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("FDMDV2"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(761, 500), long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL) @@ -147,6 +150,12 @@ PaError m_txErr wxSound * m_sound   + +struct FDMDV * m_pFDMDV_state +  + +wxTimer m_plotTimer- Public Attributes inherited from TopFrame wxAuiNotebook * m_auiNbookCtrl @@ -160,6 +169,9 @@ virtual void OnCloseFrame< virtual void OnExitClick (wxCommandEvent &event)   + +void averageData (float mag_dB[]) +  void startTxStream ()   @@ -301,6 +313,9 @@ void OnSize (wxSizeEve void OnUpdateUI (wxUpdateUIEvent &event)   + +void OnTimer (wxTimerEvent &evt) +  wxString LoadUserImage (wxImage &image)   @@ -386,7 +401,7 @@ wxStatusBar * m_statusBar1 diff --git a/fdmdv2/fdmdv2-doc/html/class_options_dlg-members.html b/fdmdv2/fdmdv2-doc/html/class_options_dlg-members.html index 27ab1a57..884eb78b 100644 --- a/fdmdv2/fdmdv2-doc/html/class_options_dlg-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_options_dlg-members.html @@ -74,7 +74,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_options_dlg.html b/fdmdv2/fdmdv2-doc/html/class_options_dlg.html index bcc74c06..d6e52bf9 100644 --- a/fdmdv2/fdmdv2-doc/html/class_options_dlg.html +++ b/fdmdv2/fdmdv2-doc/html/class_options_dlg.html @@ -159,7 +159,7 @@ wxButton * m_sdbSizer4Canc diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_panel-members.html b/fdmdv2/fdmdv2-doc/html/class_plot_panel-members.html index 530504a2..ded8294e 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_panel-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_panel-members.html @@ -51,14 +51,14 @@

This is the complete list of members for PlotPanel, including all inherited members.

- - + + - + @@ -73,13 +73,13 @@ - - - - - - - + + + + + + + @@ -100,7 +100,7 @@
draw(wxAutoBufferedPaintDC &dc) (defined in PlotPanel)PlotPanelvirtual
drawGraticule(wxAutoBufferedPaintDC &dc) (defined in PlotPanel)PlotPanelvirtual
draw(wxAutoBufferedPaintDC &pdc) (defined in PlotPanel)PlotPanelvirtual
drawGraticule(wxAutoBufferedPaintDC &pdc) (defined in PlotPanel)PlotPanelvirtual
GetLabelSize() (defined in PlotPanel)PlotPanelvirtual
GetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual
m_bmp (defined in PlotPanel)PlotPanel
m_Bufsz (defined in PlotPanel)PlotPanel
m_clip (defined in PlotPanel)PlotPanelprotected
m_h (defined in PlotPanel)PlotPanelprotected
m_firstPass (defined in PlotPanel)PlotPanelprotected
m_label_size (defined in PlotPanel)PlotPanel
m_left (defined in PlotPanel)PlotPanelprotected
m_mouseDown (defined in PlotPanel)PlotPanelprotected
m_prev_x (defined in PlotPanel)PlotPanelprotected
m_prev_y (defined in PlotPanel)PlotPanelprotected
m_pTopFrame (defined in PlotPanel)PlotPanel
m_rectCtrl (defined in PlotPanel)PlotPanel
m_rectGrid (defined in PlotPanel)PlotPanel
m_rectPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_w (defined in PlotPanel)PlotPanelprotected
m_rCtrl (defined in PlotPanel)PlotPanel
m_rCtrlPrev (defined in PlotPanel)PlotPanel
m_rGrid (defined in PlotPanel)PlotPanel
m_rPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_x (defined in PlotPanel)PlotPanelprotected
m_y (defined in PlotPanel)PlotPanelprotected
m_zoomFactor (defined in PlotPanel)PlotPanelprotected
diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_panel.html b/fdmdv2/fdmdv2-doc/html/class_plot_panel.html index 3ac96de0..50ee321b 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_panel.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_panel.html @@ -100,12 +100,12 @@ void OnPaint (wxPaintE void paintEvent (wxPaintEvent &evt)   - -virtual void draw (wxAutoBufferedPaintDC &dc) -  - -virtual void drawGraticule (wxAutoBufferedPaintDC &dc) -  + +virtual void draw (wxAutoBufferedPaintDC &pdc) +  + +virtual void drawGraticule (wxAutoBufferedPaintDC &pdc) +  virtual double SetZoomFactor (double zf)   @@ -133,15 +133,18 @@ wxPen m_penDotDash wxPen m_penSolid   - -wxRect m_rectCtrl -  - -wxRect m_rectGrid -  - -wxRect m_rectPlot -  + +wxRect m_rCtrlPrev +  + +wxRect m_rCtrl +  + +wxRect m_rGrid +  + +wxRect m_rPlot MainFramem_pTopFrame   @@ -172,12 +175,6 @@ int m_x int m_y   - -int m_w -  - -int m_h int m_left   @@ -208,6 +205,9 @@ bool m_rubberBand bool m_mouseDown   + +bool m_firstPass double m_zoomFactor   @@ -219,7 +219,7 @@ double m_zoomFactor diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_scalar-members.html b/fdmdv2/fdmdv2-doc/html/class_plot_scalar-members.html index a51b890f..5dd9d592 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_scalar-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_scalar-members.html @@ -54,13 +54,13 @@ add_new_sample(float sample) (defined in PlotScalar)PlotScalar clip(int y1) (defined in PlotScalar)PlotScalarprotected draw(wxAutoBufferedPaintDC &dc) (defined in PlotScalar)PlotScalarprotectedvirtual - drawGraticule(wxAutoBufferedPaintDC &dc) (defined in PlotPanel)PlotPanelvirtual + drawGraticule(wxAutoBufferedPaintDC &pdc) (defined in PlotPanel)PlotPanelvirtual GetLabelSize() (defined in PlotPanel)PlotPanelvirtual GetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual m_bmp (defined in PlotPanel)PlotPanel m_Bufsz (defined in PlotPanel)PlotPanel m_clip (defined in PlotPanel)PlotPanelprotected - m_h (defined in PlotPanel)PlotPanelprotected + m_firstPass (defined in PlotPanel)PlotPanelprotected m_index (defined in PlotScalar)PlotScalarprotected m_label_size (defined in PlotPanel)PlotPanel m_left (defined in PlotPanel)PlotPanelprotected @@ -78,14 +78,14 @@ m_prev_x (defined in PlotPanel)PlotPanelprotected m_prev_y (defined in PlotPanel)PlotPanelprotected m_pTopFrame (defined in PlotPanel)PlotPanel - m_rectCtrl (defined in PlotPanel)PlotPanel - m_rectGrid (defined in PlotPanel)PlotPanel - m_rectPlot (defined in PlotPanel)PlotPanel - m_rubberBand (defined in PlotPanel)PlotPanelprotected - m_step (defined in PlotScalar)PlotScalarprotected - m_top (defined in PlotPanel)PlotPanelprotected - m_use_bitmap (defined in PlotPanel)PlotPanelprotected - m_w (defined in PlotPanel)PlotPanelprotected + m_rCtrl (defined in PlotPanel)PlotPanel + m_rCtrlPrev (defined in PlotPanel)PlotPanel + m_rGrid (defined in PlotPanel)PlotPanel + m_rPlot (defined in PlotPanel)PlotPanel + m_rubberBand (defined in PlotPanel)PlotPanelprotected + m_step (defined in PlotScalar)PlotScalarprotected + m_top (defined in PlotPanel)PlotPanelprotected + m_use_bitmap (defined in PlotPanel)PlotPanelprotected m_x (defined in PlotPanel)PlotPanelprotected m_x_max (defined in PlotScalar)PlotScalarprotected m_y (defined in PlotPanel)PlotPanelprotected @@ -110,7 +110,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_scalar.html b/fdmdv2/fdmdv2-doc/html/class_plot_scalar.html index 53b19335..07e60f4f 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_scalar.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_scalar.html @@ -107,9 +107,9 @@ void OnPaint (wxPaintE void paintEvent (wxPaintEvent &evt)   - -virtual void drawGraticule (wxAutoBufferedPaintDC &dc) -  + +virtual void drawGraticule (wxAutoBufferedPaintDC &pdc) +  virtual double SetZoomFactor (double zf)   @@ -168,12 +168,6 @@ int m_x int m_y   - -int m_w -  - -int m_h int m_left   @@ -204,6 +198,9 @@ bool m_rubberBand bool m_mouseDown   + +bool m_firstPass double m_zoomFactor   @@ -220,15 +217,18 @@ wxPen m_penDotDash wxPen m_penSolid   - -wxRect m_rectCtrl -  - -wxRect m_rectGrid -  - -wxRect m_rectPlot -  + +wxRect m_rCtrlPrev +  + +wxRect m_rCtrl +  + +wxRect m_rGrid +  + +wxRect m_rPlot MainFramem_pTopFrame   @@ -258,7 +258,7 @@ wxNativePixelData * m_pBmp diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_scatter-members.html b/fdmdv2/fdmdv2-doc/html/class_plot_scatter-members.html index dba8d501..a9f7b4b3 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_scatter-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_scatter-members.html @@ -53,13 +53,13 @@ - + - + @@ -76,13 +76,13 @@ - - - - - - - + + + + + + + @@ -105,7 +105,7 @@
add_new_samples(COMP samples[]) (defined in PlotScatter)PlotScatterprotected
draw(wxAutoBufferedPaintDC &dc) (defined in PlotScatter)PlotScatterprotectedvirtual
drawGraticule(wxAutoBufferedPaintDC &dc) (defined in PlotPanel)PlotPanelvirtual
drawGraticule(wxAutoBufferedPaintDC &pdc) (defined in PlotPanel)PlotPanelvirtual
GetLabelSize() (defined in PlotPanel)PlotPanelvirtual
GetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual
m_bmp (defined in PlotPanel)PlotPanel
m_Bufsz (defined in PlotPanel)PlotPanel
m_clip (defined in PlotPanel)PlotPanelprotected
m_h (defined in PlotPanel)PlotPanelprotected
m_firstPass (defined in PlotPanel)PlotPanelprotected
m_label_size (defined in PlotPanel)PlotPanel
m_left (defined in PlotPanel)PlotPanelprotected
m_mem (defined in PlotScatter)PlotScatterprotected
m_prev_x (defined in PlotPanel)PlotPanelprotected
m_prev_y (defined in PlotPanel)PlotPanelprotected
m_pTopFrame (defined in PlotPanel)PlotPanel
m_rectCtrl (defined in PlotPanel)PlotPanel
m_rectGrid (defined in PlotPanel)PlotPanel
m_rectPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_w (defined in PlotPanel)PlotPanelprotected
m_rCtrl (defined in PlotPanel)PlotPanel
m_rCtrlPrev (defined in PlotPanel)PlotPanel
m_rGrid (defined in PlotPanel)PlotPanel
m_rPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_x (defined in PlotPanel)PlotPanelprotected
m_y (defined in PlotPanel)PlotPanelprotected
m_zoomFactor (defined in PlotPanel)PlotPanelprotected
diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_scatter.html b/fdmdv2/fdmdv2-doc/html/class_plot_scatter.html index 0823b3df..e0874b4a 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_scatter.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_scatter.html @@ -104,9 +104,9 @@ void OnPaint (wxPaintE void paintEvent (wxPaintEvent &evt)   - -virtual void drawGraticule (wxAutoBufferedPaintDC &dc) -  + +virtual void drawGraticule (wxAutoBufferedPaintDC &pdc) +  virtual double SetZoomFactor (double zf)   @@ -153,12 +153,6 @@ int m_x int m_y   - -int m_w -  - -int m_h int m_left   @@ -189,6 +183,9 @@ bool m_rubberBand bool m_mouseDown   + +bool m_firstPass double m_zoomFactor   @@ -205,15 +202,18 @@ wxPen m_penDotDash wxPen m_penSolid   - -wxRect m_rectCtrl -  - -wxRect m_rectGrid -  - -wxRect m_rectPlot -  + +wxRect m_rCtrlPrev +  + +wxRect m_rCtrl +  + +wxRect m_rGrid +  + +wxRect m_rPlot MainFramem_pTopFrame   @@ -243,7 +243,7 @@ wxNativePixelData * m_pBmp diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_spectrum-members.html b/fdmdv2/fdmdv2-doc/html/class_plot_spectrum-members.html index 2ff56229..bdb32a6c 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_spectrum-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_spectrum-members.html @@ -58,7 +58,7 @@ m_bmp (defined in PlotPanel)PlotPanel m_Bufsz (defined in PlotPanel)PlotPanel m_clip (defined in PlotPanel)PlotPanelprotected - m_h (defined in PlotPanel)PlotPanelprotected + m_firstPass (defined in PlotPanel)PlotPanelprotected m_label_size (defined in PlotPanel)PlotPanel m_left (defined in PlotPanel)PlotPanelprotected m_mouseDown (defined in PlotPanel)PlotPanelprotected @@ -73,13 +73,13 @@ m_prev_x (defined in PlotPanel)PlotPanelprotected m_prev_y (defined in PlotPanel)PlotPanelprotected m_pTopFrame (defined in PlotPanel)PlotPanel - m_rectCtrl (defined in PlotPanel)PlotPanel - m_rectGrid (defined in PlotPanel)PlotPanel - m_rectPlot (defined in PlotPanel)PlotPanel - m_rubberBand (defined in PlotPanel)PlotPanelprotected - m_top (defined in PlotPanel)PlotPanelprotected - m_use_bitmap (defined in PlotPanel)PlotPanelprotected - m_w (defined in PlotPanel)PlotPanelprotected + m_rCtrl (defined in PlotPanel)PlotPanel + m_rCtrlPrev (defined in PlotPanel)PlotPanel + m_rGrid (defined in PlotPanel)PlotPanel + m_rPlot (defined in PlotPanel)PlotPanel + m_rubberBand (defined in PlotPanel)PlotPanelprotected + m_top (defined in PlotPanel)PlotPanelprotected + m_use_bitmap (defined in PlotPanel)PlotPanelprotected m_x (defined in PlotPanel)PlotPanelprotected m_y (defined in PlotPanel)PlotPanelprotected m_zoomFactor (defined in PlotPanel)PlotPanelprotected @@ -102,7 +102,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_spectrum.html b/fdmdv2/fdmdv2-doc/html/class_plot_spectrum.html index dd7b1e47..6c53f00f 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_spectrum.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_spectrum.html @@ -146,15 +146,18 @@ wxPen m_penDotDash wxPen m_penSolid   - -wxRect m_rectCtrl -  - -wxRect m_rectGrid -  - -wxRect m_rectPlot -  + +wxRect m_rCtrlPrev +  + +wxRect m_rCtrl +  + +wxRect m_rGrid +  + +wxRect m_rPlot MainFramem_pTopFrame   @@ -183,12 +186,6 @@ int m_x int m_y   - -int m_w -  - -int m_h int m_left   @@ -219,6 +216,9 @@ bool m_rubberBand bool m_mouseDown   + +bool m_firstPass double m_zoomFactor   @@ -230,7 +230,7 @@ double m_zoomFactor diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_waterfall-members.html b/fdmdv2/fdmdv2-doc/html/class_plot_waterfall-members.html index 348db6ea..4dd34e08 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_waterfall-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_waterfall-members.html @@ -51,7 +51,7 @@

This is the complete list of members for PlotWaterfall, including all inherited members.

- + @@ -59,11 +59,13 @@ - - + + + + @@ -76,13 +78,13 @@ - - - - - - - + + + + + + + @@ -94,20 +96,19 @@ - + - - - - - - - - + + + + + + +
draw(wxAutoBufferedPaintDC &dc) (defined in PlotWaterfall)PlotWaterfallprotectedvirtual
draw(wxAutoBufferedPaintDC &pdc) (defined in PlotWaterfall)PlotWaterfallprotectedvirtual
drawGraticule(wxAutoBufferedPaintDC &dc) (defined in PlotWaterfall)PlotWaterfallprotectedvirtual
GetLabelSize() (defined in PlotPanel)PlotPanelvirtual
GetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual
m_bmp (defined in PlotPanel)PlotPanel
m_Bufsz (defined in PlotPanel)PlotPanel
m_clip (defined in PlotPanel)PlotPanelprotected
m_greyscale (defined in PlotWaterfall)PlotWaterfallprotected
m_h (defined in PlotPanel)PlotPanelprotected
m_firstPass (defined in PlotPanel)PlotPanelprotected
m_greyscale (defined in PlotWaterfall)PlotWaterfallprotected
m_heatmap_lut (defined in PlotWaterfall)PlotWaterfallprotected
m_label_size (defined in PlotPanel)PlotPanel
m_left (defined in PlotPanel)PlotPanelprotected
m_line_color (defined in PlotWaterfall)PlotWaterfallprotected
m_mDC (defined in PlotWaterfall)PlotWaterfallprotected
m_mouseDown (defined in PlotPanel)PlotPanelprotected
m_newdata (defined in PlotPanel)PlotPanel
m_pBmp (defined in PlotPanel)PlotPanel
m_prev_x (defined in PlotPanel)PlotPanelprotected
m_prev_y (defined in PlotPanel)PlotPanelprotected
m_pTopFrame (defined in PlotPanel)PlotPanel
m_rectCtrl (defined in PlotPanel)PlotPanel
m_rectGrid (defined in PlotPanel)PlotPanel
m_rectPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_w (defined in PlotPanel)PlotPanelprotected
m_rCtrl (defined in PlotPanel)PlotPanel
m_rCtrlPrev (defined in PlotPanel)PlotPanel
m_rGrid (defined in PlotPanel)PlotPanel
m_rPlot (defined in PlotPanel)PlotPanel
m_rubberBand (defined in PlotPanel)PlotPanelprotected
m_top (defined in PlotPanel)PlotPanelprotected
m_use_bitmap (defined in PlotPanel)PlotPanelprotected
m_x (defined in PlotPanel)PlotPanelprotected
m_y (defined in PlotPanel)PlotPanelprotected
m_zoomFactor (defined in PlotPanel)PlotPanelprotected
OnMouseWheelMoved(wxMouseEvent &event) (defined in PlotPanel)PlotPanel
OnPaint(wxPaintEvent &evt) (defined in PlotWaterfall)PlotWaterfallprotected
OnShow(wxShowEvent &event) (defined in PlotWaterfall)PlotWaterfallprotectedvirtual
OnSize(wxSizeEvent &event) (defined in PlotWaterfall)PlotWaterfallprotected
OnSize(wxSizeEvent &event) (defined in PlotPanel)PlotPanel
paintEvent(wxPaintEvent &evt) (defined in PlotPanel)PlotPanel
plotData(wxAutoBufferedPaintDC &dc) (defined in PlotWaterfall)PlotWaterfallprotected
PlotPanel(wxFrame *parent) (defined in PlotPanel)PlotPanel
plotPixelData(wxAutoBufferedPaintDC &dc) (defined in PlotWaterfall)PlotWaterfallprotected
PlotWaterfall(wxFrame *parent) (defined in PlotWaterfall)PlotWaterfall
SetLabelSize(double size) (defined in PlotPanel)PlotPanelvirtual
SetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual
~PlotPanel() (defined in PlotPanel)PlotPanel
~PlotWaterfall() (defined in PlotWaterfall)PlotWaterfall
PlotPanel(wxFrame *parent) (defined in PlotPanel)PlotPanel
plotPixelData(wxAutoBufferedPaintDC &dc) (defined in PlotWaterfall)PlotWaterfallprotected
PlotWaterfall(wxFrame *parent) (defined in PlotWaterfall)PlotWaterfall
SetLabelSize(double size) (defined in PlotPanel)PlotPanelvirtual
SetZoomFactor(double zf) (defined in PlotPanel)PlotPanelvirtual
~PlotPanel() (defined in PlotPanel)PlotPanel
~PlotWaterfall() (defined in PlotWaterfall)PlotWaterfall
diff --git a/fdmdv2/fdmdv2-doc/html/class_plot_waterfall.html b/fdmdv2/fdmdv2-doc/html/class_plot_waterfall.html index ab03fd08..37493c45 100644 --- a/fdmdv2/fdmdv2-doc/html/class_plot_waterfall.html +++ b/fdmdv2/fdmdv2-doc/html/class_plot_waterfall.html @@ -125,21 +125,15 @@ unsigned heatmap (floa void OnPaint (wxPaintEvent &evt)   - -void OnSize (wxSizeEvent &event) -  void OnShow (wxShowEvent &event)   void drawGraticule (wxAutoBufferedPaintDC &dc)   - -void draw (wxAutoBufferedPaintDC &dc) -  - -void plotData (wxAutoBufferedPaintDC &dc) -  + +void draw (wxAutoBufferedPaintDC &pdc) +  void plotPixelData (wxAutoBufferedPaintDC &dc)   @@ -152,6 +146,12 @@ unsigned m_heatmap_lut int m_greyscale   + +wxMemoryDC m_mDC +  + +int m_line_color- Protected Attributes inherited from PlotPanel int m_x @@ -159,12 +159,6 @@ int m_x int m_y   - -int m_w -  - -int m_h int m_left   @@ -195,6 +189,9 @@ bool m_rubberBand bool m_mouseDown   + +bool m_firstPass double m_zoomFactor   @@ -211,15 +208,18 @@ wxPen m_penDotDash wxPen m_penSolid   - -wxRect m_rectCtrl -  - -wxRect m_rectGrid -  - -wxRect m_rectPlot -  + +wxRect m_rCtrlPrev +  + +wxRect m_rCtrl +  + +wxRect m_rGrid +  + +wxRect m_rPlot MainFramem_pTopFrame   @@ -249,7 +249,7 @@ wxNativePixelData * m_pBmp diff --git a/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap-members.html b/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap-members.html index 1cee9fdc..1472fcc1 100644 --- a/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap-members.html @@ -53,30 +53,30 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + @@ -93,12 +93,8 @@ - - - - - - + + @@ -111,7 +107,7 @@
abort() (defined in PortAudioWrap)PortAudioWrap
averageData(float mag_dB[]) (defined in PortAudioWrap)PortAudioWrap
getDefaultInputDevice() (defined in PortAudioWrap)PortAudioWrap
getDefaultOutputDevice() (defined in PortAudioWrap)PortAudioWrap
getDeviceInfo(PaDeviceIndex idx) (defined in PortAudioWrap)PortAudioWrap
getDeviceName(PaDeviceIndex dev) (defined in PortAudioWrap)PortAudioWrap
getFdmdvState() (defined in PortAudioWrap)PortAudioWrapinline
getFramesPerBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getInputBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getInputChannelCount() (defined in PortAudioWrap)PortAudioWrap
getInputDefaultLowLatency() (defined in PortAudioWrap)PortAudioWrap
getOutputBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getOutputChannelCount() (defined in PortAudioWrap)PortAudioWrap
getOutputDefaultLowLatency() (defined in PortAudioWrap)PortAudioWrap
getSamplerate() const (defined in PortAudioWrap)PortAudioWrapinline
getStatusFlags() const (defined in PortAudioWrap)PortAudioWrapinline
getStream() (defined in PortAudioWrap)PortAudioWrapinline
getUserData() (defined in PortAudioWrap)PortAudioWrapinline
isActive() const (defined in PortAudioWrap)PortAudioWrap
isOpen() const (defined in PortAudioWrap)PortAudioWrap
isStopped() const (defined in PortAudioWrap)PortAudioWrap
loadData() (defined in PortAudioWrap)PortAudioWrap
m_av_mag (defined in PortAudioWrap)PortAudioWrap
per_frame_rx_processing(short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2) (defined in PortAudioWrap)PortAudioWrap
getDataAvail() (defined in PortAudioWrap)PortAudioWrapinline
getDefaultInputDevice() (defined in PortAudioWrap)PortAudioWrap
getDefaultOutputDevice() (defined in PortAudioWrap)PortAudioWrap
getDeviceInfo(PaDeviceIndex idx) (defined in PortAudioWrap)PortAudioWrap
getDeviceName(PaDeviceIndex dev) (defined in PortAudioWrap)PortAudioWrap
getFdmdvState() (defined in PortAudioWrap)PortAudioWrapinline
getFramesPerBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getInputBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getInputChannelCount() (defined in PortAudioWrap)PortAudioWrap
getInputDefaultLowLatency() (defined in PortAudioWrap)PortAudioWrap
getOutputBuffer() const (defined in PortAudioWrap)PortAudioWrapinline
getOutputChannelCount() (defined in PortAudioWrap)PortAudioWrap
getOutputDefaultLowLatency() (defined in PortAudioWrap)PortAudioWrap
getSamplerate() const (defined in PortAudioWrap)PortAudioWrapinline
getStatusFlags() const (defined in PortAudioWrap)PortAudioWrapinline
getStream() (defined in PortAudioWrap)PortAudioWrapinline
getUserData() (defined in PortAudioWrap)PortAudioWrapinline
isActive() const (defined in PortAudioWrap)PortAudioWrap
isOpen() const (defined in PortAudioWrap)PortAudioWrap
isStopped() const (defined in PortAudioWrap)PortAudioWrap
loadData() (defined in PortAudioWrap)PortAudioWrap
m_av_mag (defined in PortAudioWrap)PortAudioWrap
PortAudioWrap() (defined in PortAudioWrap)PortAudioWrap
setCallback(PaStreamCallback *streamCallback) (defined in PortAudioWrap)PortAudioWrap
setCallback(PaStreamCallback *m_pStreamCallback) (defined in PortAudioWrap)PortAudioWrap
setFdmdvState(FDMDV *fdmdv_state) (defined in PortAudioWrap)PortAudioWrapinline
setFramesPerBuffer(unsigned long size) (defined in PortAudioWrap)PortAudioWrap
setInputBuffer(const PaStreamParameters &inputBuffer) (defined in PortAudioWrap)PortAudioWrapinline
setOutputLatency(PaTime latency) (defined in PortAudioWrap)PortAudioWrap
setOutputSampleFormat(PaSampleFormat format) (defined in PortAudioWrap)PortAudioWrap
setSampleRate(unsigned long size) (defined in PortAudioWrap)PortAudioWrap
setSamplerate(int samplerate) (defined in PortAudioWrap)PortAudioWrapinline
setStatusFlags(const PaStreamCallbackFlags &statusFlags) (defined in PortAudioWrap)PortAudioWrapinline
setStream(PaStream *stream) (defined in PortAudioWrap)PortAudioWrapinline
setStreamCallback(PaStream *stream, PaStreamCallback *callback) (defined in PortAudioWrap)PortAudioWrapinline
setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback *streamFinishedCallback) (defined in PortAudioWrap)PortAudioWrap
setStreamFinishedCallback(PaStreamFinishedCallback *streamFinishedCallback) (defined in PortAudioWrap)PortAudioWrapinline
setStreamCallback(PaStream *stream, PaStreamCallback *callback) (defined in PortAudioWrap)PortAudioWrapinline
setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback *m_pStreamFinishedCallback) (defined in PortAudioWrap)PortAudioWrap
setStreamFlags(PaStreamFlags flags) (defined in PortAudioWrap)PortAudioWrap
setTimeInfo(PaStreamCallbackTimeInfo *timeInfo) (defined in PortAudioWrap)PortAudioWrapinline
setUserData(void *userData) (defined in PortAudioWrap)PortAudioWrapinline
diff --git a/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap.html b/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap.html index 43ec5bd0..4d22d486 100644 --- a/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap.html +++ b/fdmdv2/fdmdv2-doc/html/class_port_audio_wrap.html @@ -55,9 +55,9 @@ - - + + @@ -76,18 +76,18 @@ PaError  - - + + - - - - + + + + @@ -130,51 +130,24 @@ PaError  - - - - - - - - - - - - - - - - - - @@ -184,18 +157,33 @@ const PaStreamParameters &  - - + + + + + + + + + + + + @@ -231,7 +219,7 @@ float 

Public Member Functions

-void per_frame_rx_processing (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2)
 
+void averageData (float mag_dB[])
 
PaDeviceIndex getDefaultInputDevice ()
 
setSampleRate
PaError setStreamFlags (PaStreamFlags flags)
 
-PaError setCallback (PaStreamCallback *streamCallback)
 
+PaError setCallback (PaStreamCallback *m_pStreamCallback)
 
PaError setStreamCallback (PaStream *stream, PaStreamCallback *callback)
 
-PaError setStreamFinishedCallback (PaStream *stream, PaStreamFinishedCallback *streamFinishedCallback)
 
-PaError streamOpen ()
 
+PaError setStreamFinishedCallback (PaStream *stream, PaStreamFinishedCallback *m_pStreamFinishedCallback)
 
+void setInputBuffer (const PaStreamParameters &inputBuffer)
 
PaError setInputDevice (PaDeviceIndex dev)
 
setOutputSampleFor
PaError setOutputLatency (PaTime latency)
 
-PaError streamStart ()
 
-PaError streamClose ()
 
void setOutputHostApiStreamInfo (void *info=NULL)
 
PaTime getOutputDefaultLowLatency ()
 
-void averageData (float mag_dB[])
 
void setFdmdvState (FDMDV *fdmdv_state)
 
-void setInputBuffer (const PaStreamParameters &inputBuffer)
 
void setOutputBuffer (const PaStreamParameters &outputBuffer)
 
-void setSamplerate (int samplerate)
 
-void setStatusFlags (const PaStreamCallbackFlags &statusFlags)
 
-void setStream (PaStream *stream)
 
-void setStreamFinishedCallback (PaStreamFinishedCallback *streamFinishedCallback)
 
void setTimeInfo (PaStreamCallbackTimeInfo *timeInfo)
 
void setUserData (void *userData)
 
-FDMDV * getFdmdvState ()
 
unsigned long getFramesPerBuffer () const
 
const PaStreamParameters & getOutputBuffer () const
 
-int getSamplerate () const
 
const PaStreamCallbackFlags & getStatusFlags () const
 
+FDMDV * getFdmdvState ()
 
+int getSamplerate () const
 
PaStream * getStream ()
 
void * getUserData ()
 
+bool getDataAvail ()
 
+PaError streamStart ()
 
+PaError streamClose ()
 
+PaError streamOpen ()
 
void terminate ()
 
m_av_mag [FDMDV_ diff --git a/fdmdv2/fdmdv2-doc/html/class_top_frame-members.html b/fdmdv2/fdmdv2-doc/html/class_top_frame-members.html index 2249e4b6..33b7a33c 100644 --- a/fdmdv2/fdmdv2-doc/html/class_top_frame-members.html +++ b/fdmdv2/fdmdv2-doc/html/class_top_frame-members.html @@ -117,7 +117,7 @@
diff --git a/fdmdv2/fdmdv2-doc/html/class_top_frame.html b/fdmdv2/fdmdv2-doc/html/class_top_frame.html index beb89a02..1bb08888 100644 --- a/fdmdv2/fdmdv2-doc/html/class_top_frame.html +++ b/fdmdv2/fdmdv2-doc/html/class_top_frame.html @@ -276,7 +276,7 @@ wxStatusBar * m_statusBar1 diff --git a/fdmdv2/fdmdv2-doc/html/classes.html b/fdmdv2/fdmdv2-doc/html/classes.html index e1f14174..20be30ca 100644 --- a/fdmdv2/fdmdv2-doc/html/classes.html +++ b/fdmdv2/fdmdv2-doc/html/classes.html @@ -59,19 +59,18 @@ AboutDlg   MainApp   paCallBackData   
  T  
AudioDlg   DlgAbout   MainFrame   PlotPanel    -AudioStream   DlgAudio   
  O  
-PlotScalar   TopFrame   
  C  
-DlgComPorts   PlotScatter    -DlgOptions   OptionsDlg   PlotSpectrum    -COMP    +DlgAudio   
  O  
+PlotScalar   TopFrame    +DlgComPorts   PlotScatter    +COMP   DlgOptions   OptionsDlg   PlotSpectrum   
A | C | D | M | O | P | T
diff --git a/fdmdv2/fdmdv2-doc/html/comp_8h_source.html b/fdmdv2/fdmdv2-doc/html/comp_8h_source.html index 22fd3e80..670f7dda 100644 --- a/fdmdv2/fdmdv2-doc/html/comp_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/comp_8h_source.html @@ -91,7 +91,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/dlg__about_8h_source.html b/fdmdv2/fdmdv2-doc/html/dlg__about_8h_source.html index a80033e6..23491771 100644 --- a/fdmdv2/fdmdv2-doc/html/dlg__about_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/dlg__about_8h_source.html @@ -80,7 +80,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/dlg__audio_8h_source.html b/fdmdv2/fdmdv2-doc/html/dlg__audio_8h_source.html index 8648f7fa..c61812ac 100644 --- a/fdmdv2/fdmdv2-doc/html/dlg__audio_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/dlg__audio_8h_source.html @@ -98,7 +98,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/dlg__comports_8h_source.html b/fdmdv2/fdmdv2-doc/html/dlg__comports_8h_source.html index 5c3d2d6f..6611c186 100644 --- a/fdmdv2/fdmdv2-doc/html/dlg__comports_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/dlg__comports_8h_source.html @@ -79,7 +79,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/dlg__options_8h_source.html b/fdmdv2/fdmdv2-doc/html/dlg__options_8h_source.html index 159cf8be..1db6e003 100644 --- a/fdmdv2/fdmdv2-doc/html/dlg__options_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/dlg__options_8h_source.html @@ -82,7 +82,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__defines_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__defines_8h_source.html index b6a80c23..ae142402 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__defines_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__defines_8h_source.html @@ -141,7 +141,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__main_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__main_8h_source.html index 7c7f7826..080fa633 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__main_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__main_8h_source.html @@ -64,16 +64,16 @@
13 #include <wx/wx.h>
14 
15 #include "wx/file.h"
-
16 #include "wx/filename.h"
-
17 #include "wx/graphics.h"
-
18 #include "wx/mstream.h"
-
19 #include "wx/wfstream.h"
-
20 #include "wx/quantize.h"
-
21 #include "wx/scopedptr.h"
-
22 #include "wx/stopwatch.h"
-
23 #include "wx/versioninfo.h"
-
24 #include <wx/sound.h>
-
25 //#include <wx/thread.h>
+
16 #include "wx/config.h"
+
17 #include "wx/filename.h"
+
18 #include "wx/graphics.h"
+
19 #include "wx/mstream.h"
+
20 #include "wx/wfstream.h"
+
21 #include "wx/quantize.h"
+
22 #include "wx/scopedptr.h"
+
23 #include "wx/stopwatch.h"
+
24 #include "wx/versioninfo.h"
+
25 #include <wx/sound.h>
26 
27 #include "codec2.h"
28 #include "fdmdv.h"
@@ -92,158 +92,186 @@
41 #include "sndfile.h"
42 #include "portaudio.h"
43 
-
44 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
45 // Class MainApp
-
46 //
-
47 // @class $(Name)
-
48 // @author $(User)
-
49 // @date $(Date)
-
50 // @file $(CurrentFileName).$(CurrentFileExt)
-
51 // @brief
-
52 //
-
53 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
54 class MainApp : public wxApp
-
55 {
-
56  public:
-
57  virtual bool OnInit();
-
58  virtual int OnExit()
-
59  {
-
60  return 0;
-
61  }
-
62 
-
63  protected:
-
64 };
-
65 
-
66 // declare global static function wxGetApp()
-
67 DECLARE_APP(MainApp)
-
68 
-
69 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
70 // Class MainFrame
-
71 //
-
72 // @class $(Name)
-
73 // @author $(User)
-
74 // @date $(Date)
-
75 // @file $(CurrentFileName).$(CurrentFileExt)
-
76 // @brief
-
77 //
-
78 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
79 class MainFrame : public TopFrame
-
80 {
-
81  public:
-
82  MainFrame(wxWindow *parent);
-
83  virtual ~MainFrame();
-
84 
-
85  PlotPanel* m_panelDefaultA;
-
86  PlotSpectrum* m_panelSpectrum;
-
87  PlotWaterfall* m_panelWaterfall;
-
88  PlotScatter* m_panelScatter;
-
89  PlotScalar* m_panelScalar;
-
90  bool m_SquelchActive;
-
91  bool m_RxRunning;
-
92  bool m_TxRunning;
-
93  CODEC2 *m_RXCodec2;
-
94  CODEC2 *m_TXCodec2;
-
95  PortAudioWrap *m_rxPa;
-
96  PortAudioWrap *m_txPa;
-
97  PaDeviceIndex m_rxDevIn;
-
98  PaDeviceIndex m_rxDevOut;
-
99  PaDeviceIndex m_txDevIn;
-
100  PaDeviceIndex m_txDevOut;
-
101  PaError m_rxErr;
-
102  PaError m_txErr;
-
103  wxSound *m_sound;
-
104 
-
105  static int rxCallback(
-
106  const void *inBuffer,
-
107  void *outBuffer,
-
108  unsigned long framesPerBuffer,
-
109  const PaStreamCallbackTimeInfo *outTime,
-
110  PaStreamCallbackFlags statusFlags,
-
111  void *userData
-
112  );
-
113  static int txCallback(
-
114  const void *inBuffer,
-
115  void *outBuffer,
-
116  unsigned long framesPerBuffer,
-
117  const PaStreamCallbackTimeInfo *outTime,
-
118  PaStreamCallbackFlags statusFlags,
-
119  void *userData
-
120  );
-
121 
-
122  protected:
-
123  // protected event handlers
-
124  virtual void OnCloseFrame(wxCloseEvent& event);
-
125  virtual void OnExitClick(wxCommandEvent& event);
-
126 
-
127  void startTxStream();
-
128  void startRxStream();
-
129  void stopTxStream();
-
130  void stopRxStream();
-
131  void abortTxStream();
-
132  void abortRxStream();
-
133  void OnOpen( wxCommandEvent& event );
-
134  void OnOpenUpdateUI( wxUpdateUIEvent& event );
-
135  void OnSave( wxCommandEvent& event );
-
136  void OnSaveUpdateUI( wxUpdateUIEvent& event );
-
137  void OnClose( wxCommandEvent& event );
-
138  void OnCloseUpdateUI( wxUpdateUIEvent& event );
-
139  void OnExit( wxCommandEvent& event );
-
140  void OnCopy( wxCommandEvent& event );
-
141  void OnCopyUpdateUI( wxUpdateUIEvent& event );
-
142  void OnCut( wxCommandEvent& event );
-
143  void OnCutUpdateUI( wxUpdateUIEvent& event );
-
144  void OnPaste( wxCommandEvent& event );
-
145  void OnPasteUpdateUI( wxUpdateUIEvent& event );
-
146  void OnToolsAudio( wxCommandEvent& event );
-
147  void OnToolsAudioUI( wxUpdateUIEvent& event );
-
148  void OnToolsComCfg( wxCommandEvent& event );
-
149  void OnToolsComCfgUI( wxUpdateUIEvent& event );
-
150  void OnToolsOptions( wxCommandEvent& event );
-
151  void OnToolsOptionsUI( wxUpdateUIEvent& event );
-
152  void OnCaptureRxStream( wxCommandEvent& event );
-
153  void OnCaptureTxStream( wxCommandEvent& event );
-
154  void OnPlayAudioFile( wxCommandEvent& event );
-
155  void OnHelpCheckUpdates( wxCommandEvent& event );
-
156  void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event );
-
157  void OnHelpAbout( wxCommandEvent& event );
-
158  void OnCmdSliderScroll( wxScrollEvent& event );
-
159  void OnSliderScrollBottom( wxScrollEvent& event );
-
160  void OnCmdSliderScrollChanged( wxScrollEvent& event );
-
161  void OnSliderScrollTop( wxScrollEvent& event );
-
162  void OnCheckSQClick( wxCommandEvent& event );
-
163  // Toggle Buttons
-
164  void OnTogBtnSplitClick(wxCommandEvent& event);
-
165  void OnTogBtnAnalogClick(wxCommandEvent& event);
-
166  void OnTogBtnALCClick(wxCommandEvent& event);
-
167  void OnTogBtnRxID( wxCommandEvent& event );
-
168  void OnTogBtnTxID( wxCommandEvent& event );
-
169  void OnTogBtnTXClick( wxCommandEvent& event );
-
170  void OnTogBtnOnOff( wxCommandEvent& event );
-
171  void OnPaint(wxPaintEvent& event);
-
172  void OnClose( wxCloseEvent& event );
-
173  void OnSize( wxSizeEvent& event );
-
174  void OnUpdateUI( wxUpdateUIEvent& event );
-
175 
-
176  wxString LoadUserImage(wxImage& image);
-
177 
-
178  private:
-
179  bool CreateSound(wxSound& snd) const;
-
180 
-
181  wxString m_soundFile;
-
182 #ifdef __WXMSW__
-
183  wxString m_soundRes;
-
184 #endif // __WXMSW__
-
185  bool m_useMemory;
-
186 
-
187  wxTextCtrl* m_tc;
-
188  int m_zoom;
-
189 };
-
190 
-
191 #endif //__FDMDV2_MAIN__
+
44 #define USE_TIMER 1
+
45 
+
46 enum {
+
47  ID_START = wxID_HIGHEST,
+
48  ID_TIMER_WATERFALL,
+
49  ID_TIMER_SPECTRUM,
+
50  ID_TIMER_SCATTER,
+
51  ID_TIMER_SCALAR
+
52  };
+
53 
+
54 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
55 // Class MainApp
+
56 //
+
57 // @class $(Name)
+
58 // @author $(User)
+
59 // @date $(Date)
+
60 // @file $(CurrentFileName).$(CurrentFileExt)
+
61 // @brief
+
62 //
+
63 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
64 class MainApp : public wxApp
+
65 {
+
66  public:
+
67  virtual bool OnInit();
+
68  virtual int OnExit()
+
69  {
+
70  return 0;
+
71  }
+
72  bool loadConfig();
+
73  protected:
+
74  wxConfig *g_config;
+
75 };
+
76 
+
77 // declare global static function wxGetApp()
+
78 DECLARE_APP(MainApp)
+
79 
+
80 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
81 // Class MainFrame
+
82 //
+
83 // @class $(Name)
+
84 // @author $(User)
+
85 // @date $(Date)
+
86 // @file $(CurrentFileName).$(CurrentFileExt)
+
87 // @brief
+
88 //
+
89 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
90 class MainFrame : public TopFrame
+
91 {
+
92  public:
+
93  MainFrame(wxWindow *parent);
+
94  virtual ~MainFrame();
+
95 
+
96  PlotPanel* m_panelDefaultA;
+
97  PlotSpectrum* m_panelSpectrum;
+
98  PlotWaterfall* m_panelWaterfall;
+
99  PlotScatter* m_panelScatter;
+
100  PlotScalar* m_panelScalar;
+
101  bool m_SquelchActive;
+
102  bool m_RxRunning;
+
103  bool m_TxRunning;
+
104  CODEC2 *m_RXCodec2;
+
105  CODEC2 *m_TXCodec2;
+
106  PortAudioWrap *m_rxPa;
+
107  PortAudioWrap *m_txPa;
+
108  PaDeviceIndex m_rxDevIn;
+
109  PaDeviceIndex m_rxDevOut;
+
110  PaDeviceIndex m_txDevIn;
+
111  PaDeviceIndex m_txDevOut;
+
112  PaError m_rxErr;
+
113  PaError m_txErr;
+
114  wxSound *m_sound;
+
115  struct FDMDV *m_pFDMDV_state;
+
116  wxTimer m_plotTimer;
+
117 
+
118  static int rxCallback(
+
119  const void *inBuffer,
+
120  void *outBuffer,
+
121  unsigned long framesPerBuffer,
+
122  const PaStreamCallbackTimeInfo *outTime,
+
123  PaStreamCallbackFlags statusFlags,
+
124  void *userData
+
125  );
+
126  static int txCallback(
+
127  const void *inBuffer,
+
128  void *outBuffer,
+
129  unsigned long framesPerBuffer,
+
130  const PaStreamCallbackTimeInfo *outTime,
+
131  PaStreamCallbackFlags statusFlags,
+
132  void *userData
+
133  );
+
134 
+
135  void per_frame_rx_processing(
+
136  short output_buf[], // output buf of decoded speech samples
+
137  int *n_output_buf, // how many samples currently in output_buf[]
+
138  int codec_bits[], // current frame of bits for decoder
+
139  short input_buf[], // input buf of modem samples input to demod
+
140  int *n_input_buf, // how many samples currently in input_buf[]
+
141  int *nin, // amount of samples demod needs for next call
+
142  int *state, // used to collect codec_bits[] halves
+
143  struct CODEC2 *c2 // Codec 2 states
+
144  );
+
145 
+
146  protected:
+
147  // protected event handlers
+
148  virtual void OnCloseFrame(wxCloseEvent& event);
+
149  virtual void OnExitClick(wxCommandEvent& event);
+
150 
+
151  void averageData(float mag_dB[]);
+
152  void startTxStream();
+
153  void startRxStream();
+
154  void stopTxStream();
+
155  void stopRxStream();
+
156  void abortTxStream();
+
157  void abortRxStream();
+
158 
+
159  void OnOpen( wxCommandEvent& event );
+
160  void OnOpenUpdateUI( wxUpdateUIEvent& event );
+
161  void OnSave( wxCommandEvent& event );
+
162  void OnSaveUpdateUI( wxUpdateUIEvent& event );
+
163  void OnClose( wxCommandEvent& event );
+
164  void OnCloseUpdateUI( wxUpdateUIEvent& event );
+
165  void OnExit( wxCommandEvent& event );
+
166  void OnCopy( wxCommandEvent& event );
+
167  void OnCopyUpdateUI( wxUpdateUIEvent& event );
+
168  void OnCut( wxCommandEvent& event );
+
169  void OnCutUpdateUI( wxUpdateUIEvent& event );
+
170  void OnPaste( wxCommandEvent& event );
+
171  void OnPasteUpdateUI( wxUpdateUIEvent& event );
+
172  void OnToolsAudio( wxCommandEvent& event );
+
173  void OnToolsAudioUI( wxUpdateUIEvent& event );
+
174  void OnToolsComCfg( wxCommandEvent& event );
+
175  void OnToolsComCfgUI( wxUpdateUIEvent& event );
+
176  void OnToolsOptions( wxCommandEvent& event );
+
177  void OnToolsOptionsUI( wxUpdateUIEvent& event );
+
178  void OnCaptureRxStream( wxCommandEvent& event );
+
179  void OnCaptureTxStream( wxCommandEvent& event );
+
180  void OnPlayAudioFile( wxCommandEvent& event );
+
181  void OnHelpCheckUpdates( wxCommandEvent& event );
+
182  void OnHelpCheckUpdatesUI( wxUpdateUIEvent& event );
+
183  void OnHelpAbout( wxCommandEvent& event );
+
184  void OnCmdSliderScroll( wxScrollEvent& event );
+
185  void OnSliderScrollBottom( wxScrollEvent& event );
+
186  void OnCmdSliderScrollChanged( wxScrollEvent& event );
+
187  void OnSliderScrollTop( wxScrollEvent& event );
+
188  void OnCheckSQClick( wxCommandEvent& event );
+
189 
+
190  // Toggle Buttons
+
191  void OnTogBtnSplitClick(wxCommandEvent& event);
+
192  void OnTogBtnAnalogClick(wxCommandEvent& event);
+
193  void OnTogBtnALCClick(wxCommandEvent& event);
+
194  void OnTogBtnRxID( wxCommandEvent& event );
+
195  void OnTogBtnTxID( wxCommandEvent& event );
+
196  void OnTogBtnTXClick( wxCommandEvent& event );
+
197  void OnTogBtnOnOff( wxCommandEvent& event );
+
198 
+
199  //System Events
+
200  void OnPaint(wxPaintEvent& event);
+
201  void OnClose( wxCloseEvent& event );
+
202  void OnSize( wxSizeEvent& event );
+
203  void OnUpdateUI( wxUpdateUIEvent& event );
+
204  void OnTimer(wxTimerEvent &evt);
+
205 
+
206  wxString LoadUserImage(wxImage& image);
+
207 
+
208  private:
+
209  bool CreateSound(wxSound& snd) const;
+
210  wxString m_soundFile;
+
211 #ifdef __WXMSW__
+
212  wxString m_soundRes;
+
213 #endif // __WXMSW__
+
214  bool m_useMemory;
+
215  wxTextCtrl* m_tc;
+
216  int m_zoom;
+
217 };
+
218 
+
219 #endif //__FDMDV2_MAIN__
diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__pa__wrapper_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__pa__wrapper_8h_source.html index 8040b9a2..e4e64203 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__pa__wrapper_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__pa__wrapper_8h_source.html @@ -98,119 +98,83 @@
47  float m_av_mag[FDMDV_NSPEC];
48 
49  private:
-
50  PaStream *stream;
-
51  PaStreamParameters inputBuffer;
-
52  PaStreamParameters outputBuffer;
-
53  void *userData;
-
54  int samplerate;
-
55  unsigned long framesPerBuffer;
-
56  PaStreamCallbackFlags statusFlags;
-
57  PaStreamCallback *streamCallback;
-
58  PaStreamFinishedCallback *streamFinishedCallback;
-
59  const PaStreamCallbackTimeInfo *timeInfo;
-
60  struct FDMDV *fdmdv_state;
-
61 
-
62  public:
-
63  void per_frame_rx_processing(
-
64  short output_buf[], /* output buf of decoded speech samples */
-
65  int *n_output_buf, /* how many samples currently in output_buf[] */
-
66  int codec_bits[], /* current frame of bits for decoder */
-
67  short input_buf[], /* input buf of modem samples input to demod */
-
68  int *n_input_buf, /* how many samples currently in input_buf[] */
-
69  int *nin, /* amount of samples demod needs for next call */
-
70  int *state, /* used to collect codec_bits[] halves */
-
71  struct CODEC2 *c2 /* Codec 2 states */
-
72  );
+
50  PaStream *m_pStream;
+
51  void *m_pUserData;
+
52  PaStreamCallback *m_pStreamCallback;
+
53  PaStreamFinishedCallback *m_pStreamFinishedCallback;
+
54  const PaStreamCallbackTimeInfo *m_pTimeInfo;
+
55  struct FDMDV *m_pFDMDV_state;
+
56  PaStreamParameters m_inputBuffer;
+
57  PaStreamParameters m_outputBuffer;
+
58  int m_samplerate;
+
59  unsigned long m_framesPerBuffer;
+
60  PaStreamCallbackFlags m_statusFlags;
+
61  bool m_newdata;
+
62 
+
63  public:
+
64 
+
65  void averageData(float mag_dB[]);
+
66 
+
67  PaDeviceIndex getDefaultInputDevice();
+
68  PaDeviceIndex getDefaultOutputDevice();
+
69  PaStreamParameters *getDeviceInfo(PaDeviceIndex idx);
+
70 
+
71  PaError setFramesPerBuffer(unsigned long size);
+
72  PaError setSampleRate(unsigned long size);
73 
-
74  /*
-
75  static int Callback(
-
76  const void *inBuffer,
-
77  void *outBuffer,
-
78  unsigned long framesPerBuffer,
-
79  const PaStreamCallbackTimeInfo *outTime,
-
80  PaStreamCallbackFlags statusFlags,
-
81  void *userData
-
82  );
-
83  static int txCallback(
-
84  const void *inBuffer,
-
85  void *outBuffer,
-
86  unsigned long framesPerBuffer,
-
87  const PaStreamCallbackTimeInfo *outTime,
-
88  PaStreamCallbackFlags statusFlags,
-
89  void *userData
-
90  );
-
91  */
-
92 
-
93  PaDeviceIndex getDefaultInputDevice();
-
94  PaDeviceIndex getDefaultOutputDevice();
-
95  PaStreamParameters *getDeviceInfo(PaDeviceIndex idx);
-
96 
-
97  PaError setFramesPerBuffer(unsigned long size);
-
98  PaError setSampleRate(unsigned long size);
-
99  PaError setStreamFlags(PaStreamFlags flags);
-
100  PaError setCallback(PaStreamCallback *streamCallback);
-
101  PaError setStreamCallback(PaStream *stream, PaStreamCallback* callback) { streamCallback = callback; return 0;}
-
102  PaError setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback* streamFinishedCallback);
-
103  PaError streamOpen();
-
104 
-
105  PaError setInputDevice(PaDeviceIndex dev);
-
106  PaError setInputChannelCount(int count);
-
107  int getInputChannelCount();
-
108  PaError setInputSampleFormat(PaSampleFormat format);
-
109  PaError setInputSampleRate(PaSampleFormat format);
-
110  PaError setInputLatency(PaTime latency);
-
111  void setInputHostApiStreamInfo(void *info = NULL);
-
112  PaTime getInputDefaultLowLatency();
-
113  const char *getDeviceName(PaDeviceIndex dev);
-
114 
-
115  PaError setOutputDevice(PaDeviceIndex dev);
-
116  PaError setOutputChannelCount(int count);
-
117  const int getOutputChannelCount();
-
118  PaError setOutputSampleFormat(PaSampleFormat format);
-
119  PaError setOutputLatency(PaTime latency);
-
120  PaError streamStart();
-
121  PaError streamClose();
-
122  void setOutputHostApiStreamInfo(void *info = NULL);
-
123  PaTime getOutputDefaultLowLatency();
-
124  void averageData(float mag_dB[]);
-
125 
-
126  void setFdmdvState(FDMDV* fdmdv_state) {this->fdmdv_state = fdmdv_state;}
-
127 // void setFramesPerBuffer(unsigned long framesPerBuffer) {this->framesPerBuffer = framesPerBuffer;}
-
128  void setInputBuffer(const PaStreamParameters& inputBuffer) {this->inputBuffer = inputBuffer;}
-
129 // void setAvMag(float av_mag) {this->m_av_mag = av_mag;}
-
130  void setOutputBuffer(const PaStreamParameters& outputBuffer) {this->outputBuffer = outputBuffer;}
-
131  void setSamplerate(int samplerate) {this->samplerate = samplerate;}
-
132  void setStatusFlags(const PaStreamCallbackFlags& statusFlags) {this->statusFlags = statusFlags;}
-
133  void setStream(PaStream* stream) {this->stream = stream;}
-
134 // void setStreamCallback(PaStreamCallback* streamCallback) {this->streamCallback = streamCallback;}
-
135  void setStreamFinishedCallback(PaStreamFinishedCallback* streamFinishedCallback) {this->streamFinishedCallback = streamFinishedCallback;}
-
136  void setTimeInfo(PaStreamCallbackTimeInfo* timeInfo) {this->timeInfo = timeInfo;}
-
137  void setUserData(void* userData) {this->userData = userData;}
-
138  FDMDV* getFdmdvState() {return fdmdv_state;}
-
139  unsigned long getFramesPerBuffer() const {return framesPerBuffer;}
-
140  const PaStreamParameters& getInputBuffer() const {return inputBuffer;}
-
141 // const float *getAvMag(int idx) const {return (float *)&m_av_mag[idx];}
-
142  const PaStreamParameters& getOutputBuffer() const {return outputBuffer;}
-
143  int getSamplerate() const {return samplerate;}
-
144  const PaStreamCallbackFlags& getStatusFlags() const {return statusFlags;}
-
145  PaStream* getStream() {return stream;}
-
146 // PaStreamCallback* getStreamCallback() {return streamCallback;}
-
147 // PaStreamFinishedCallback* getStreamFinishedCallback() {return streamFinishedCallback;}
-
148 // PaStreamCallbackTimeInfo* getTimeInfo() {return timeInfo;}
-
149  void *getUserData() {return userData;}
-
150 
-
151  void terminate();
-
152  void stop();
-
153  void abort();
-
154  bool isOpen() const;
-
155  bool isStopped() const;
-
156  bool isActive() const;
-
157  void loadData();
-
158 };
+
74  PaError setStreamFlags(PaStreamFlags flags);
+
75  PaError setCallback(PaStreamCallback *m_pStreamCallback);
+
76  PaError setStreamCallback(PaStream *stream, PaStreamCallback* callback) { m_pStreamCallback = callback; return 0;}
+
77  PaError setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback* m_pStreamFinishedCallback);
+
78 
+
79  void setInputBuffer(const PaStreamParameters& inputBuffer) {this->m_inputBuffer = inputBuffer;}
+
80  PaError setInputDevice(PaDeviceIndex dev);
+
81  PaError setInputChannelCount(int count);
+
82  int getInputChannelCount();
+
83  PaError setInputSampleFormat(PaSampleFormat format);
+
84  PaError setInputSampleRate(PaSampleFormat format);
+
85  PaError setInputLatency(PaTime latency);
+
86  void setInputHostApiStreamInfo(void *info = NULL);
+
87  PaTime getInputDefaultLowLatency();
+
88  const char *getDeviceName(PaDeviceIndex dev);
+
89 
+
90  PaError setOutputDevice(PaDeviceIndex dev);
+
91  PaError setOutputChannelCount(int count);
+
92  const int getOutputChannelCount();
+
93  PaError setOutputSampleFormat(PaSampleFormat format);
+
94  PaError setOutputLatency(PaTime latency);
+
95  void setOutputHostApiStreamInfo(void *info = NULL);
+
96  PaTime getOutputDefaultLowLatency();
+
97 
+
98  void setFdmdvState(FDMDV* fdmdv_state) {this->m_pFDMDV_state = fdmdv_state;}
+
99  void setOutputBuffer(const PaStreamParameters& outputBuffer) {this->m_outputBuffer = outputBuffer;}
+
100  void setTimeInfo(PaStreamCallbackTimeInfo* timeInfo) {this->m_pTimeInfo = timeInfo;}
+
101  void setUserData(void* userData) {this->m_pUserData = userData;}
+
102  unsigned long getFramesPerBuffer() const {return m_framesPerBuffer;}
+
103  const PaStreamParameters& getInputBuffer() const {return m_inputBuffer;}
+
104  const PaStreamParameters& getOutputBuffer() const {return m_outputBuffer;}
+
105  const PaStreamCallbackFlags& getStatusFlags() const {return m_statusFlags;}
+
106 
+
107  FDMDV* getFdmdvState() {return m_pFDMDV_state;}
+
108  int getSamplerate() const {return m_samplerate;}
+
109  PaStream* getStream() {return m_pStream;}
+
110  void *getUserData() {return m_pUserData;}
+
111  bool getDataAvail() {return m_newdata;}
+
112  PaError streamStart();
+
113  PaError streamClose();
+
114  PaError streamOpen();
+
115  void terminate();
+
116  void stop();
+
117  void abort();
+
118  bool isOpen() const;
+
119  bool isStopped() const;
+
120  bool isActive() const;
+
121  void loadData();
+
122 };
diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot_8h_source.html index 2c4f7f0b..aad237b3 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot_8h_source.html @@ -67,9 +67,9 @@
16 #include <wx/image.h>
17 #include <wx/dcbuffer.h>
18 
-
19 #define MAX_ZOOM 7
-
20 #define MAX_BMP_X (400 * MAX_ZOOM)
-
21 #define MAX_BMP_Y (400 * MAX_ZOOM)
+
19 #define MAX_ZOOM 7
+
20 #define MAX_BMP_X (400 * MAX_ZOOM)
+
21 #define MAX_BMP_Y (400 * MAX_ZOOM)
22 
23 #define wxUSE_FILEDLG 1
24 #define wxUSE_LIBPNG 1
@@ -83,119 +83,124 @@
32 #define XLEFT_TEXT_OFFSET 8
33 #define YBOTTOM_OFFSET 25
34 #define GRID_INCREMENT 50
-
35 #define GREY_COLOR wxColor(0x80, 0x80, 0x80)
-
36 #define BLACK_COLOR wxColor(0x00, 0x00, 0x00)
-
37 
-
38 #define BLUE_COLOR wxColor(0x00, 0x00, 0xFF)
-
39 #define LIGHT_BLUE_COLOR wxColor(0x80, 0x80, 0xFF)
-
40 
-
41 #define RED_COLOR wxColor(0xFF, 0x5E, 0x5E)
-
42 #define LIGHT_RED_COLOR wxColor(0xFF, 0xE0, 0xE0)
-
43 #define DARK_RED_COLOR wxColor(0xFF, 0x00, 0x00)
-
44 #define PINK_COLOR wxColor(0xFF, 0x80, 0xFF)
-
45 
-
46 #define LIGHT_GREEN_COLOR wxColor(0xE3, 0xFF, 0xE0)
-
47 #define GREEN_COLOR wxColor(0x95, 0xFF, 0x8A)
-
48 #define DARK_GREEN_COLOR wxColor(0x20, 0xFF, 0x08)
-
49 #define VERY_GREEN_COLOR wxColor(0x00, 0xFF, 0x00)
-
50 
-
51 #define YELLOW_COLOR wxColor(0xFF, 0xFF, 0x5E)
-
52 #define LIGHT_YELLOW_COLOR wxColor(0xFF, 0xFF, 0xB5)
-
53 #define DARK_YELLOW_COLOR wxColor(0xFF, 0xFF, 0x08)
-
54 
-
55 /*
-
56  wxNullBrush
-
57  wxBLACK_BRUSH
-
58  wxBLUE_BRUSH
-
59  wxCYAN_BRUSH
-
60  wxGREEN_BRUSH
-
61  wxYELLOW_BRUSH
-
62  wxGREY_BRUSH
-
63  wxLIGHT_GREY_BRUSH
-
64  wxMEDIUM_GREY_BRUSH
-
65  wxRED_BRUSH
-
66  wxTRANSPARENT_BRUSH
-
67  wxWHITE_BRUSH
-
68 */
-
69 
-
70 class MainFrame;
-
71 
-
72 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
73 // Class PlotPanel
-
74 //
-
75 // @class $(Name)
-
76 // @author $(User)
-
77 // @date $(Date)
-
78 // @file $(CurrentFileName).$(CurrentFileExt)
-
79 // @brief
-
80 //
-
81 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
-
82 class PlotPanel : public wxPanel
-
83 {
-
84  public:
-
85  PlotPanel(wxFrame* parent);
-
86  ~PlotPanel();
-
87  wxPen m_penShortDash;
-
88  wxPen m_penDotDash;
-
89  wxPen m_penSolid;
-
90  wxRect m_rectCtrl;
-
91  wxRect m_rectGrid;
-
92  wxRect m_rectPlot;
-
93  MainFrame *m_pTopFrame;
-
94  wxAuiNotebook *m_pNoteBook;
-
95  double m_label_size;
-
96  wxSize m_Bufsz;
-
97  bool m_newdata;
-
98  wxBitmap *m_bmp;
-
99  wxNativePixelData *m_pBmp;
-
100 
-
101  // some useful events
-
102  void OnMouseMove(wxMouseEvent& event);
-
103  void OnMouseDown(wxMouseEvent& event);
-
104  void OnMouseUp(wxMouseEvent& event);
-
105  void OnMouseWheelMoved(wxMouseEvent& event);
-
106  void OnClose(wxCloseEvent& event ){ event.Skip(); }
-
107  void OnSize( wxSizeEvent& event );
-
108  void OnErase(wxEraseEvent& event);
-
109  void OnPaint(wxPaintEvent& event);
-
110  //void OnUpdateUI( wxUpdateUIEvent& event ){ event.Skip(); }
-
111 
-
112  void paintEvent(wxPaintEvent & evt);
-
113  virtual void draw(wxAutoBufferedPaintDC& dc);
-
114  virtual void drawGraticule(wxAutoBufferedPaintDC& dc);
-
115  virtual double SetZoomFactor(double zf);
-
116  virtual double GetZoomFactor(double zf);
-
117  virtual void OnShow(wxShowEvent& event);
-
118  virtual double GetLabelSize();
-
119  virtual void SetLabelSize(double size);
-
120 
-
121  protected:
-
122  int m_x;
-
123  int m_y;
-
124  int m_w;
-
125  int m_h;
-
126  int m_left;
-
127  int m_top;
-
128  int m_prev_w;
-
129  int m_prev_h;
-
130  int m_prev_x;
-
131  int m_prev_y;
-
132  bool m_use_bitmap;
-
133  bool m_clip;
-
134  bool m_rubberBand;
-
135  bool m_mouseDown;
-
136  double m_zoomFactor;
-
137 // int m_gridLeftOffset;
-
138 // int m_gridRightOffset;
-
139 // int m_gridTopOffset;
-
140 // int m_gridBottomOffset;
-
141  DECLARE_EVENT_TABLE()
-
142 };
-
143 #endif //__FDMDV2_PLOT__
+
35 
+
36 #define BLACK_COLOR wxColor(0x00, 0x00, 0x00)
+
37 #define GREY_COLOR wxColor(0x80, 0x80, 0x80)
+
38 #define DARK_GREY_COLOR wxColor(0x60, 0x60, 0x60)
+
39 #define MEDIUM_GREY_COLOR wxColor(0xC0, 0xC0, 0xC0)
+
40 #define LIGHT_GREY_COLOR wxColor(0xE0, 0xE0, 0xE0)
+
41 #define VERY_LTGREY_COLOR wxColor(0xF8, 0xF8, 0xF8)
+
42 #define WHITE_COLOR wxColor(0xFF, 0xFF, 0xFF)
+
43 
+
44 #define BLUE_COLOR wxColor(0x00, 0x00, 0xFF)
+
45 #define LIGHT_BLUE_COLOR wxColor(0x80, 0x80, 0xFF)
+
46 
+
47 #define RED_COLOR wxColor(0xFF, 0x5E, 0x5E)
+
48 #define LIGHT_RED_COLOR wxColor(0xFF, 0xE0, 0xE0)
+
49 #define DARK_RED_COLOR wxColor(0xFF, 0x00, 0x00)
+
50 #define PINK_COLOR wxColor(0xFF, 0x80, 0xFF)
+
51 
+
52 #define LIGHT_GREEN_COLOR wxColor(0xE3, 0xFF, 0xE0)
+
53 #define GREEN_COLOR wxColor(0x95, 0xFF, 0x8A)
+
54 #define DARK_GREEN_COLOR wxColor(0x20, 0xFF, 0x08)
+
55 #define VERY_GREEN_COLOR wxColor(0x00, 0xFF, 0x00)
+
56 
+
57 #define YELLOW_COLOR wxColor(0xFF, 0xFF, 0x5E)
+
58 #define LIGHT_YELLOW_COLOR wxColor(0xFF, 0xFF, 0xB5)
+
59 #define DARK_YELLOW_COLOR wxColor(0xFF, 0xFF, 0x08)
+
60 
+
61 
+
62 /*
+
63  wxNullBrush
+
64  wxBLACK_BRUSH
+
65  wxBLUE_BRUSH
+
66  wxCYAN_BRUSH
+
67  wxGREEN_BRUSH
+
68  wxYELLOW_BRUSH
+
69  wxGREY_BRUSH
+
70  wxLIGHT_GREY_BRUSH
+
71  wxMEDIUM_GREY_BRUSH
+
72  wxRED_BRUSH
+
73  wxTRANSPARENT_BRUSH
+
74  wxWHITE_BRUSH
+
75 */
+
76 
+
77 class MainFrame;
+
78 
+
79 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
80 // Class PlotPanel
+
81 //
+
82 // @class $(Name)
+
83 // @author $(User)
+
84 // @date $(Date)
+
85 // @file $(CurrentFileName).$(CurrentFileExt)
+
86 // @brief
+
87 //
+
88 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
+
89 class PlotPanel : public wxPanel
+
90 {
+
91  public:
+
92  PlotPanel(wxFrame* parent);
+
93  ~PlotPanel();
+
94  wxPen m_penShortDash;
+
95  wxPen m_penDotDash;
+
96  wxPen m_penSolid;
+
97  wxRect m_rCtrlPrev;
+
98  wxRect m_rCtrl;
+
99  wxRect m_rGrid;
+
100  wxRect m_rPlot;
+
101  MainFrame *m_pTopFrame;
+
102  wxAuiNotebook *m_pNoteBook;
+
103  double m_label_size;
+
104  wxSize m_Bufsz;
+
105  bool m_newdata;
+
106  wxBitmap *m_bmp;
+
107  wxNativePixelData *m_pBmp;
+
108 
+
109  // some useful events
+
110  void OnMouseMove(wxMouseEvent& event);
+
111  void OnMouseDown(wxMouseEvent& event);
+
112  void OnMouseUp(wxMouseEvent& event);
+
113  void OnMouseWheelMoved(wxMouseEvent& event);
+
114  void OnClose(wxCloseEvent& event ){ event.Skip(); }
+
115  void OnSize( wxSizeEvent& event );
+
116  void OnErase(wxEraseEvent& event);
+
117  void OnPaint(wxPaintEvent& event);
+
118  //void OnUpdateUI( wxUpdateUIEvent& event ){ event.Skip(); }
+
119 
+
120  void paintEvent(wxPaintEvent & evt);
+
121  virtual void draw(wxAutoBufferedPaintDC& pdc);
+
122  virtual void drawGraticule(wxAutoBufferedPaintDC& pdc);
+
123  virtual double SetZoomFactor(double zf);
+
124  virtual double GetZoomFactor(double zf);
+
125  virtual void OnShow(wxShowEvent& event);
+
126  virtual double GetLabelSize();
+
127  virtual void SetLabelSize(double size);
+
128 
+
129  protected:
+
130  int m_x;
+
131  int m_y;
+
132 // int m_w;
+
133 // int m_h;
+
134  int m_left;
+
135  int m_top;
+
136  int m_prev_w;
+
137  int m_prev_h;
+
138  int m_prev_x;
+
139  int m_prev_y;
+
140  bool m_use_bitmap;
+
141  bool m_clip;
+
142  bool m_rubberBand;
+
143  bool m_mouseDown;
+
144  bool m_firstPass;
+
145  double m_zoomFactor;
+
146  DECLARE_EVENT_TABLE()
+
147 };
+
148 #endif //__FDMDV2_PLOT__
diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scalar_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scalar_8h_source.html index d6a54c36..b9b969fb 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scalar_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scalar_8h_source.html @@ -114,7 +114,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scatter_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scatter_8h_source.html index 4452e693..0b0758aa 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scatter_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__scatter_8h_source.html @@ -106,7 +106,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__spectrum_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__spectrum_8h_source.html index f68f5db8..3686b31b 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__spectrum_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__spectrum_8h_source.html @@ -103,7 +103,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__waterfall_8h_source.html b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__waterfall_8h_source.html index ff40160f..e986bad7 100644 --- a/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__waterfall_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/fdmdv2__plot__waterfall_8h_source.html @@ -91,32 +91,33 @@
40 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=
41 class PlotWaterfall : public PlotPanel
42 {
-
43 public:
-
44  PlotWaterfall(wxFrame* parent);
-
45  ~PlotWaterfall();
+
43  public:
+
44  PlotWaterfall(wxFrame* parent);
+
45  ~PlotWaterfall();
46 
-
47 protected:
-
48 // unsigned *m_pixel_buf;
-
49  unsigned m_heatmap_lut[256];
-
50  int m_greyscale;
-
51 
-
52  unsigned heatmap(float val, float min, float max);
+
47  protected:
+
48  // unsigned *m_pixel_buf;
+
49  unsigned m_heatmap_lut[256];
+
50  int m_greyscale;
+
51  wxMemoryDC m_mDC;
+
52  int m_line_color;
53 
-
54  void OnPaint(wxPaintEvent & evt);
-
55  void OnSize(wxSizeEvent& event);
-
56  void OnShow(wxShowEvent& event);
-
57  void drawGraticule(wxAutoBufferedPaintDC& dc);
-
58  void draw(wxAutoBufferedPaintDC& dc);
-
59  void plotData(wxAutoBufferedPaintDC& dc);
-
60  void plotPixelData(wxAutoBufferedPaintDC& dc);
-
61  DECLARE_EVENT_TABLE()
-
62 };
-
63 
-
64 #endif //__FDMDV2_PLOT_WATERFALL__
+
54  unsigned heatmap(float val, float min, float max);
+
55 
+
56  void OnPaint(wxPaintEvent & evt);
+
57  //void OnSize(wxSizeEvent& event);
+
58  void OnShow(wxShowEvent& event);
+
59  void drawGraticule(wxAutoBufferedPaintDC& dc);
+
60  void draw(wxAutoBufferedPaintDC& pdc);
+
61  void plotPixelData(wxAutoBufferedPaintDC& dc);
+
62  DECLARE_EVENT_TABLE()
+
63 };
+
64 
+
65 #endif //__FDMDV2_PLOT_WATERFALL__
diff --git a/fdmdv2/fdmdv2-doc/html/files.html b/fdmdv2/fdmdv2-doc/html/files.html index f96c29a7..d0653b03 100644 --- a/fdmdv2/fdmdv2-doc/html/files.html +++ b/fdmdv2/fdmdv2-doc/html/files.html @@ -48,27 +48,26 @@
Here is a list of all documented files with brief descriptions:
[detail level 12]
- - - - - - - - - - - - - - - + + + + + + + + + + + + + +
\-src
 o*audiostream.h
 o*comp.h
 o*dlg_about.h
 o*dlg_audio.h
 o*dlg_comports.h
 o*dlg_options.h
 o*fdmdv2_defines.h
 o*fdmdv2_main.h
 o*fdmdv2_pa_wrapper.h
 o*fdmdv2_plot.h
 o*fdmdv2_plot_scalar.h
 o*fdmdv2_plot_scatter.h
 o*fdmdv2_plot_spectrum.h
 o*fdmdv2_plot_waterfall.h
 \*topFrame.h
 o*comp.h
 o*dlg_about.h
 o*dlg_audio.h
 o*dlg_comports.h
 o*dlg_options.h
 o*fdmdv2_defines.h
 o*fdmdv2_main.h
 o*fdmdv2_pa_wrapper.h
 o*fdmdv2_plot.h
 o*fdmdv2_plot_scalar.h
 o*fdmdv2_plot_scatter.h
 o*fdmdv2_plot_spectrum.h
 o*fdmdv2_plot_waterfall.h
 \*topFrame.h
diff --git a/fdmdv2/fdmdv2-doc/html/functions.html b/fdmdv2/fdmdv2-doc/html/functions.html index 81efee28..26fd9558 100644 --- a/fdmdv2/fdmdv2-doc/html/functions.html +++ b/fdmdv2/fdmdv2-doc/html/functions.html @@ -67,7 +67,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/functions_func.html b/fdmdv2/fdmdv2-doc/html/functions_func.html index fbf3a019..969d309f 100644 --- a/fdmdv2/fdmdv2-doc/html/functions_func.html +++ b/fdmdv2/fdmdv2-doc/html/functions_func.html @@ -67,7 +67,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/graph_legend.html b/fdmdv2/fdmdv2-doc/html/graph_legend.html index 14995260..67927b94 100644 --- a/fdmdv2/fdmdv2-doc/html/graph_legend.html +++ b/fdmdv2/fdmdv2-doc/html/graph_legend.html @@ -107,7 +107,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem diff --git a/fdmdv2/fdmdv2-doc/html/hierarchy.html b/fdmdv2/fdmdv2-doc/html/hierarchy.html index 95ed6f3d..142f298f 100644 --- a/fdmdv2/fdmdv2-doc/html/hierarchy.html +++ b/fdmdv2/fdmdv2-doc/html/hierarchy.html @@ -52,36 +52,35 @@

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically: diff --git a/fdmdv2/fdmdv2-doc/html/index.hhc b/fdmdv2/fdmdv2-doc/html/index.hhc index 3a510bb4..8519420e 100644 --- a/fdmdv2/fdmdv2-doc/html/index.hhc +++ b/fdmdv2/fdmdv2-doc/html/index.hhc @@ -28,12 +28,6 @@
  • -
  • -
      -
    • -
    • -
    • -
    • @@ -136,8 +130,10 @@
    • +
    • +
    • @@ -145,6 +141,7 @@
    • +
    • @@ -175,6 +172,7 @@
    • +
    • @@ -189,6 +187,7 @@
    • +
    • @@ -200,6 +199,8 @@
    • +
    • +
    • @@ -230,8 +231,8 @@
      • -
      • -
      • +
      • +
      • @@ -249,7 +250,7 @@
      • -
      • +
      • @@ -264,13 +265,13 @@
      • -
      • -
      • -
      • +
      • +
      • +
      • +
      • -
      • @@ -318,16 +319,16 @@
        • -
        • +
        • -
        • -
        • +
        • +
        • @@ -335,6 +336,7 @@
        • +
        • @@ -355,8 +357,7 @@
        • -
        • -
        • +
        • @@ -373,12 +374,8 @@
        • -
        • -
        • -
        • -
        • -
        • +
        • @@ -459,7 +456,6 @@
          • -
          • @@ -516,7 +512,6 @@
              • -
              • diff --git a/fdmdv2/fdmdv2-doc/html/index.hhk b/fdmdv2/fdmdv2-doc/html/index.hhk index 0d1e3af7..693f0b64 100644 --- a/fdmdv2/fdmdv2-doc/html/index.hhk +++ b/fdmdv2/fdmdv2-doc/html/index.hhk @@ -29,12 +29,11 @@
              -
            • +
              • -
              • -
              • +
              • +
              -
              • @@ -132,23 +131,24 @@
              -
            • +
              • -
              • +
              • -
              • +
              -
            • +
              • -
              • +
            • -
            • +
            • +
            • @@ -175,6 +175,7 @@
            • +
            • @@ -190,10 +191,10 @@
            • +
            • -
            • @@ -202,7 +203,9 @@
            • +
            • +
              • @@ -226,6 +229,8 @@
              • +
              • +
              • @@ -234,9 +239,10 @@
              • -
              • -
              • -
              • +
              • +
              • +
              • +
              • @@ -313,7 +319,6 @@
              • -
              • @@ -321,6 +326,8 @@
                • +
                • +
                @@ -328,12 +335,15 @@
                • +
                • +
                • +
                • @@ -377,6 +387,7 @@
                • +
                • @@ -391,6 +402,7 @@
                • +
                • @@ -581,7 +593,6 @@
                • -
                • @@ -593,6 +604,7 @@
                +
                • @@ -686,18 +698,17 @@
              • -
              • -
              • +
                • -
                • -
                • +
                • +
                • -
                • +
                • @@ -712,13 +723,13 @@
                • -
                • -
                • -
                • +
                • +
                • +
                • +
                • -
                • @@ -775,15 +786,15 @@
                • -
                • +
                • +
                • +
                • -
                • -
                @@ -793,6 +804,7 @@
                • +
                • @@ -814,8 +826,7 @@
                • -
                • -
                • +
                • @@ -831,12 +842,9 @@
                • -
                • -
                • -
                • -
                • +
                • @@ -848,7 +856,7 @@
              • -
              • +
              • @@ -865,12 +873,9 @@
              • -
              • -
              • -
              • -
              • +
              • diff --git a/fdmdv2/fdmdv2-doc/html/index.hhp b/fdmdv2/fdmdv2-doc/html/index.hhp index 8b8c206a..86c8e14d 100644 --- a/fdmdv2/fdmdv2-doc/html/index.hhp +++ b/fdmdv2/fdmdv2-doc/html/index.hhp @@ -12,7 +12,6 @@ Title=FDMDV2 main="FDMDV2","index.hhc","index.hhk","index.html","index.html",,,,,0x23520,,0x10387e,,,,,,,,0 [FILES] -audiostream_8h_source.html comp_8h_source.html dlg__about_8h_source.html dlg__audio_8h_source.html @@ -31,8 +30,6 @@ class_about_dlg.html class_about_dlg-members.html class_audio_dlg.html class_audio_dlg-members.html -class_audio_stream.html -class_audio_stream-members.html struct_c_o_m_p.html struct_c_o_m_p-members.html class_com_ports_dlg.html @@ -213,4 +210,3 @@ inherit_graph_3.png inherit_graph_4.png inherit_graph_5.png inherit_graph_6.png -inherit_graph_7.png diff --git a/fdmdv2/fdmdv2-doc/html/index.html b/fdmdv2/fdmdv2-doc/html/index.html index c490dde3..7b7b9ca0 100644 --- a/fdmdv2/fdmdv2-doc/html/index.html +++ b/fdmdv2/fdmdv2-doc/html/index.html @@ -43,7 +43,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.map index f8b5d59d..1e724b66 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.map @@ -1,3 +1,3 @@ - + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.md5 index 5e9f9bcd..ed6c2fa3 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.md5 @@ -1 +1 @@ -557b143ce8c560ac9988331631a8a934 \ No newline at end of file +aaffd05cfd69bb82e822a993b3eeb692 \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.png index ccdb1f10..8a5d4f6e 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_0.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_0.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.map index 1e724b66..66e0d4ae 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.map @@ -1,3 +1,10 @@ - + + + + + + + + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.md5 index ed6c2fa3..8338a140 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.md5 @@ -1 +1 @@ -aaffd05cfd69bb82e822a993b3eeb692 \ No newline at end of file +88a3909d536643f3f7d46cc7f2761e21 \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.png index 8a5d4f6e..2ab72931 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_1.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_1.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.map index 66e0d4ae..755dc41c 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.map @@ -1,10 +1,3 @@ - - - - - - - - + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.md5 index 8338a140..687a5ac5 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.md5 @@ -1 +1 @@ -88a3909d536643f3f7d46cc7f2761e21 \ No newline at end of file +b0d059122332f6505326b5bc3f2385cb \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.png index 2ab72931..bf99ff35 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_2.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_2.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.map index 755dc41c..1179fdd7 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.map @@ -1,3 +1,3 @@ - + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.md5 index 687a5ac5..e143f0ce 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.md5 @@ -1 +1 @@ -b0d059122332f6505326b5bc3f2385cb \ No newline at end of file +1920088faa490f7be8a5c842313ef4ce \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.png index bf99ff35..f1470525 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_3.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_3.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.map index 1179fdd7..db7b472a 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.map @@ -1,3 +1,7 @@ - + + + + + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.md5 index e143f0ce..19843443 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.md5 @@ -1 +1 @@ -1920088faa490f7be8a5c842313ef4ce \ No newline at end of file +cfd38fb51da4aafb8dbd51df49bee140 \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.png index f1470525..0d6453be 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_4.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_4.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.map index db7b472a..030f3040 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.map @@ -1,7 +1,3 @@ - - - - - + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.md5 index 19843443..fb8e437f 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.md5 @@ -1 +1 @@ -cfd38fb51da4aafb8dbd51df49bee140 \ No newline at end of file +959eb051c85531be48a3cb2dc971771a \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.png index 0d6453be..d4df11e1 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_5.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_5.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.map b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.map index 030f3040..1196e743 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.map +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.map @@ -1,3 +1,4 @@ - + + diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.md5 b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.md5 index fb8e437f..56859660 100644 --- a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.md5 +++ b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.md5 @@ -1 +1 @@ -959eb051c85531be48a3cb2dc971771a \ No newline at end of file +3578d43f0652547b11bc013a1a10eba3 \ No newline at end of file diff --git a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.png b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.png index d4df11e1..3da9ca24 100644 Binary files a/fdmdv2/fdmdv2-doc/html/inherit_graph_6.png and b/fdmdv2/fdmdv2-doc/html/inherit_graph_6.png differ diff --git a/fdmdv2/fdmdv2-doc/html/inherits.html b/fdmdv2/fdmdv2-doc/html/inherits.html index b0fb79b4..5a366726 100644 --- a/fdmdv2/fdmdv2-doc/html/inherits.html +++ b/fdmdv2/fdmdv2-doc/html/inherits.html @@ -51,35 +51,31 @@ - - - - - - - - @@ -87,7 +83,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p-members.html b/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p-members.html index 324bdb87..4ee89ce1 100644 --- a/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p-members.html +++ b/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p-members.html @@ -56,7 +56,7 @@
                - - -
                +
                +
                +
                +
                +
                +
                +
                diff --git a/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p.html b/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p.html index 607e50f9..008c7303 100644 --- a/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p.html +++ b/fdmdv2/fdmdv2-doc/html/struct_c_o_m_p.html @@ -67,7 +67,7 @@ float imag diff --git a/fdmdv2/fdmdv2-doc/html/structpa_call_back_data-members.html b/fdmdv2/fdmdv2-doc/html/structpa_call_back_data-members.html index 745c439a..da4e0ac5 100644 --- a/fdmdv2/fdmdv2-doc/html/structpa_call_back_data-members.html +++ b/fdmdv2/fdmdv2-doc/html/structpa_call_back_data-members.html @@ -56,7 +56,7 @@ diff --git a/fdmdv2/fdmdv2-doc/html/structpa_call_back_data.html b/fdmdv2/fdmdv2-doc/html/structpa_call_back_data.html index 7df060d9..47ceaa10 100644 --- a/fdmdv2/fdmdv2-doc/html/structpa_call_back_data.html +++ b/fdmdv2/fdmdv2-doc/html/structpa_call_back_data.html @@ -67,7 +67,7 @@ float in8k [MEM8+N8] diff --git a/fdmdv2/fdmdv2-doc/html/top_frame_8h_source.html b/fdmdv2/fdmdv2-doc/html/top_frame_8h_source.html index f3219170..a3c9712e 100644 --- a/fdmdv2/fdmdv2-doc/html/top_frame_8h_source.html +++ b/fdmdv2/fdmdv2-doc/html/top_frame_8h_source.html @@ -318,7 +318,7 @@ diff --git a/fdmdv2/fdmdv2-doc/latex/annotated.tex b/fdmdv2/fdmdv2-doc/latex/annotated.tex index 68d772df..acc4b11c 100644 --- a/fdmdv2/fdmdv2-doc/latex/annotated.tex +++ b/fdmdv2/fdmdv2-doc/latex/annotated.tex @@ -2,7 +2,6 @@ Here are the classes, structs, unions and interfaces with brief descriptions\-:\begin{DoxyCompactList} \item\contentsline{section}{\hyperlink{class_about_dlg}{About\-Dlg} }{\pageref{class_about_dlg}}{} \item\contentsline{section}{\hyperlink{class_audio_dlg}{Audio\-Dlg} }{\pageref{class_audio_dlg}}{} -\item\contentsline{section}{\hyperlink{class_audio_stream}{Audio\-Stream} }{\pageref{class_audio_stream}}{} \item\contentsline{section}{\hyperlink{struct_c_o_m_p}{C\-O\-M\-P} }{\pageref{struct_c_o_m_p}}{} \item\contentsline{section}{\hyperlink{class_com_ports_dlg}{Com\-Ports\-Dlg} }{\pageref{class_com_ports_dlg}}{} \item\contentsline{section}{\hyperlink{class_dlg_about}{Dlg\-About} }{\pageref{class_dlg_about}}{} diff --git a/fdmdv2/fdmdv2-doc/latex/class_main_app.tex b/fdmdv2/fdmdv2-doc/latex/class_main_app.tex index db1237f7..12b9d204 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_main_app.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_main_app.tex @@ -27,6 +27,15 @@ Collaboration diagram for Main\-App\-:\nopagebreak \item \hypertarget{class_main_app_aff49a6bb4a0494d717a3136e9fe17351}{virtual int {\bfseries On\-Exit} ()}\label{class_main_app_aff49a6bb4a0494d717a3136e9fe17351} +\item +\hypertarget{class_main_app_af06cc098b89d1c606aa94ad87d6b0105}{bool {\bfseries load\-Config} ()}\label{class_main_app_af06cc098b89d1c606aa94ad87d6b0105} + +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\hypertarget{class_main_app_ae6022a31caf96dbcc2f519fc5fdc0bbe}{wx\-Config $\ast$ {\bfseries g\-\_\-config}}\label{class_main_app_ae6022a31caf96dbcc2f519fc5fdc0bbe} + \end{DoxyCompactItemize} diff --git a/fdmdv2/fdmdv2-doc/latex/class_main_frame.tex b/fdmdv2/fdmdv2-doc/latex/class_main_frame.tex index b21bbab3..4334ebb8 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_main_frame.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_main_frame.tex @@ -24,6 +24,9 @@ Collaboration diagram for Main\-Frame\-:\nopagebreak \item \hypertarget{class_main_frame_a394b51dbf31b7430ecad3f6ee1007e22}{{\bfseries Main\-Frame} (wx\-Window $\ast$parent)}\label{class_main_frame_a394b51dbf31b7430ecad3f6ee1007e22} +\item +\hypertarget{class_main_frame_af9f4cfb8469872efd9c057d1bc215f08}{void {\bfseries per\-\_\-frame\-\_\-rx\-\_\-processing} (short output\-\_\-buf\mbox{[}$\,$\mbox{]}, int $\ast$n\-\_\-output\-\_\-buf, int codec\-\_\-bits\mbox{[}$\,$\mbox{]}, short input\-\_\-buf\mbox{[}$\,$\mbox{]}, int $\ast$n\-\_\-input\-\_\-buf, int $\ast$nin, int $\ast$state, struct C\-O\-D\-E\-C2 $\ast$c2)}\label{class_main_frame_af9f4cfb8469872efd9c057d1bc215f08} + \end{DoxyCompactItemize} \subsection*{Static Public Member Functions} \begin{DoxyCompactItemize} @@ -93,6 +96,12 @@ Collaboration diagram for Main\-Frame\-:\nopagebreak \item \hypertarget{class_main_frame_a6458de14647c34b3ae5ace81992710d6}{wx\-Sound $\ast$ {\bfseries m\-\_\-sound}}\label{class_main_frame_a6458de14647c34b3ae5ace81992710d6} +\item +\hypertarget{class_main_frame_aae86bcc3a14e94ddc496b9cce6a63c56}{struct F\-D\-M\-D\-V $\ast$ {\bfseries m\-\_\-p\-F\-D\-M\-D\-V\-\_\-state}}\label{class_main_frame_aae86bcc3a14e94ddc496b9cce6a63c56} + +\item +\hypertarget{class_main_frame_aabe58bef730ca69b342f8ac663c3d70d}{wx\-Timer {\bfseries m\-\_\-plot\-Timer}}\label{class_main_frame_aabe58bef730ca69b342f8ac663c3d70d} + \end{DoxyCompactItemize} \subsection*{Protected Member Functions} \begin{DoxyCompactItemize} @@ -102,6 +111,9 @@ Collaboration diagram for Main\-Frame\-:\nopagebreak \item \hypertarget{class_main_frame_ab9ed8ca71402b68b41fd5a7cedb20928}{virtual void {\bfseries On\-Exit\-Click} (wx\-Command\-Event \&event)}\label{class_main_frame_ab9ed8ca71402b68b41fd5a7cedb20928} +\item +\hypertarget{class_main_frame_a31585b905eee875973b106f4e79c263f}{void {\bfseries average\-Data} (float mag\-\_\-d\-B\mbox{[}$\,$\mbox{]})}\label{class_main_frame_a31585b905eee875973b106f4e79c263f} + \item \hypertarget{class_main_frame_af01eb2c59f1a9bcee0b956f8a72004c0}{void {\bfseries start\-Tx\-Stream} ()}\label{class_main_frame_af01eb2c59f1a9bcee0b956f8a72004c0} @@ -243,6 +255,9 @@ Collaboration diagram for Main\-Frame\-:\nopagebreak \item \hypertarget{class_main_frame_a4757c5d7d0e9b2c98dc34336f1dce49e}{void {\bfseries On\-Update\-U\-I} (wx\-Update\-U\-I\-Event \&event)}\label{class_main_frame_a4757c5d7d0e9b2c98dc34336f1dce49e} +\item +\hypertarget{class_main_frame_a9ad22e55c7a3c93f9c071d366ae760d6}{void {\bfseries On\-Timer} (wx\-Timer\-Event \&evt)}\label{class_main_frame_a9ad22e55c7a3c93f9c071d366ae760d6} + \item \hypertarget{class_main_frame_a2577b78ec0105922e5356287519d2e54}{wx\-String {\bfseries Load\-User\-Image} (wx\-Image \&image)}\label{class_main_frame_a2577b78ec0105922e5356287519d2e54} diff --git a/fdmdv2/fdmdv2-doc/latex/class_plot_panel.tex b/fdmdv2/fdmdv2-doc/latex/class_plot_panel.tex index a2504f19..13c5318d 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_plot_panel.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_plot_panel.tex @@ -52,10 +52,10 @@ Collaboration diagram for Plot\-Panel\-:\nopagebreak \hypertarget{class_plot_panel_a042c9df2ebe0c245d9fb5f3aa63595bc}{void {\bfseries paint\-Event} (wx\-Paint\-Event \&evt)}\label{class_plot_panel_a042c9df2ebe0c245d9fb5f3aa63595bc} \item -\hypertarget{class_plot_panel_a5f35a9628a035ef904fb056f5ebcc3c3}{virtual void {\bfseries draw} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_panel_a5f35a9628a035ef904fb056f5ebcc3c3} +\hypertarget{class_plot_panel_a974601747a67a4637a3a133cefe70c13}{virtual void {\bfseries draw} (wx\-Auto\-Buffered\-Paint\-D\-C \&pdc)}\label{class_plot_panel_a974601747a67a4637a3a133cefe70c13} \item -\hypertarget{class_plot_panel_ac9a8cc0d4ab016dc22195b813643c675}{virtual void {\bfseries draw\-Graticule} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_panel_ac9a8cc0d4ab016dc22195b813643c675} +\hypertarget{class_plot_panel_a5444b418c756380e5e08f86a34615be3}{virtual void {\bfseries draw\-Graticule} (wx\-Auto\-Buffered\-Paint\-D\-C \&pdc)}\label{class_plot_panel_a5444b418c756380e5e08f86a34615be3} \item \hypertarget{class_plot_panel_a8e8722d1f4c02f166f7acd6905ea4009}{virtual double {\bfseries Set\-Zoom\-Factor} (double zf)}\label{class_plot_panel_a8e8722d1f4c02f166f7acd6905ea4009} @@ -85,13 +85,16 @@ Collaboration diagram for Plot\-Panel\-:\nopagebreak \hypertarget{class_plot_panel_a229628c08bb7d0fa16589dbf83d635d1}{wx\-Pen {\bfseries m\-\_\-pen\-Solid}}\label{class_plot_panel_a229628c08bb7d0fa16589dbf83d635d1} \item -\hypertarget{class_plot_panel_ad1cfa169df1cfa5ef798b57d2619d742}{wx\-Rect {\bfseries m\-\_\-rect\-Ctrl}}\label{class_plot_panel_ad1cfa169df1cfa5ef798b57d2619d742} +\hypertarget{class_plot_panel_aef7e50cc8a27b9434d17d7d8c245606c}{wx\-Rect {\bfseries m\-\_\-r\-Ctrl\-Prev}}\label{class_plot_panel_aef7e50cc8a27b9434d17d7d8c245606c} \item -\hypertarget{class_plot_panel_a467e202bbd0fa3ef1997fa2b322e349d}{wx\-Rect {\bfseries m\-\_\-rect\-Grid}}\label{class_plot_panel_a467e202bbd0fa3ef1997fa2b322e349d} +\hypertarget{class_plot_panel_a2c10cfe6bcd979613cec037a71ba2c94}{wx\-Rect {\bfseries m\-\_\-r\-Ctrl}}\label{class_plot_panel_a2c10cfe6bcd979613cec037a71ba2c94} \item -\hypertarget{class_plot_panel_afcee74e089f5a50659bb534db80532d9}{wx\-Rect {\bfseries m\-\_\-rect\-Plot}}\label{class_plot_panel_afcee74e089f5a50659bb534db80532d9} +\hypertarget{class_plot_panel_ae8d79eab28220ea1fa8ffcbfd70bc84a}{wx\-Rect {\bfseries m\-\_\-r\-Grid}}\label{class_plot_panel_ae8d79eab28220ea1fa8ffcbfd70bc84a} + +\item +\hypertarget{class_plot_panel_aa4d6249f2f09d03682b8fa704be04548}{wx\-Rect {\bfseries m\-\_\-r\-Plot}}\label{class_plot_panel_aa4d6249f2f09d03682b8fa704be04548} \item \hypertarget{class_plot_panel_ad28637582a93843082fc7b1d8d80c807}{\hyperlink{class_main_frame}{Main\-Frame} $\ast$ {\bfseries m\-\_\-p\-Top\-Frame}}\label{class_plot_panel_ad28637582a93843082fc7b1d8d80c807} @@ -123,12 +126,6 @@ Collaboration diagram for Plot\-Panel\-:\nopagebreak \item \hypertarget{class_plot_panel_a822981fef8ff50da327b3dbca9fd2777}{int {\bfseries m\-\_\-y}}\label{class_plot_panel_a822981fef8ff50da327b3dbca9fd2777} -\item -\hypertarget{class_plot_panel_ae78b6e7fc3e44bea81809813d753125c}{int {\bfseries m\-\_\-w}}\label{class_plot_panel_ae78b6e7fc3e44bea81809813d753125c} - -\item -\hypertarget{class_plot_panel_adcc3cec53897df2c9e99a980938092c1}{int {\bfseries m\-\_\-h}}\label{class_plot_panel_adcc3cec53897df2c9e99a980938092c1} - \item \hypertarget{class_plot_panel_ab41676a2e46c2e801bc639c274a7d5f5}{int {\bfseries m\-\_\-left}}\label{class_plot_panel_ab41676a2e46c2e801bc639c274a7d5f5} @@ -159,6 +156,9 @@ Collaboration diagram for Plot\-Panel\-:\nopagebreak \item \hypertarget{class_plot_panel_acebe9485868374626f03516e3508b592}{bool {\bfseries m\-\_\-mouse\-Down}}\label{class_plot_panel_acebe9485868374626f03516e3508b592} +\item +\hypertarget{class_plot_panel_a1bb0714da68ee75a51a4ebb9e9ea3cad}{bool {\bfseries m\-\_\-first\-Pass}}\label{class_plot_panel_a1bb0714da68ee75a51a4ebb9e9ea3cad} + \item \hypertarget{class_plot_panel_ae2f4907a8e4ed958ef4995e99b1f7148}{double {\bfseries m\-\_\-zoom\-Factor}}\label{class_plot_panel_ae2f4907a8e4ed958ef4995e99b1f7148} diff --git a/fdmdv2/fdmdv2-doc/latex/class_plot_waterfall.tex b/fdmdv2/fdmdv2-doc/latex/class_plot_waterfall.tex index 063b200a..b8652467 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_plot_waterfall.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_plot_waterfall.tex @@ -33,9 +33,6 @@ Collaboration diagram for Plot\-Waterfall\-:\nopagebreak \item \hypertarget{class_plot_waterfall_a37d541349ac6f010a90fee3b9f32fbbb}{void {\bfseries On\-Paint} (wx\-Paint\-Event \&evt)}\label{class_plot_waterfall_a37d541349ac6f010a90fee3b9f32fbbb} -\item -\hypertarget{class_plot_waterfall_adae15df2acf8dd7a1812ea79b2708b65}{void {\bfseries On\-Size} (wx\-Size\-Event \&event)}\label{class_plot_waterfall_adae15df2acf8dd7a1812ea79b2708b65} - \item \hypertarget{class_plot_waterfall_ad55e0e3078f0d5c3699df36ba6d8ab5d}{void {\bfseries On\-Show} (wx\-Show\-Event \&event)}\label{class_plot_waterfall_ad55e0e3078f0d5c3699df36ba6d8ab5d} @@ -43,10 +40,7 @@ Collaboration diagram for Plot\-Waterfall\-:\nopagebreak \hypertarget{class_plot_waterfall_aa97d243b7bb91238b7493dcb96139803}{void {\bfseries draw\-Graticule} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_waterfall_aa97d243b7bb91238b7493dcb96139803} \item -\hypertarget{class_plot_waterfall_a3956d17d4ece2c0ca4d50b6f7002b24c}{void {\bfseries draw} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_waterfall_a3956d17d4ece2c0ca4d50b6f7002b24c} - -\item -\hypertarget{class_plot_waterfall_ae19ead564f66f723b7192dbb2bd5815b}{void {\bfseries plot\-Data} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_waterfall_ae19ead564f66f723b7192dbb2bd5815b} +\hypertarget{class_plot_waterfall_a86c6b3a9dc720b681f7b4e47d1fe193d}{void {\bfseries draw} (wx\-Auto\-Buffered\-Paint\-D\-C \&pdc)}\label{class_plot_waterfall_a86c6b3a9dc720b681f7b4e47d1fe193d} \item \hypertarget{class_plot_waterfall_aec560c10f32a6c6e92a62225288c28f3}{void {\bfseries plot\-Pixel\-Data} (wx\-Auto\-Buffered\-Paint\-D\-C \&dc)}\label{class_plot_waterfall_aec560c10f32a6c6e92a62225288c28f3} @@ -60,6 +54,12 @@ Collaboration diagram for Plot\-Waterfall\-:\nopagebreak \item \hypertarget{class_plot_waterfall_a1cb3639849f17b1882b2b3713fd690cf}{int {\bfseries m\-\_\-greyscale}}\label{class_plot_waterfall_a1cb3639849f17b1882b2b3713fd690cf} +\item +\hypertarget{class_plot_waterfall_a1b80aa40a1194ece27c87ec265ef7d2c}{wx\-Memory\-D\-C {\bfseries m\-\_\-m\-D\-C}}\label{class_plot_waterfall_a1b80aa40a1194ece27c87ec265ef7d2c} + +\item +\hypertarget{class_plot_waterfall_aa0b8f5bb510697a7eb8f48628a39b9c7}{int {\bfseries m\-\_\-line\-\_\-color}}\label{class_plot_waterfall_aa0b8f5bb510697a7eb8f48628a39b9c7} + \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} diff --git a/fdmdv2/fdmdv2-doc/latex/class_port_audio_wrap.tex b/fdmdv2/fdmdv2-doc/latex/class_port_audio_wrap.tex index 54f9fabb..ec3ac275 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_port_audio_wrap.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_port_audio_wrap.tex @@ -4,7 +4,7 @@ \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item -\hypertarget{class_port_audio_wrap_a4af13f96f4f8639148668c89942b3365}{void {\bfseries per\-\_\-frame\-\_\-rx\-\_\-processing} (short output\-\_\-buf\mbox{[}$\,$\mbox{]}, int $\ast$n\-\_\-output\-\_\-buf, int codec\-\_\-bits\mbox{[}$\,$\mbox{]}, short input\-\_\-buf\mbox{[}$\,$\mbox{]}, int $\ast$n\-\_\-input\-\_\-buf, int $\ast$nin, int $\ast$state, struct C\-O\-D\-E\-C2 $\ast$c2)}\label{class_port_audio_wrap_a4af13f96f4f8639148668c89942b3365} +\hypertarget{class_port_audio_wrap_a987405b6ca5fbecb33ac69ddfe843659}{void {\bfseries average\-Data} (float mag\-\_\-d\-B\mbox{[}$\,$\mbox{]})}\label{class_port_audio_wrap_a987405b6ca5fbecb33ac69ddfe843659} \item \hypertarget{class_port_audio_wrap_a2a122bf5de62e7f1fb1bfed6801e063c}{Pa\-Device\-Index {\bfseries get\-Default\-Input\-Device} ()}\label{class_port_audio_wrap_a2a122bf5de62e7f1fb1bfed6801e063c} @@ -25,16 +25,16 @@ \hypertarget{class_port_audio_wrap_a47fe0dd437c0a4693824966e7100255a}{Pa\-Error {\bfseries set\-Stream\-Flags} (Pa\-Stream\-Flags flags)}\label{class_port_audio_wrap_a47fe0dd437c0a4693824966e7100255a} \item -\hypertarget{class_port_audio_wrap_a7b455cc4397b90c6d381c26073e51b2a}{Pa\-Error {\bfseries set\-Callback} (Pa\-Stream\-Callback $\ast$stream\-Callback)}\label{class_port_audio_wrap_a7b455cc4397b90c6d381c26073e51b2a} +\hypertarget{class_port_audio_wrap_a2a40702f7b56abb4b6927fb6493db92e}{Pa\-Error {\bfseries set\-Callback} (Pa\-Stream\-Callback $\ast$m\-\_\-p\-Stream\-Callback)}\label{class_port_audio_wrap_a2a40702f7b56abb4b6927fb6493db92e} \item \hypertarget{class_port_audio_wrap_adf02f262bcd9f85c33fea7da0e4cd841}{Pa\-Error {\bfseries set\-Stream\-Callback} (Pa\-Stream $\ast$stream, Pa\-Stream\-Callback $\ast$callback)}\label{class_port_audio_wrap_adf02f262bcd9f85c33fea7da0e4cd841} \item -\hypertarget{class_port_audio_wrap_a163f9ff1095444793a25f1e90442b32c}{Pa\-Error {\bfseries set\-Stream\-Finished\-Callback} (Pa\-Stream $\ast$stream, Pa\-Stream\-Finished\-Callback $\ast$stream\-Finished\-Callback)}\label{class_port_audio_wrap_a163f9ff1095444793a25f1e90442b32c} +\hypertarget{class_port_audio_wrap_a85e2c0e5700cacd09a330cd6573cff7d}{Pa\-Error {\bfseries set\-Stream\-Finished\-Callback} (Pa\-Stream $\ast$stream, Pa\-Stream\-Finished\-Callback $\ast$m\-\_\-p\-Stream\-Finished\-Callback)}\label{class_port_audio_wrap_a85e2c0e5700cacd09a330cd6573cff7d} \item -\hypertarget{class_port_audio_wrap_ae9fa5c4e8bd989d3ff722c76a381f33f}{Pa\-Error {\bfseries stream\-Open} ()}\label{class_port_audio_wrap_ae9fa5c4e8bd989d3ff722c76a381f33f} +\hypertarget{class_port_audio_wrap_a132273a300efd015cf3d66ee5b250216}{void {\bfseries set\-Input\-Buffer} (const Pa\-Stream\-Parameters \&input\-Buffer)}\label{class_port_audio_wrap_a132273a300efd015cf3d66ee5b250216} \item \hypertarget{class_port_audio_wrap_abf1e9b6f6b6e09df0b926c7995963575}{Pa\-Error {\bfseries set\-Input\-Device} (Pa\-Device\-Index dev)}\label{class_port_audio_wrap_abf1e9b6f6b6e09df0b926c7995963575} @@ -78,71 +78,59 @@ \item \hypertarget{class_port_audio_wrap_a619ad8a126e30b328468a57c8047f2f8}{Pa\-Error {\bfseries set\-Output\-Latency} (Pa\-Time latency)}\label{class_port_audio_wrap_a619ad8a126e30b328468a57c8047f2f8} -\item -\hypertarget{class_port_audio_wrap_a879e58affa1895a9fd737b44e72b609e}{Pa\-Error {\bfseries stream\-Start} ()}\label{class_port_audio_wrap_a879e58affa1895a9fd737b44e72b609e} - -\item -\hypertarget{class_port_audio_wrap_a7f900dbb4003a1e01341e4f9f95c72e8}{Pa\-Error {\bfseries stream\-Close} ()}\label{class_port_audio_wrap_a7f900dbb4003a1e01341e4f9f95c72e8} - \item \hypertarget{class_port_audio_wrap_ab7d9fc6cda5c61cda105e6d9bba9215c}{void {\bfseries set\-Output\-Host\-Api\-Stream\-Info} (void $\ast$info=N\-U\-L\-L)}\label{class_port_audio_wrap_ab7d9fc6cda5c61cda105e6d9bba9215c} \item \hypertarget{class_port_audio_wrap_a1014d8750069b7dc914e6f836da79660}{Pa\-Time {\bfseries get\-Output\-Default\-Low\-Latency} ()}\label{class_port_audio_wrap_a1014d8750069b7dc914e6f836da79660} -\item -\hypertarget{class_port_audio_wrap_a987405b6ca5fbecb33ac69ddfe843659}{void {\bfseries average\-Data} (float mag\-\_\-d\-B\mbox{[}$\,$\mbox{]})}\label{class_port_audio_wrap_a987405b6ca5fbecb33ac69ddfe843659} - \item \hypertarget{class_port_audio_wrap_a65d6263d05a44f6696a3eb93a669e862}{void {\bfseries set\-Fdmdv\-State} (F\-D\-M\-D\-V $\ast$fdmdv\-\_\-state)}\label{class_port_audio_wrap_a65d6263d05a44f6696a3eb93a669e862} -\item -\hypertarget{class_port_audio_wrap_a132273a300efd015cf3d66ee5b250216}{void {\bfseries set\-Input\-Buffer} (const Pa\-Stream\-Parameters \&input\-Buffer)}\label{class_port_audio_wrap_a132273a300efd015cf3d66ee5b250216} - \item \hypertarget{class_port_audio_wrap_a2284b3598963428bd5970b69a2ec0370}{void {\bfseries set\-Output\-Buffer} (const Pa\-Stream\-Parameters \&output\-Buffer)}\label{class_port_audio_wrap_a2284b3598963428bd5970b69a2ec0370} \item -\hypertarget{class_port_audio_wrap_a20f5cf508b5e13bd29632acb1af52d26}{void {\bfseries set\-Samplerate} (int samplerate)}\label{class_port_audio_wrap_a20f5cf508b5e13bd29632acb1af52d26} +\hypertarget{class_port_audio_wrap_a4d2bb7132714099aa2a0390f11a57ce6}{void {\bfseries set\-Time\-Info} (Pa\-Stream\-Callback\-Time\-Info $\ast$time\-Info)}\label{class_port_audio_wrap_a4d2bb7132714099aa2a0390f11a57ce6} \item -\hypertarget{class_port_audio_wrap_ad2c8ee53c0f11504777d1dc41747b453}{void {\bfseries set\-Status\-Flags} (const Pa\-Stream\-Callback\-Flags \&status\-Flags)}\label{class_port_audio_wrap_ad2c8ee53c0f11504777d1dc41747b453} +\hypertarget{class_port_audio_wrap_a2bac5a36a40fd1f86df5c1f94e964ac4}{void {\bfseries set\-User\-Data} (void $\ast$user\-Data)}\label{class_port_audio_wrap_a2bac5a36a40fd1f86df5c1f94e964ac4} \item -\hypertarget{class_port_audio_wrap_a8f18f16ddf796eba036e11694b25a2a4}{void {\bfseries set\-Stream} (Pa\-Stream $\ast$stream)}\label{class_port_audio_wrap_a8f18f16ddf796eba036e11694b25a2a4} +\hypertarget{class_port_audio_wrap_ad2ea7c12d674b8bf882a5a5ffdff7acb}{unsigned long {\bfseries get\-Frames\-Per\-Buffer} () const }\label{class_port_audio_wrap_ad2ea7c12d674b8bf882a5a5ffdff7acb} \item -\hypertarget{class_port_audio_wrap_a13581d19c503fc1a837078c31d80df11}{void {\bfseries set\-Stream\-Finished\-Callback} (Pa\-Stream\-Finished\-Callback $\ast$stream\-Finished\-Callback)}\label{class_port_audio_wrap_a13581d19c503fc1a837078c31d80df11} +\hypertarget{class_port_audio_wrap_a3e2997d41e53309bfb6b06baabb43a04}{const Pa\-Stream\-Parameters \& {\bfseries get\-Input\-Buffer} () const }\label{class_port_audio_wrap_a3e2997d41e53309bfb6b06baabb43a04} \item -\hypertarget{class_port_audio_wrap_a4d2bb7132714099aa2a0390f11a57ce6}{void {\bfseries set\-Time\-Info} (Pa\-Stream\-Callback\-Time\-Info $\ast$time\-Info)}\label{class_port_audio_wrap_a4d2bb7132714099aa2a0390f11a57ce6} +\hypertarget{class_port_audio_wrap_abb0273b674c970ee96594dd61f7abfc9}{const Pa\-Stream\-Parameters \& {\bfseries get\-Output\-Buffer} () const }\label{class_port_audio_wrap_abb0273b674c970ee96594dd61f7abfc9} \item -\hypertarget{class_port_audio_wrap_a2bac5a36a40fd1f86df5c1f94e964ac4}{void {\bfseries set\-User\-Data} (void $\ast$user\-Data)}\label{class_port_audio_wrap_a2bac5a36a40fd1f86df5c1f94e964ac4} +\hypertarget{class_port_audio_wrap_a43a6d5f7562fde40166872b77a7804ea}{const Pa\-Stream\-Callback\-Flags \& {\bfseries get\-Status\-Flags} () const }\label{class_port_audio_wrap_a43a6d5f7562fde40166872b77a7804ea} \item \hypertarget{class_port_audio_wrap_a66693a413ee2158cc331253a1035f915}{F\-D\-M\-D\-V $\ast$ {\bfseries get\-Fdmdv\-State} ()}\label{class_port_audio_wrap_a66693a413ee2158cc331253a1035f915} \item -\hypertarget{class_port_audio_wrap_ad2ea7c12d674b8bf882a5a5ffdff7acb}{unsigned long {\bfseries get\-Frames\-Per\-Buffer} () const }\label{class_port_audio_wrap_ad2ea7c12d674b8bf882a5a5ffdff7acb} +\hypertarget{class_port_audio_wrap_a2007046aefb3754994b3fe883b237177}{int {\bfseries get\-Samplerate} () const }\label{class_port_audio_wrap_a2007046aefb3754994b3fe883b237177} \item -\hypertarget{class_port_audio_wrap_a3e2997d41e53309bfb6b06baabb43a04}{const Pa\-Stream\-Parameters \& {\bfseries get\-Input\-Buffer} () const }\label{class_port_audio_wrap_a3e2997d41e53309bfb6b06baabb43a04} +\hypertarget{class_port_audio_wrap_a33fed4f960c963aff711932ee84e9a1e}{Pa\-Stream $\ast$ {\bfseries get\-Stream} ()}\label{class_port_audio_wrap_a33fed4f960c963aff711932ee84e9a1e} \item -\hypertarget{class_port_audio_wrap_abb0273b674c970ee96594dd61f7abfc9}{const Pa\-Stream\-Parameters \& {\bfseries get\-Output\-Buffer} () const }\label{class_port_audio_wrap_abb0273b674c970ee96594dd61f7abfc9} +\hypertarget{class_port_audio_wrap_a07fdd881924d8b7b31b0ed309a8d56cb}{void $\ast$ {\bfseries get\-User\-Data} ()}\label{class_port_audio_wrap_a07fdd881924d8b7b31b0ed309a8d56cb} \item -\hypertarget{class_port_audio_wrap_a2007046aefb3754994b3fe883b237177}{int {\bfseries get\-Samplerate} () const }\label{class_port_audio_wrap_a2007046aefb3754994b3fe883b237177} +\hypertarget{class_port_audio_wrap_afd5fd9f501e93f712e46b0d805b57493}{bool {\bfseries get\-Data\-Avail} ()}\label{class_port_audio_wrap_afd5fd9f501e93f712e46b0d805b57493} \item -\hypertarget{class_port_audio_wrap_a43a6d5f7562fde40166872b77a7804ea}{const Pa\-Stream\-Callback\-Flags \& {\bfseries get\-Status\-Flags} () const }\label{class_port_audio_wrap_a43a6d5f7562fde40166872b77a7804ea} +\hypertarget{class_port_audio_wrap_a879e58affa1895a9fd737b44e72b609e}{Pa\-Error {\bfseries stream\-Start} ()}\label{class_port_audio_wrap_a879e58affa1895a9fd737b44e72b609e} \item -\hypertarget{class_port_audio_wrap_a33fed4f960c963aff711932ee84e9a1e}{Pa\-Stream $\ast$ {\bfseries get\-Stream} ()}\label{class_port_audio_wrap_a33fed4f960c963aff711932ee84e9a1e} +\hypertarget{class_port_audio_wrap_a7f900dbb4003a1e01341e4f9f95c72e8}{Pa\-Error {\bfseries stream\-Close} ()}\label{class_port_audio_wrap_a7f900dbb4003a1e01341e4f9f95c72e8} \item -\hypertarget{class_port_audio_wrap_a07fdd881924d8b7b31b0ed309a8d56cb}{void $\ast$ {\bfseries get\-User\-Data} ()}\label{class_port_audio_wrap_a07fdd881924d8b7b31b0ed309a8d56cb} +\hypertarget{class_port_audio_wrap_ae9fa5c4e8bd989d3ff722c76a381f33f}{Pa\-Error {\bfseries stream\-Open} ()}\label{class_port_audio_wrap_ae9fa5c4e8bd989d3ff722c76a381f33f} \item \hypertarget{class_port_audio_wrap_a73b644da1b76cd3c6b1900218fcb4873}{void {\bfseries terminate} ()}\label{class_port_audio_wrap_a73b644da1b76cd3c6b1900218fcb4873} diff --git a/fdmdv2/fdmdv2-doc/latex/class_top_frame.tex b/fdmdv2/fdmdv2-doc/latex/class_top_frame.tex index c61439b7..2754555b 100644 --- a/fdmdv2/fdmdv2-doc/latex/class_top_frame.tex +++ b/fdmdv2/fdmdv2-doc/latex/class_top_frame.tex @@ -7,8 +7,7 @@ -Inheritance diagram for Top\-Frame\-: -\nopagebreak +Inheritance diagram for Top\-Frame\-:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode diff --git a/fdmdv2/fdmdv2-doc/latex/doxygen.sty b/fdmdv2/fdmdv2-doc/latex/doxygen.sty index f105a143..30fe0690 100644 --- a/fdmdv2/fdmdv2-doc/latex/doxygen.sty +++ b/fdmdv2/fdmdv2-doc/latex/doxygen.sty @@ -41,8 +41,8 @@ \fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} \fancyfoot[LE]{\fancyplain{}{}} \fancyfoot[CE]{\fancyplain{}{}} -\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Sep 11 2012 14\-:31\-:48 for F\-D\-M\-D\-V2 by Doxygen }} -\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Tue Sep 11 2012 14\-:31\-:48 for F\-D\-M\-D\-V2 by Doxygen }} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Sep 14 2012 18\-:21\-:30 for F\-D\-M\-D\-V2 by Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Fri Sep 14 2012 18\-:21\-:30 for F\-D\-M\-D\-V2 by Doxygen }} \fancyfoot[CO]{\fancyplain{}{}} \fancyfoot[RO]{\fancyplain{}{}} %---------- Internal commands used in this style file ---------------- diff --git a/fdmdv2/fdmdv2-doc/latex/hierarchy.tex b/fdmdv2/fdmdv2-doc/latex/hierarchy.tex index 3e31f6dd..f3a15559 100644 --- a/fdmdv2/fdmdv2-doc/latex/hierarchy.tex +++ b/fdmdv2/fdmdv2-doc/latex/hierarchy.tex @@ -1,6 +1,5 @@ \section{Class Hierarchy} This inheritance list is sorted roughly, but not completely, alphabetically\-:\begin{DoxyCompactList} -\item \contentsline{section}{Audio\-Stream}{\pageref{class_audio_stream}}{} \item \contentsline{section}{C\-O\-M\-P}{\pageref{struct_c_o_m_p}}{} \item \contentsline{section}{pa\-Call\-Back\-Data}{\pageref{structpa_call_back_data}}{} \item \contentsline{section}{Port\-Audio\-Wrap}{\pageref{class_port_audio_wrap}}{} diff --git a/fdmdv2/fdmdv2-doc/latex/refman.tex b/fdmdv2/fdmdv2-doc/latex/refman.tex index 6d2dec57..1598d973 100644 --- a/fdmdv2/fdmdv2-doc/latex/refman.tex +++ b/fdmdv2/fdmdv2-doc/latex/refman.tex @@ -54,7 +54,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.2}\\ \vspace*{0.5cm} -{\small Tue Sep 11 2012 14:31:49}\\ +{\small Fri Sep 14 2012 18:21:32}\\ \end{center} \end{titlepage} \clearemptydoublepage @@ -70,7 +70,6 @@ \chapter{Class Documentation} \input{class_about_dlg} \input{class_audio_dlg} -\input{class_audio_stream} \input{struct_c_o_m_p} \input{class_com_ports_dlg} \input{class_dlg_about} diff --git a/fdmdv2/fdmdv2-doc/man/man3/AboutDlg.3 b/fdmdv2/fdmdv2-doc/man/man3/AboutDlg.3 index 0cbd24fd..3c01325f 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/AboutDlg.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/AboutDlg.3 @@ -1,4 +1,4 @@ -.TH "AboutDlg" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "AboutDlg" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/AudioDlg.3 b/fdmdv2/fdmdv2-doc/man/man3/AudioDlg.3 index eecc6fd6..b2a02d17 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/AudioDlg.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/AudioDlg.3 @@ -1,4 +1,4 @@ -.TH "AudioDlg" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "AudioDlg" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/COMP.3 b/fdmdv2/fdmdv2-doc/man/man3/COMP.3 index b5e3613a..1954df27 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/COMP.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/COMP.3 @@ -1,4 +1,4 @@ -.TH "COMP" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "COMP" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/C__bin_Projects_Radio_fdmdv2_src_.3 b/fdmdv2/fdmdv2-doc/man/man3/C__bin_Projects_Radio_fdmdv2_src_.3 index c4149bc8..3cb49ae7 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/C__bin_Projects_Radio_fdmdv2_src_.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/C__bin_Projects_Radio_fdmdv2_src_.3 @@ -1,4 +1,4 @@ -.TH "C:/bin/Projects/Radio/fdmdv2/src Directory Reference" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "C:/bin/Projects/Radio/fdmdv2/src Directory Reference" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -10,12 +10,6 @@ C:/bin/Projects/Radio/fdmdv2/src Directory Reference \- .in +1c .ti -1c -.RI "file \fBaudiostream\&.cpp\fP" -.br -.ti -1c -.RI "file \fBaudiostream\&.h\fP" -.br -.ti -1c .RI "file \fBcomp\&.h\fP" .br .ti -1c diff --git a/fdmdv2/fdmdv2-doc/man/man3/ComPortsDlg.3 b/fdmdv2/fdmdv2-doc/man/man3/ComPortsDlg.3 index c5a88cc9..dd6151ae 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/ComPortsDlg.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/ComPortsDlg.3 @@ -1,4 +1,4 @@ -.TH "ComPortsDlg" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "ComPortsDlg" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/DlgAbout.3 b/fdmdv2/fdmdv2-doc/man/man3/DlgAbout.3 index 7f029e50..a3911bb1 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/DlgAbout.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/DlgAbout.3 @@ -1,4 +1,4 @@ -.TH "DlgAbout" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "DlgAbout" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/DlgAudio.3 b/fdmdv2/fdmdv2-doc/man/man3/DlgAudio.3 index 603426cf..e171ace6 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/DlgAudio.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/DlgAudio.3 @@ -1,4 +1,4 @@ -.TH "DlgAudio" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "DlgAudio" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/DlgComPorts.3 b/fdmdv2/fdmdv2-doc/man/man3/DlgComPorts.3 index 4c98d991..2f7d7ed6 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/DlgComPorts.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/DlgComPorts.3 @@ -1,4 +1,4 @@ -.TH "DlgComPorts" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "DlgComPorts" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/DlgOptions.3 b/fdmdv2/fdmdv2-doc/man/man3/DlgOptions.3 index e6f554d6..15a193f9 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/DlgOptions.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/DlgOptions.3 @@ -1,4 +1,4 @@ -.TH "DlgOptions" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "DlgOptions" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/MainApp.3 b/fdmdv2/fdmdv2-doc/man/man3/MainApp.3 index 9390647b..1f969a6d 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/MainApp.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/MainApp.3 @@ -1,4 +1,4 @@ -.TH "MainApp" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "MainApp" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -17,6 +17,16 @@ Inherits wxApp\&. .ti -1c .RI "virtual int \fBOnExit\fP ()" .br +.ti -1c +.RI "bool \fBloadConfig\fP ()" +.br +.in -1c +.SS "Protected Attributes" + +.in +1c +.ti -1c +.RI "wxConfig * \fBg_config\fP" +.br .in -1c .SH "Author" diff --git a/fdmdv2/fdmdv2-doc/man/man3/MainFrame.3 b/fdmdv2/fdmdv2-doc/man/man3/MainFrame.3 index 435436ca..0591132b 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/MainFrame.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/MainFrame.3 @@ -1,4 +1,4 @@ -.TH "MainFrame" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "MainFrame" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,6 +14,9 @@ Inherits \fBTopFrame\fP\&. .ti -1c .RI "\fBMainFrame\fP (wxWindow *parent)" .br +.ti -1c +.RI "void \fBper_frame_rx_processing\fP (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2)" +.br .in -1c .SS "Static Public Member Functions" @@ -85,6 +88,12 @@ Inherits \fBTopFrame\fP\&. .ti -1c .RI "wxSound * \fBm_sound\fP" .br +.ti -1c +.RI "struct FDMDV * \fBm_pFDMDV_state\fP" +.br +.ti -1c +.RI "wxTimer \fBm_plotTimer\fP" +.br .in -1c .SS "Protected Member Functions" @@ -96,6 +105,9 @@ Inherits \fBTopFrame\fP\&. .RI "virtual void \fBOnExitClick\fP (wxCommandEvent &event)" .br .ti -1c +.RI "void \fBaverageData\fP (float mag_dB[])" +.br +.ti -1c .RI "void \fBstartTxStream\fP ()" .br .ti -1c @@ -237,6 +249,9 @@ Inherits \fBTopFrame\fP\&. .RI "void \fBOnUpdateUI\fP (wxUpdateUIEvent &event)" .br .ti -1c +.RI "void \fBOnTimer\fP (wxTimerEvent &evt)" +.br +.ti -1c .RI "wxString \fBLoadUserImage\fP (wxImage &image)" .br .in -1c diff --git a/fdmdv2/fdmdv2-doc/man/man3/OptionsDlg.3 b/fdmdv2/fdmdv2-doc/man/man3/OptionsDlg.3 index 8227f780..2bb8f91c 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/OptionsDlg.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/OptionsDlg.3 @@ -1,4 +1,4 @@ -.TH "OptionsDlg" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "OptionsDlg" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/PlotPanel.3 b/fdmdv2/fdmdv2-doc/man/man3/PlotPanel.3 index 6993db04..8ae83b94 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PlotPanel.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PlotPanel.3 @@ -1,4 +1,4 @@ -.TH "PlotPanel" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PlotPanel" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -44,10 +44,10 @@ Inherited by \fBPlotScalar\fP, \fBPlotScatter\fP, \fBPlotSpectrum\fP, and \fBPlo .RI "void \fBpaintEvent\fP (wxPaintEvent &evt)" .br .ti -1c -.RI "virtual void \fBdraw\fP (wxAutoBufferedPaintDC &dc)" +.RI "virtual void \fBdraw\fP (wxAutoBufferedPaintDC &pdc)" .br .ti -1c -.RI "virtual void \fBdrawGraticule\fP (wxAutoBufferedPaintDC &dc)" +.RI "virtual void \fBdrawGraticule\fP (wxAutoBufferedPaintDC &pdc)" .br .ti -1c .RI "virtual double \fBSetZoomFactor\fP (double zf)" @@ -78,13 +78,16 @@ Inherited by \fBPlotScalar\fP, \fBPlotScatter\fP, \fBPlotSpectrum\fP, and \fBPlo .RI "wxPen \fBm_penSolid\fP" .br .ti -1c -.RI "wxRect \fBm_rectCtrl\fP" +.RI "wxRect \fBm_rCtrlPrev\fP" .br .ti -1c -.RI "wxRect \fBm_rectGrid\fP" +.RI "wxRect \fBm_rCtrl\fP" .br .ti -1c -.RI "wxRect \fBm_rectPlot\fP" +.RI "wxRect \fBm_rGrid\fP" +.br +.ti -1c +.RI "wxRect \fBm_rPlot\fP" .br .ti -1c .RI "\fBMainFrame\fP * \fBm_pTopFrame\fP" @@ -118,12 +121,6 @@ Inherited by \fBPlotScalar\fP, \fBPlotScatter\fP, \fBPlotSpectrum\fP, and \fBPlo .RI "int \fBm_y\fP" .br .ti -1c -.RI "int \fBm_w\fP" -.br -.ti -1c -.RI "int \fBm_h\fP" -.br -.ti -1c .RI "int \fBm_left\fP" .br .ti -1c @@ -154,6 +151,9 @@ Inherited by \fBPlotScalar\fP, \fBPlotScatter\fP, \fBPlotSpectrum\fP, and \fBPlo .RI "bool \fBm_mouseDown\fP" .br .ti -1c +.RI "bool \fBm_firstPass\fP" +.br +.ti -1c .RI "double \fBm_zoomFactor\fP" .br .in -1c diff --git a/fdmdv2/fdmdv2-doc/man/man3/PlotScalar.3 b/fdmdv2/fdmdv2-doc/man/man3/PlotScalar.3 index 827c2a6c..45831a77 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PlotScalar.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PlotScalar.3 @@ -1,4 +1,4 @@ -.TH "PlotScalar" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PlotScalar" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/PlotScatter.3 b/fdmdv2/fdmdv2-doc/man/man3/PlotScatter.3 index aaf2fee1..79cb98d2 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PlotScatter.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PlotScatter.3 @@ -1,4 +1,4 @@ -.TH "PlotScatter" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PlotScatter" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/PlotSpectrum.3 b/fdmdv2/fdmdv2-doc/man/man3/PlotSpectrum.3 index 77886c37..6408d02e 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PlotSpectrum.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PlotSpectrum.3 @@ -1,4 +1,4 @@ -.TH "PlotSpectrum" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PlotSpectrum" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/PlotWaterfall.3 b/fdmdv2/fdmdv2-doc/man/man3/PlotWaterfall.3 index 0a5b42ce..d413c646 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PlotWaterfall.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PlotWaterfall.3 @@ -1,4 +1,4 @@ -.TH "PlotWaterfall" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PlotWaterfall" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -25,19 +25,13 @@ Inherits \fBPlotPanel\fP\&. .RI "void \fBOnPaint\fP (wxPaintEvent &evt)" .br .ti -1c -.RI "void \fBOnSize\fP (wxSizeEvent &event)" -.br -.ti -1c .RI "void \fBOnShow\fP (wxShowEvent &event)" .br .ti -1c .RI "void \fBdrawGraticule\fP (wxAutoBufferedPaintDC &dc)" .br .ti -1c -.RI "void \fBdraw\fP (wxAutoBufferedPaintDC &dc)" -.br -.ti -1c -.RI "void \fBplotData\fP (wxAutoBufferedPaintDC &dc)" +.RI "void \fBdraw\fP (wxAutoBufferedPaintDC &pdc)" .br .ti -1c .RI "void \fBplotPixelData\fP (wxAutoBufferedPaintDC &dc)" @@ -52,6 +46,12 @@ Inherits \fBPlotPanel\fP\&. .ti -1c .RI "int \fBm_greyscale\fP" .br +.ti -1c +.RI "wxMemoryDC \fBm_mDC\fP" +.br +.ti -1c +.RI "int \fBm_line_color\fP" +.br .in -1c .SS "Additional Inherited Members" diff --git a/fdmdv2/fdmdv2-doc/man/man3/PortAudioWrap.3 b/fdmdv2/fdmdv2-doc/man/man3/PortAudioWrap.3 index 5c3c16ea..3a3eadd1 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/PortAudioWrap.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/PortAudioWrap.3 @@ -1,4 +1,4 @@ -.TH "PortAudioWrap" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "PortAudioWrap" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME @@ -10,7 +10,7 @@ PortAudioWrap \- .in +1c .ti -1c -.RI "void \fBper_frame_rx_processing\fP (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2)" +.RI "void \fBaverageData\fP (float mag_dB[])" .br .ti -1c .RI "PaDeviceIndex \fBgetDefaultInputDevice\fP ()" @@ -31,16 +31,16 @@ PortAudioWrap \- .RI "PaError \fBsetStreamFlags\fP (PaStreamFlags flags)" .br .ti -1c -.RI "PaError \fBsetCallback\fP (PaStreamCallback *streamCallback)" +.RI "PaError \fBsetCallback\fP (PaStreamCallback *m_pStreamCallback)" .br .ti -1c .RI "PaError \fBsetStreamCallback\fP (PaStream *stream, PaStreamCallback *callback)" .br .ti -1c -.RI "PaError \fBsetStreamFinishedCallback\fP (PaStream *stream, PaStreamFinishedCallback *streamFinishedCallback)" +.RI "PaError \fBsetStreamFinishedCallback\fP (PaStream *stream, PaStreamFinishedCallback *m_pStreamFinishedCallback)" .br .ti -1c -.RI "PaError \fBstreamOpen\fP ()" +.RI "void \fBsetInputBuffer\fP (const PaStreamParameters &inputBuffer)" .br .ti -1c .RI "PaError \fBsetInputDevice\fP (PaDeviceIndex dev)" @@ -85,70 +85,58 @@ PortAudioWrap \- .RI "PaError \fBsetOutputLatency\fP (PaTime latency)" .br .ti -1c -.RI "PaError \fBstreamStart\fP ()" -.br -.ti -1c -.RI "PaError \fBstreamClose\fP ()" -.br -.ti -1c .RI "void \fBsetOutputHostApiStreamInfo\fP (void *info=NULL)" .br .ti -1c .RI "PaTime \fBgetOutputDefaultLowLatency\fP ()" .br .ti -1c -.RI "void \fBaverageData\fP (float mag_dB[])" -.br -.ti -1c .RI "void \fBsetFdmdvState\fP (FDMDV *fdmdv_state)" .br .ti -1c -.RI "void \fBsetInputBuffer\fP (const PaStreamParameters &inputBuffer)" -.br -.ti -1c .RI "void \fBsetOutputBuffer\fP (const PaStreamParameters &outputBuffer)" .br .ti -1c -.RI "void \fBsetSamplerate\fP (int samplerate)" +.RI "void \fBsetTimeInfo\fP (PaStreamCallbackTimeInfo *timeInfo)" .br .ti -1c -.RI "void \fBsetStatusFlags\fP (const PaStreamCallbackFlags &statusFlags)" +.RI "void \fBsetUserData\fP (void *userData)" .br .ti -1c -.RI "void \fBsetStream\fP (PaStream *stream)" +.RI "unsigned long \fBgetFramesPerBuffer\fP () const " .br .ti -1c -.RI "void \fBsetStreamFinishedCallback\fP (PaStreamFinishedCallback *streamFinishedCallback)" +.RI "const PaStreamParameters & \fBgetInputBuffer\fP () const " .br .ti -1c -.RI "void \fBsetTimeInfo\fP (PaStreamCallbackTimeInfo *timeInfo)" +.RI "const PaStreamParameters & \fBgetOutputBuffer\fP () const " .br .ti -1c -.RI "void \fBsetUserData\fP (void *userData)" +.RI "const PaStreamCallbackFlags & \fBgetStatusFlags\fP () const " .br .ti -1c .RI "FDMDV * \fBgetFdmdvState\fP ()" .br .ti -1c -.RI "unsigned long \fBgetFramesPerBuffer\fP () const " +.RI "int \fBgetSamplerate\fP () const " .br .ti -1c -.RI "const PaStreamParameters & \fBgetInputBuffer\fP () const " +.RI "PaStream * \fBgetStream\fP ()" .br .ti -1c -.RI "const PaStreamParameters & \fBgetOutputBuffer\fP () const " +.RI "void * \fBgetUserData\fP ()" .br .ti -1c -.RI "int \fBgetSamplerate\fP () const " +.RI "bool \fBgetDataAvail\fP ()" .br .ti -1c -.RI "const PaStreamCallbackFlags & \fBgetStatusFlags\fP () const " +.RI "PaError \fBstreamStart\fP ()" .br .ti -1c -.RI "PaStream * \fBgetStream\fP ()" +.RI "PaError \fBstreamClose\fP ()" .br .ti -1c -.RI "void * \fBgetUserData\fP ()" +.RI "PaError \fBstreamOpen\fP ()" .br .ti -1c .RI "void \fBterminate\fP ()" diff --git a/fdmdv2/fdmdv2-doc/man/man3/TopFrame.3 b/fdmdv2/fdmdv2-doc/man/man3/TopFrame.3 index 252cc968..79219643 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/TopFrame.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/TopFrame.3 @@ -1,4 +1,4 @@ -.TH "TopFrame" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "TopFrame" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/man/man3/paCallBackData.3 b/fdmdv2/fdmdv2-doc/man/man3/paCallBackData.3 index a822f4e1..0757964d 100644 --- a/fdmdv2/fdmdv2-doc/man/man3/paCallBackData.3 +++ b/fdmdv2/fdmdv2-doc/man/man3/paCallBackData.3 @@ -1,4 +1,4 @@ -.TH "paCallBackData" 3 "Tue Sep 11 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- +.TH "paCallBackData" 3 "Fri Sep 14 2012" "Version 02.00.01" "FDMDV2" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/fdmdv2/fdmdv2-doc/rtf/refman.rtf b/fdmdv2/fdmdv2-doc/rtf/refman.rtf index a89ea9fa..26a0f3fd 100644 --- a/fdmdv2/fdmdv2-doc/rtf/refman.rtf +++ b/fdmdv2/fdmdv2-doc/rtf/refman.rtf @@ -86,7 +86,7 @@ 02.00.01 \par }}FDMDV2} {\comment Generated byDoxgyen. } -{\creatim \yr2012\mo9\dy11\hr14\min31\sec49} +{\creatim \yr2012\mo9\dy14\hr18\min21\sec32} }\pard\plain \sectd\pgnlcrm {\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}} @@ -121,51 +121,49 @@ Class Hierarchy\par \pard\plain { \par \pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -AudioStream\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}} +COMP\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -COMP\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}} +paCallBackData\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHF \\*MERGEFORMAT}{\fldrslt pagenum}} \par -paCallBackData\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHB \\*MERGEFORMAT}{\fldrslt pagenum}} -\par -PortAudioWrap\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKO \\*MERGEFORMAT}{\fldrslt pagenum}} +PortAudioWrap\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKS \\*MERGEFORMAT}{\fldrslt pagenum}} \par wxApp { \par \pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -MainApp\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADZ \\*MERGEFORMAT}{\fldrslt pagenum}} +MainApp\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADW \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par wxDialog { \par \pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -DlgAbout\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}} +DlgAbout\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}} { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid AboutDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAA \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par -DlgAudio\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}} +DlgAudio\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABE \\*MERGEFORMAT}{\fldrslt pagenum}} { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid AudioDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAD \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par -DlgComPorts\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAACW \\*MERGEFORMAT}{\fldrslt pagenum}} +DlgComPorts\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAACT \\*MERGEFORMAT}{\fldrslt pagenum}} { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -ComPortsDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}} +ComPortsDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par -DlgOptions\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADG \\*MERGEFORMAT}{\fldrslt pagenum}} +DlgOptions\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADD \\*MERGEFORMAT}{\fldrslt pagenum}} { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -OptionsDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGX \\*MERGEFORMAT}{\fldrslt pagenum}} +OptionsDlg\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHB \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par }\par @@ -177,7 +175,7 @@ TopFrame\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMS \\*MERGEFORMAT}{\fld { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -MainFrame\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEC \\*MERGEFORMAT}{\fldrslt pagenum}} +MainFrame\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEB \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par }\par @@ -185,17 +183,17 @@ wxPanel { \par \pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -PlotPanel\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHE \\*MERGEFORMAT}{\fldrslt pagenum}} +PlotPanel\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHI \\*MERGEFORMAT}{\fldrslt pagenum}} { \par \pard\plain \s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid -PlotScalar\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIY \\*MERGEFORMAT}{\fldrslt pagenum}} +PlotScalar\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJC \\*MERGEFORMAT}{\fldrslt pagenum}} \par -PlotScatter\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJM \\*MERGEFORMAT}{\fldrslt pagenum}} +PlotScatter\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJQ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -PlotSpectrum\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJV \\*MERGEFORMAT}{\fldrslt pagenum}} +PlotSpectrum\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJZ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -PlotWaterfall\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKC \\*MERGEFORMAT}{\fldrslt pagenum}} +PlotWaterfall\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKG \\*MERGEFORMAT}{\fldrslt pagenum}} \par }\par }\par @@ -215,39 +213,37 @@ Class List\par \pard\plain \par {\b {\b AudioDlg} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAD \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b AudioStream} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}} -\par -{\b {\b COMP} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b COMP} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b ComPortsDlg} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b ComPortsDlg} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAT \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b DlgAbout} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAZ \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b DlgAbout} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAW \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b DlgAudio} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABH \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b DlgAudio} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABE \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b DlgComPorts} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAACW \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b DlgComPorts} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAACT \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b DlgOptions} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADG \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b DlgOptions} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADD \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b MainApp} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADZ \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b MainApp} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADW \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b MainFrame} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEC \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b MainFrame} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEB \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b OptionsDlg} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGX \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b OptionsDlg} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHB \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b paCallBackData} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHB \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b paCallBackData} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHF \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PlotPanel} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHE \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PlotPanel} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHI \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PlotScalar} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIY \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PlotScalar} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJC \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PlotScatter} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJM \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PlotScatter} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJQ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PlotSpectrum} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJV \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PlotSpectrum} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAJZ \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PlotWaterfall} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKC \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PlotWaterfall} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKG \\*MERGEFORMAT}{\fldrslt pagenum}} \par -{\b {\b PortAudioWrap} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKO \\*MERGEFORMAT}{\fldrslt pagenum}} +{\b {\b PortAudioWrap} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAKS \\*MERGEFORMAT}{\fldrslt pagenum}} \par {\b {\b TopFrame} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAMS \\*MERGEFORMAT}{\fldrslt pagenum}} \par @@ -434,46 +430,14 @@ C:/bin/Projects/Radio/fdmdv2/src/dlg_audio.h\par C:/bin/Projects/Radio/fdmdv2/src/dlg_audio.cpp\par }\par \pard\plain -\pard\plain \sect\sbkpage -\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid -\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid -AudioStream Class Reference\par \pard\plain -{\tc\tcl2 \v AudioStream} -{\xe \v AudioStream} -{\bkmkstart AAAAAAAAAQ} -{\bkmkend AAAAAAAAAQ} -\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid -Public Member Functions\par -\pard\plain - -{ -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -{\b AudioStream} (int tableSize){\bkmkstart AAAAAAAAAR} -{\bkmkend AAAAAAAAAR} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -int {\b generate} (const void *inputBuffer, void *outputBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags){\bkmkstart AAAAAAAAAS} -{\bkmkend AAAAAAAAAS} -\par -} -{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} -The documentation for this class was generated from the following files:{\par -\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid -C:/bin/Projects/Radio/fdmdv2/src/audiostream.h\par -\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid -C:/bin/Projects/Radio/fdmdv2/src/audiostream.cpp\par -}\par \pard\plain - \pard\plain \sect\sbkpage \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid COMP Struct Reference\par \pard\plain {\tc\tcl2 \v COMP} {\xe \v COMP} -{\bkmkstart AAAAAAAAAT} -{\bkmkend AAAAAAAAAT} +{\bkmkstart AAAAAAAAAQ} +{\bkmkend AAAAAAAAAQ} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Public Attributes\par \pard\plain @@ -481,13 +445,13 @@ Public Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b real}{\bkmkstart AAAAAAAAAU} -{\bkmkend AAAAAAAAAU} +float {\b real}{\bkmkstart AAAAAAAAAR} +{\bkmkend AAAAAAAAAR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b imag}{\bkmkstart AAAAAAAAAV} -{\bkmkend AAAAAAAAAV} +float {\b imag}{\bkmkstart AAAAAAAAAS} +{\bkmkend AAAAAAAAAS} \par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} @@ -502,8 +466,8 @@ C:/bin/Projects/Radio/fdmdv2/src/comp.h\par ComPortsDlg Class Reference\par \pard\plain {\tc\tcl2 \v ComPortsDlg} {\xe \v ComPortsDlg} -{\bkmkstart AAAAAAAAAW} -{\bkmkend AAAAAAAAAW} +{\bkmkstart AAAAAAAAAT} +{\bkmkend AAAAAAAAAT} Inheritance diagram for ComPortsDlg:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_com_ports_dlg__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -529,8 +493,8 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnListItemSelected} (wxListEvent &event){\bkmkstart AAAAAAAAAX} -{\bkmkend AAAAAAAAAX} +void {\b OnListItemSelected} (wxListEvent &event){\bkmkstart AAAAAAAAAU} +{\bkmkend AAAAAAAAAU} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -546,8 +510,8 @@ Constructor & Destructor Documentation\par {\b ComPortsDlg::ComPortsDlg (wxWindow * {\i parent})}} \par -{\bkmkstart AAAAAAAAAY} -{\bkmkend AAAAAAAAAY} +{\bkmkstart AAAAAAAAAV} +{\bkmkend AAAAAAAAAV} { \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -567,8 +531,8 @@ C:/bin/Projects/Radio/fdmdv2/src/dlg_comports.cpp\par DlgAbout Class Reference\par \pard\plain {\tc\tcl2 \v DlgAbout} {\xe \v DlgAbout} -{\bkmkstart AAAAAAAAAZ} -{\bkmkend AAAAAAAAAZ} +{\bkmkstart AAAAAAAAAW} +{\bkmkend AAAAAAAAAW} \par { {\f2 #include }}\par @@ -589,8 +553,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b DlgAbout} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("About FDMDV2"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(352, 343), long style=wxDEFAULT_DIALOG_STYLE){\bkmkstart AAAAAAAABA} -{\bkmkend AAAAAAAABA} +{\b DlgAbout} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("About FDMDV2"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(352, 343), long style=wxDEFAULT_DIALOG_STYLE){\bkmkstart AAAAAAAAAX} +{\bkmkend AAAAAAAAAX} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -600,13 +564,13 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAABB} -{\bkmkend AAAAAAAABB} +virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAAY} +{\bkmkend AAAAAAAAAY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAABC} -{\bkmkend AAAAAAAABC} +virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAAAZ} +{\bkmkend AAAAAAAAAZ} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -616,23 +580,23 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticBitmap * {\b m_bitmapAbout}{\bkmkstart AAAAAAAABD} -{\bkmkend AAAAAAAABD} +wxStaticBitmap * {\b m_bitmapAbout}{\bkmkstart AAAAAAAABA} +{\bkmkend AAAAAAAABA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText1}{\bkmkstart AAAAAAAABE} -{\bkmkend AAAAAAAABE} +wxStaticText * {\b m_staticText1}{\bkmkstart AAAAAAAABB} +{\bkmkend AAAAAAAABB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl2}{\bkmkstart AAAAAAAABF} -{\bkmkend AAAAAAAABF} +wxTextCtrl * {\b m_textCtrl2}{\bkmkstart AAAAAAAABC} +{\bkmkend AAAAAAAABC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxButton * {\b m_button9}{\bkmkstart AAAAAAAABG} -{\bkmkend AAAAAAAABG} +wxButton * {\b m_button9}{\bkmkstart AAAAAAAABD} +{\bkmkend AAAAAAAABD} \par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} @@ -657,8 +621,8 @@ C:/bin/Projects/Radio/fdmdv2/src/topFrame.cpp\par DlgAudio Class Reference\par \pard\plain {\tc\tcl2 \v DlgAudio} {\xe \v DlgAudio} -{\bkmkstart AAAAAAAABH} -{\bkmkend AAAAAAAABH} +{\bkmkstart AAAAAAAABE} +{\bkmkend AAAAAAAABE} \par { {\f2 #include }}\par @@ -679,8 +643,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b DlgAudio} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Audio Options"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(555, 419), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER){\bkmkstart AAAAAAAABI} -{\bkmkend AAAAAAAABI} +{\b DlgAudio} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Audio Options"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(555, 419), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER){\bkmkstart AAAAAAAABF} +{\bkmkend AAAAAAAABF} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -690,205 +654,205 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAABJ} +virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAABG} +{\bkmkend AAAAAAAABG} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAABH} +{\bkmkend AAAAAAAABH} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +virtual void {\b OnRxInputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABI} +{\bkmkend AAAAAAAABI} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +virtual void {\b OnTxOutputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABJ} {\bkmkend AAAAAAAABJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAABK} +virtual void {\b OnVoiceInputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABK} {\bkmkend AAAAAAAABK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnRxInputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABL} +virtual void {\b OnVoiceOutputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABL} {\bkmkend AAAAAAAABL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnTxOutputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABM} +virtual void {\b OnApply} (wxCommandEvent &event){\bkmkstart AAAAAAAABM} {\bkmkend AAAAAAAABM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnVoiceInputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABN} +virtual void {\b OnCancel} (wxCommandEvent &event){\bkmkstart AAAAAAAABN} {\bkmkend AAAAAAAABN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnVoiceOutputSelect} (wxCommandEvent &event){\bkmkstart AAAAAAAABO} +virtual void {\b OnOK} (wxCommandEvent &event){\bkmkstart AAAAAAAABO} {\bkmkend AAAAAAAABO} \par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Protected Attributes\par +\pard\plain + +{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnApply} (wxCommandEvent &event){\bkmkstart AAAAAAAABP} +wxNotebook * {\b m_nbAudioOptions}{\bkmkstart AAAAAAAABP} {\bkmkend AAAAAAAABP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnCancel} (wxCommandEvent &event){\bkmkstart AAAAAAAABQ} +wxPanel * {\b m_panelDevices}{\bkmkstart AAAAAAAABQ} {\bkmkend AAAAAAAABQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnOK} (wxCommandEvent &event){\bkmkstart AAAAAAAABR} +wxRadioButton * {\b m_radioBtnPortAudio}{\bkmkstart AAAAAAAABR} {\bkmkend AAAAAAAABR} \par -} -\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid -Protected Attributes\par -\pard\plain - -{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxNotebook * {\b m_nbAudioOptions}{\bkmkstart AAAAAAAABS} +wxStaticText * {\b m_staticText151}{\bkmkstart AAAAAAAABS} {\bkmkend AAAAAAAABS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPanel * {\b m_panelDevices}{\bkmkstart AAAAAAAABT} +wxTextCtrl * {\b m_textNumChOut}{\bkmkstart AAAAAAAABT} {\bkmkend AAAAAAAABT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxRadioButton * {\b m_radioBtnPortAudio}{\bkmkstart AAAAAAAABU} +wxStaticText * {\b m_staticText141}{\bkmkstart AAAAAAAABU} {\bkmkend AAAAAAAABU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText151}{\bkmkstart AAAAAAAABV} +wxTextCtrl * {\b m_textNumChIn}{\bkmkstart AAAAAAAABV} {\bkmkend AAAAAAAABV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textNumChOut}{\bkmkstart AAAAAAAABW} +wxStaticText * {\b m_staticText14}{\bkmkstart AAAAAAAABW} {\bkmkend AAAAAAAABW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText141}{\bkmkstart AAAAAAAABX} +wxComboBox * {\b m_comboAudioCodec}{\bkmkstart AAAAAAAABX} {\bkmkend AAAAAAAABX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textNumChIn}{\bkmkstart AAAAAAAABY} +wxStaticText * {\b m_staticText15}{\bkmkstart AAAAAAAABY} {\bkmkend AAAAAAAABY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText14}{\bkmkstart AAAAAAAABZ} +wxComboBox * {\b m_comboCodecTx}{\bkmkstart AAAAAAAABZ} {\bkmkend AAAAAAAABZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxComboBox * {\b m_comboAudioCodec}{\bkmkstart AAAAAAAACA} +wxStaticText * {\b m_staticText16}{\bkmkstart AAAAAAAACA} {\bkmkend AAAAAAAACA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText15}{\bkmkstart AAAAAAAACB} +wxComboBox * {\b m_comboRadioRx}{\bkmkstart AAAAAAAACB} {\bkmkend AAAAAAAACB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxComboBox * {\b m_comboCodecTx}{\bkmkstart AAAAAAAACC} +wxStaticText * {\b m_staticText17}{\bkmkstart AAAAAAAACC} {\bkmkend AAAAAAAACC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText16}{\bkmkstart AAAAAAAACD} +wxComboBox * {\b m_comboCodecSpkr}{\bkmkstart AAAAAAAACD} {\bkmkend AAAAAAAACD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxComboBox * {\b m_comboRadioRx}{\bkmkstart AAAAAAAACE} +wxRadioButton * {\b m_radioBtnFileOnly}{\bkmkstart AAAAAAAACE} {\bkmkend AAAAAAAACE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText17}{\bkmkstart AAAAAAAACF} +wxPanel * {\b m_panelSettings}{\bkmkstart AAAAAAAACF} {\bkmkend AAAAAAAACF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxComboBox * {\b m_comboCodecSpkr}{\bkmkstart AAAAAAAACG} +wxListBox * {\b m_lbRxInput}{\bkmkstart AAAAAAAACG} {\bkmkend AAAAAAAACG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxRadioButton * {\b m_radioBtnFileOnly}{\bkmkstart AAAAAAAACH} +wxTextCtrl * {\b m_textRxInput}{\bkmkstart AAAAAAAACH} {\bkmkend AAAAAAAACH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPanel * {\b m_panelSettings}{\bkmkstart AAAAAAAACI} +wxListBox * {\b m_lbTxOutput}{\bkmkstart AAAAAAAACI} {\bkmkend AAAAAAAACI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxListBox * {\b m_lbRxInput}{\bkmkstart AAAAAAAACJ} +wxTextCtrl * {\b m_textCtrl15}{\bkmkstart AAAAAAAACJ} {\bkmkend AAAAAAAACJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textRxInput}{\bkmkstart AAAAAAAACK} +wxListBox * {\b m_lbVoiceInput}{\bkmkstart AAAAAAAACK} {\bkmkend AAAAAAAACK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxListBox * {\b m_lbTxOutput}{\bkmkstart AAAAAAAACL} +wxTextCtrl * {\b m_textVoiceInput}{\bkmkstart AAAAAAAACL} {\bkmkend AAAAAAAACL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl15}{\bkmkstart AAAAAAAACM} +wxListBox * {\b m_lbVoiceOutput}{\bkmkstart AAAAAAAACM} {\bkmkend AAAAAAAACM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxListBox * {\b m_lbVoiceInput}{\bkmkstart AAAAAAAACN} +wxTextCtrl * {\b m_textVoiceOutput}{\bkmkstart AAAAAAAACN} {\bkmkend AAAAAAAACN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textVoiceInput}{\bkmkstart AAAAAAAACO} +wxPanel * {\b m_panelRightChannel}{\bkmkstart AAAAAAAACO} {\bkmkend AAAAAAAACO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxListBox * {\b m_lbVoiceOutput}{\bkmkstart AAAAAAAACP} +wxStdDialogButtonSizer * {\b m_sdbSizer3}{\bkmkstart AAAAAAAACP} {\bkmkend AAAAAAAACP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textVoiceOutput}{\bkmkstart AAAAAAAACQ} +wxButton * {\b m_sdbSizer3OK}{\bkmkstart AAAAAAAACQ} {\bkmkend AAAAAAAACQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPanel * {\b m_panelRightChannel}{\bkmkstart AAAAAAAACR} +wxButton * {\b m_sdbSizer3Apply}{\bkmkstart AAAAAAAACR} {\bkmkend AAAAAAAACR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStdDialogButtonSizer * {\b m_sdbSizer3}{\bkmkstart AAAAAAAACS} +wxButton * {\b m_sdbSizer3Cancel}{\bkmkstart AAAAAAAACS} {\bkmkend AAAAAAAACS} \par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxButton * {\b m_sdbSizer3OK}{\bkmkstart AAAAAAAACT} -{\bkmkend AAAAAAAACT} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxButton * {\b m_sdbSizer3Apply}{\bkmkstart AAAAAAAACU} -{\bkmkend AAAAAAAACU} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxButton * {\b m_sdbSizer3Cancel}{\bkmkstart AAAAAAAACV} -{\bkmkend AAAAAAAACV} -\par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -912,8 +876,8 @@ C:/bin/Projects/Radio/fdmdv2/src/topFrame.cpp\par DlgComPorts Class Reference\par \pard\plain {\tc\tcl2 \v DlgComPorts} {\xe \v DlgComPorts} -{\bkmkstart AAAAAAAACW} -{\bkmkend AAAAAAAACW} +{\bkmkstart AAAAAAAACT} +{\bkmkend AAAAAAAACT} \par { {\f2 #include }}\par @@ -934,8 +898,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b DlgComPorts} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Select Com Port"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(399, 226), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER){\bkmkstart AAAAAAAACX} -{\bkmkend AAAAAAAACX} +{\b DlgComPorts} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Select Com Port"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(399, 226), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER){\bkmkstart AAAAAAAACU} +{\bkmkend AAAAAAAACU} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -945,8 +909,8 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnListItemSelected} (wxListEvent &event){\bkmkstart AAAAAAAACY} -{\bkmkend AAAAAAAACY} +virtual void {\b OnListItemSelected} (wxListEvent &event){\bkmkstart AAAAAAAACV} +{\bkmkend AAAAAAAACV} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -956,38 +920,38 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText8}{\bkmkstart AAAAAAAACZ} -{\bkmkend AAAAAAAACZ} +wxStaticText * {\b m_staticText8}{\bkmkstart AAAAAAAACW} +{\bkmkend AAAAAAAACW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxListCtrl * {\b m_listCtrlPortSelect}{\bkmkstart AAAAAAAADA} -{\bkmkend AAAAAAAADA} +wxListCtrl * {\b m_listCtrlPortSelect}{\bkmkstart AAAAAAAACX} +{\bkmkend AAAAAAAACX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText9}{\bkmkstart AAAAAAAADB} -{\bkmkend AAAAAAAADB} +wxStaticText * {\b m_staticText9}{\bkmkstart AAAAAAAACY} +{\bkmkend AAAAAAAACY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl10}{\bkmkstart AAAAAAAADC} -{\bkmkend AAAAAAAADC} +wxTextCtrl * {\b m_textCtrl10}{\bkmkstart AAAAAAAACZ} +{\bkmkend AAAAAAAACZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStdDialogButtonSizer * {\b m_sdbSizer3}{\bkmkstart AAAAAAAADD} -{\bkmkend AAAAAAAADD} +wxStdDialogButtonSizer * {\b m_sdbSizer3}{\bkmkstart AAAAAAAADA} +{\bkmkend AAAAAAAADA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxButton * {\b m_sdbSizer3OK}{\bkmkstart AAAAAAAADE} -{\bkmkend AAAAAAAADE} +wxButton * {\b m_sdbSizer3OK}{\bkmkstart AAAAAAAADB} +{\bkmkend AAAAAAAADB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxButton * {\b m_sdbSizer3Cancel}{\bkmkstart AAAAAAAADF} -{\bkmkend AAAAAAAADF} +wxButton * {\b m_sdbSizer3Cancel}{\bkmkstart AAAAAAAADC} +{\bkmkend AAAAAAAADC} \par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} @@ -1012,8 +976,8 @@ C:/bin/Projects/Radio/fdmdv2/src/topFrame.cpp\par DlgOptions Class Reference\par \pard\plain {\tc\tcl2 \v DlgOptions} {\xe \v DlgOptions} -{\bkmkstart AAAAAAAADG} -{\bkmkend AAAAAAAADG} +{\bkmkstart AAAAAAAADD} +{\bkmkend AAAAAAAADD} \par { {\f2 #include }}\par @@ -1034,8 +998,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b DlgOptions} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Program Options"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(332, 364), long style=wxDEFAULT_DIALOG_STYLE){\bkmkstart AAAAAAAADH} -{\bkmkend AAAAAAAADH} +{\b DlgOptions} (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Program Options"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(332, 364), long style=wxDEFAULT_DIALOG_STYLE){\bkmkstart AAAAAAAADE} +{\bkmkend AAAAAAAADE} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -1045,13 +1009,13 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAADI} -{\bkmkend AAAAAAAADI} +virtual void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAADF} +{\bkmkend AAAAAAAADF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAADJ} -{\bkmkend AAAAAAAADJ} +virtual void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAADG} +{\bkmkend AAAAAAAADG} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -1061,79 +1025,79 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText2}{\bkmkstart AAAAAAAADK} +wxStaticText * {\b m_staticText2}{\bkmkstart AAAAAAAADH} +{\bkmkend AAAAAAAADH} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxTextCtrl * {\b m_textCtrl3}{\bkmkstart AAAAAAAADI} +{\bkmkend AAAAAAAADI} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxStaticText * {\b m_staticText3}{\bkmkstart AAAAAAAADJ} +{\bkmkend AAAAAAAADJ} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxTextCtrl * {\b m_textCtrl4}{\bkmkstart AAAAAAAADK} {\bkmkend AAAAAAAADK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl3}{\bkmkstart AAAAAAAADL} +wxStaticText * {\b m_staticText4}{\bkmkstart AAAAAAAADL} {\bkmkend AAAAAAAADL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText3}{\bkmkstart AAAAAAAADM} +wxTextCtrl * {\b m_textCtrl5}{\bkmkstart AAAAAAAADM} {\bkmkend AAAAAAAADM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl4}{\bkmkstart AAAAAAAADN} +wxStaticText * {\b m_staticText5}{\bkmkstart AAAAAAAADN} {\bkmkend AAAAAAAADN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText4}{\bkmkstart AAAAAAAADO} +wxTextCtrl * {\b m_textCtrl6}{\bkmkstart AAAAAAAADO} {\bkmkend AAAAAAAADO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl5}{\bkmkstart AAAAAAAADP} +wxStaticText * {\b m_staticText6}{\bkmkstart AAAAAAAADP} {\bkmkend AAAAAAAADP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText5}{\bkmkstart AAAAAAAADQ} +wxTextCtrl * {\b m_textCtrl7}{\bkmkstart AAAAAAAADQ} {\bkmkend AAAAAAAADQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl6}{\bkmkstart AAAAAAAADR} +wxStaticText * {\b m_staticText7}{\bkmkstart AAAAAAAADR} {\bkmkend AAAAAAAADR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText6}{\bkmkstart AAAAAAAADS} +wxTextCtrl * {\b m_textCtrl8}{\bkmkstart AAAAAAAADS} {\bkmkend AAAAAAAADS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl7}{\bkmkstart AAAAAAAADT} +wxStdDialogButtonSizer * {\b m_sdbSizer4}{\bkmkstart AAAAAAAADT} {\bkmkend AAAAAAAADT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxStaticText * {\b m_staticText7}{\bkmkstart AAAAAAAADU} +wxButton * {\b m_sdbSizer4OK}{\bkmkstart AAAAAAAADU} {\bkmkend AAAAAAAADU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxTextCtrl * {\b m_textCtrl8}{\bkmkstart AAAAAAAADV} +wxButton * {\b m_sdbSizer4Cancel}{\bkmkstart AAAAAAAADV} {\bkmkend AAAAAAAADV} \par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxStdDialogButtonSizer * {\b m_sdbSizer4}{\bkmkstart AAAAAAAADW} -{\bkmkend AAAAAAAADW} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxButton * {\b m_sdbSizer4OK}{\bkmkstart AAAAAAAADX} -{\bkmkend AAAAAAAADX} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -wxButton * {\b m_sdbSizer4Cancel}{\bkmkstart AAAAAAAADY} -{\bkmkend AAAAAAAADY} -\par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -1157,8 +1121,8 @@ C:/bin/Projects/Radio/fdmdv2/src/topFrame.cpp\par MainApp Class Reference\par \pard\plain {\tc\tcl2 \v MainApp} {\xe \v MainApp} -{\bkmkstart AAAAAAAADZ} -{\bkmkend AAAAAAAADZ} +{\bkmkstart AAAAAAAADW} +{\bkmkend AAAAAAAADW} Inheritance diagram for MainApp:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_main_app__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -1176,13 +1140,29 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual bool {\b OnInit} (){\bkmkstart AAAAAAAAEA} -{\bkmkend AAAAAAAAEA} +virtual bool {\b OnInit} (){\bkmkstart AAAAAAAADX} +{\bkmkend AAAAAAAADX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual int {\b OnExit} (){\bkmkstart AAAAAAAAEB} -{\bkmkend AAAAAAAAEB} +virtual int {\b OnExit} (){\bkmkstart AAAAAAAADY} +{\bkmkend AAAAAAAADY} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +bool {\b loadConfig} (){\bkmkstart AAAAAAAADZ} +{\bkmkend AAAAAAAADZ} +\par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Protected Attributes\par +\pard\plain + +{ +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxConfig * {\b g_config}{\bkmkstart AAAAAAAAEA} +{\bkmkend AAAAAAAAEA} \par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} @@ -1199,8 +1179,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_main.cpp\par MainFrame Class Reference\par \pard\plain {\tc\tcl2 \v MainFrame} {\xe \v MainFrame} -{\bkmkstart AAAAAAAAEC} -{\bkmkend AAAAAAAAEC} +{\bkmkstart AAAAAAAAEB} +{\bkmkend AAAAAAAAEB} Inheritance diagram for MainFrame:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_main_frame__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -1218,7 +1198,12 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b MainFrame} (wxWindow *parent){\bkmkstart AAAAAAAAED} +{\b MainFrame} (wxWindow *parent){\bkmkstart AAAAAAAAEC} +{\bkmkend AAAAAAAAEC} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +void {\b per_frame_rx_processing} (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2){\bkmkstart AAAAAAAAED} {\bkmkend AAAAAAAAED} \par } @@ -1338,262 +1323,282 @@ PaError {\b m_txErr}{\bkmkstart AAAAAAAAEX} wxSound * {\b m_sound}{\bkmkstart AAAAAAAAEY} {\bkmkend AAAAAAAAEY} \par -} -\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid -Protected Member Functions\par -\pard\plain - -{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnCloseFrame} (wxCloseEvent &event){\bkmkstart AAAAAAAAEZ} +struct FDMDV * {\b m_pFDMDV_state}{\bkmkstart AAAAAAAAEZ} {\bkmkend AAAAAAAAEZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnExitClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAFA} +wxTimer {\b m_plotTimer}{\bkmkstart AAAAAAAAFA} {\bkmkend AAAAAAAAFA} \par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Protected Member Functions\par +\pard\plain + +{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b startTxStream} (){\bkmkstart AAAAAAAAFB} +virtual void {\b OnCloseFrame} (wxCloseEvent &event){\bkmkstart AAAAAAAAFB} {\bkmkend AAAAAAAAFB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b startRxStream} (){\bkmkstart AAAAAAAAFC} +virtual void {\b OnExitClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAFC} {\bkmkend AAAAAAAAFC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b stopTxStream} (){\bkmkstart AAAAAAAAFD} +void {\b averageData} (float mag_dB[]){\bkmkstart AAAAAAAAFD} {\bkmkend AAAAAAAAFD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b stopRxStream} (){\bkmkstart AAAAAAAAFE} +void {\b startTxStream} (){\bkmkstart AAAAAAAAFE} {\bkmkend AAAAAAAAFE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b abortTxStream} (){\bkmkstart AAAAAAAAFF} +void {\b startRxStream} (){\bkmkstart AAAAAAAAFF} {\bkmkend AAAAAAAAFF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b abortRxStream} (){\bkmkstart AAAAAAAAFG} +void {\b stopTxStream} (){\bkmkstart AAAAAAAAFG} {\bkmkend AAAAAAAAFG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnOpen} (wxCommandEvent &event){\bkmkstart AAAAAAAAFH} +void {\b stopRxStream} (){\bkmkstart AAAAAAAAFH} {\bkmkend AAAAAAAAFH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnOpenUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFI} +void {\b abortTxStream} (){\bkmkstart AAAAAAAAFI} {\bkmkend AAAAAAAAFI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSave} (wxCommandEvent &event){\bkmkstart AAAAAAAAFJ} +void {\b abortRxStream} (){\bkmkstart AAAAAAAAFJ} {\bkmkend AAAAAAAAFJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSaveUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFK} +void {\b OnOpen} (wxCommandEvent &event){\bkmkstart AAAAAAAAFK} {\bkmkend AAAAAAAAFK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnClose} (wxCommandEvent &event){\bkmkstart AAAAAAAAFL} +void {\b OnOpenUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFL} {\bkmkend AAAAAAAAFL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCloseUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFM} +void {\b OnSave} (wxCommandEvent &event){\bkmkstart AAAAAAAAFM} {\bkmkend AAAAAAAAFM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnExit} (wxCommandEvent &event){\bkmkstart AAAAAAAAFN} +void {\b OnSaveUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFN} {\bkmkend AAAAAAAAFN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCopy} (wxCommandEvent &event){\bkmkstart AAAAAAAAFO} +void {\b OnClose} (wxCommandEvent &event){\bkmkstart AAAAAAAAFO} {\bkmkend AAAAAAAAFO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCopyUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFP} +void {\b OnCloseUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFP} {\bkmkend AAAAAAAAFP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCut} (wxCommandEvent &event){\bkmkstart AAAAAAAAFQ} +void {\b OnExit} (wxCommandEvent &event){\bkmkstart AAAAAAAAFQ} {\bkmkend AAAAAAAAFQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCutUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFR} +void {\b OnCopy} (wxCommandEvent &event){\bkmkstart AAAAAAAAFR} {\bkmkend AAAAAAAAFR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaste} (wxCommandEvent &event){\bkmkstart AAAAAAAAFS} +void {\b OnCopyUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFS} {\bkmkend AAAAAAAAFS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPasteUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFT} +void {\b OnCut} (wxCommandEvent &event){\bkmkstart AAAAAAAAFT} {\bkmkend AAAAAAAAFT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsAudio} (wxCommandEvent &event){\bkmkstart AAAAAAAAFU} +void {\b OnCutUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFU} {\bkmkend AAAAAAAAFU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsAudioUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFV} +void {\b OnPaste} (wxCommandEvent &event){\bkmkstart AAAAAAAAFV} {\bkmkend AAAAAAAAFV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsComCfg} (wxCommandEvent &event){\bkmkstart AAAAAAAAFW} +void {\b OnPasteUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFW} {\bkmkend AAAAAAAAFW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsComCfgUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFX} +void {\b OnToolsAudio} (wxCommandEvent &event){\bkmkstart AAAAAAAAFX} {\bkmkend AAAAAAAAFX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsOptions} (wxCommandEvent &event){\bkmkstart AAAAAAAAFY} +void {\b OnToolsAudioUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFY} {\bkmkend AAAAAAAAFY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnToolsOptionsUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAFZ} +void {\b OnToolsComCfg} (wxCommandEvent &event){\bkmkstart AAAAAAAAFZ} {\bkmkend AAAAAAAAFZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCaptureRxStream} (wxCommandEvent &event){\bkmkstart AAAAAAAAGA} +void {\b OnToolsComCfgUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGA} {\bkmkend AAAAAAAAGA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCaptureTxStream} (wxCommandEvent &event){\bkmkstart AAAAAAAAGB} +void {\b OnToolsOptions} (wxCommandEvent &event){\bkmkstart AAAAAAAAGB} {\bkmkend AAAAAAAAGB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPlayAudioFile} (wxCommandEvent &event){\bkmkstart AAAAAAAAGC} +void {\b OnToolsOptionsUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGC} {\bkmkend AAAAAAAAGC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnHelpCheckUpdates} (wxCommandEvent &event){\bkmkstart AAAAAAAAGD} +void {\b OnCaptureRxStream} (wxCommandEvent &event){\bkmkstart AAAAAAAAGD} {\bkmkend AAAAAAAAGD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnHelpCheckUpdatesUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGE} +void {\b OnCaptureTxStream} (wxCommandEvent &event){\bkmkstart AAAAAAAAGE} {\bkmkend AAAAAAAAGE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnHelpAbout} (wxCommandEvent &event){\bkmkstart AAAAAAAAGF} +void {\b OnPlayAudioFile} (wxCommandEvent &event){\bkmkstart AAAAAAAAGF} {\bkmkend AAAAAAAAGF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCmdSliderScroll} (wxScrollEvent &event){\bkmkstart AAAAAAAAGG} +void {\b OnHelpCheckUpdates} (wxCommandEvent &event){\bkmkstart AAAAAAAAGG} {\bkmkend AAAAAAAAGG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSliderScrollBottom} (wxScrollEvent &event){\bkmkstart AAAAAAAAGH} +void {\b OnHelpCheckUpdatesUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGH} {\bkmkend AAAAAAAAGH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCmdSliderScrollChanged} (wxScrollEvent &event){\bkmkstart AAAAAAAAGI} +void {\b OnHelpAbout} (wxCommandEvent &event){\bkmkstart AAAAAAAAGI} {\bkmkend AAAAAAAAGI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSliderScrollTop} (wxScrollEvent &event){\bkmkstart AAAAAAAAGJ} +void {\b OnCmdSliderScroll} (wxScrollEvent &event){\bkmkstart AAAAAAAAGJ} {\bkmkend AAAAAAAAGJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnCheckSQClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGK} +void {\b OnSliderScrollBottom} (wxScrollEvent &event){\bkmkstart AAAAAAAAGK} {\bkmkend AAAAAAAAGK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnSplitClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGL} +void {\b OnCmdSliderScrollChanged} (wxScrollEvent &event){\bkmkstart AAAAAAAAGL} {\bkmkend AAAAAAAAGL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnAnalogClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGM} +void {\b OnSliderScrollTop} (wxScrollEvent &event){\bkmkstart AAAAAAAAGM} {\bkmkend AAAAAAAAGM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnALCClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGN} +void {\b OnCheckSQClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGN} {\bkmkend AAAAAAAAGN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnRxID} (wxCommandEvent &event){\bkmkstart AAAAAAAAGO} +void {\b OnTogBtnSplitClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGO} {\bkmkend AAAAAAAAGO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnTxID} (wxCommandEvent &event){\bkmkstart AAAAAAAAGP} +void {\b OnTogBtnAnalogClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGP} {\bkmkend AAAAAAAAGP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnTXClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGQ} +void {\b OnTogBtnALCClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGQ} {\bkmkend AAAAAAAAGQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnTogBtnOnOff} (wxCommandEvent &event){\bkmkstart AAAAAAAAGR} +void {\b OnTogBtnRxID} (wxCommandEvent &event){\bkmkstart AAAAAAAAGR} {\bkmkend AAAAAAAAGR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAGS} +void {\b OnTogBtnTxID} (wxCommandEvent &event){\bkmkstart AAAAAAAAGS} {\bkmkend AAAAAAAAGS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAGT} +void {\b OnTogBtnTXClick} (wxCommandEvent &event){\bkmkstart AAAAAAAAGT} {\bkmkend AAAAAAAAGT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAGU} +void {\b OnTogBtnOnOff} (wxCommandEvent &event){\bkmkstart AAAAAAAAGU} {\bkmkend AAAAAAAAGU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGV} +void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAGV} {\bkmkend AAAAAAAAGV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxString {\b LoadUserImage} (wxImage &image){\bkmkstart AAAAAAAAGW} +void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAGW} {\bkmkend AAAAAAAAGW} \par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAGX} +{\bkmkend AAAAAAAAGX} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +void {\b OnUpdateUI} (wxUpdateUIEvent &event){\bkmkstart AAAAAAAAGY} +{\bkmkend AAAAAAAAGY} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +void {\b OnTimer} (wxTimerEvent &evt){\bkmkstart AAAAAAAAGZ} +{\bkmkend AAAAAAAAGZ} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxString {\b LoadUserImage} (wxImage &image){\bkmkstart AAAAAAAAHA} +{\bkmkend AAAAAAAAHA} +\par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Additional Inherited Members\par @@ -1612,8 +1617,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_main.cpp\par OptionsDlg Class Reference\par \pard\plain {\tc\tcl2 \v OptionsDlg} {\xe \v OptionsDlg} -{\bkmkstart AAAAAAAAGX} -{\bkmkend AAAAAAAAGX} +{\bkmkstart AAAAAAAAHB} +{\bkmkend AAAAAAAAHB} Inheritance diagram for OptionsDlg:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_options_dlg__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -1639,13 +1644,13 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAGY} -{\bkmkend AAAAAAAAGY} +void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAHC} +{\bkmkend AAAAAAAAHC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAAGZ} -{\bkmkend AAAAAAAAGZ} +void {\b OnInitDialog} (wxInitDialogEvent &event){\bkmkstart AAAAAAAAHD} +{\bkmkend AAAAAAAAHD} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -1661,8 +1666,8 @@ Constructor & Destructor Documentation\par {\b OptionsDlg::OptionsDlg (wxWindow * {\i parent})}} \par -{\bkmkstart AAAAAAAAHA} -{\bkmkend AAAAAAAAHA} +{\bkmkstart AAAAAAAAHE} +{\bkmkend AAAAAAAAHE} { \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid @@ -1682,8 +1687,8 @@ C:/bin/Projects/Radio/fdmdv2/src/dlg_options.cpp\par paCallBackData Struct Reference\par \pard\plain {\tc\tcl2 \v paCallBackData} {\xe \v paCallBackData} -{\bkmkstart AAAAAAAAHB} -{\bkmkend AAAAAAAAHB} +{\bkmkstart AAAAAAAAHF} +{\bkmkend AAAAAAAAHF} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Public Attributes\par \pard\plain @@ -1691,13 +1696,13 @@ Public Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b in48k} [FDMDV_OS_TAPS+N48]{\bkmkstart AAAAAAAAHC} -{\bkmkend AAAAAAAAHC} +float {\b in48k} [FDMDV_OS_TAPS+N48]{\bkmkstart AAAAAAAAHG} +{\bkmkend AAAAAAAAHG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b in8k} [MEM8+N8]{\bkmkstart AAAAAAAAHD} -{\bkmkend AAAAAAAAHD} +float {\b in8k} [MEM8+N8]{\bkmkstart AAAAAAAAHH} +{\bkmkend AAAAAAAAHH} \par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} @@ -1712,8 +1717,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_pa_wrapper.cpp\par PlotPanel Class Reference\par \pard\plain {\tc\tcl2 \v PlotPanel} {\xe \v PlotPanel} -{\bkmkstart AAAAAAAAHE} -{\bkmkend AAAAAAAAHE} +{\bkmkstart AAAAAAAAHI} +{\bkmkend AAAAAAAAHI} Inheritance diagram for PlotPanel:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_plot_panel__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -1731,241 +1736,241 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b PlotPanel} (wxFrame *parent){\bkmkstart AAAAAAAAHF} -{\bkmkend AAAAAAAAHF} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnMouseMove} (wxMouseEvent &event){\bkmkstart AAAAAAAAHG} -{\bkmkend AAAAAAAAHG} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnMouseDown} (wxMouseEvent &event){\bkmkstart AAAAAAAAHH} -{\bkmkend AAAAAAAAHH} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnMouseUp} (wxMouseEvent &event){\bkmkstart AAAAAAAAHI} -{\bkmkend AAAAAAAAHI} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnMouseWheelMoved} (wxMouseEvent &event){\bkmkstart AAAAAAAAHJ} +{\b PlotPanel} (wxFrame *parent){\bkmkstart AAAAAAAAHJ} {\bkmkend AAAAAAAAHJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAHK} +void {\b OnMouseMove} (wxMouseEvent &event){\bkmkstart AAAAAAAAHK} {\bkmkend AAAAAAAAHK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAHL} +void {\b OnMouseDown} (wxMouseEvent &event){\bkmkstart AAAAAAAAHL} {\bkmkend AAAAAAAAHL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnErase} (wxEraseEvent &event){\bkmkstart AAAAAAAAHM} +void {\b OnMouseUp} (wxMouseEvent &event){\bkmkstart AAAAAAAAHM} {\bkmkend AAAAAAAAHM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAHN} +void {\b OnMouseWheelMoved} (wxMouseEvent &event){\bkmkstart AAAAAAAAHN} {\bkmkend AAAAAAAAHN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b paintEvent} (wxPaintEvent &evt){\bkmkstart AAAAAAAAHO} +void {\b OnClose} (wxCloseEvent &event){\bkmkstart AAAAAAAAHO} {\bkmkend AAAAAAAAHO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAHP} +void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAHP} {\bkmkend AAAAAAAAHP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b drawGraticule} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAHQ} +void {\b OnErase} (wxEraseEvent &event){\bkmkstart AAAAAAAAHQ} {\bkmkend AAAAAAAAHQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual double {\b SetZoomFactor} (double zf){\bkmkstart AAAAAAAAHR} +void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAHR} {\bkmkend AAAAAAAAHR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual double {\b GetZoomFactor} (double zf){\bkmkstart AAAAAAAAHS} +void {\b paintEvent} (wxPaintEvent &evt){\bkmkstart AAAAAAAAHS} {\bkmkend AAAAAAAAHS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAHT} +virtual void {\b draw} (wxAutoBufferedPaintDC &pdc){\bkmkstart AAAAAAAAHT} {\bkmkend AAAAAAAAHT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual double {\b GetLabelSize} (){\bkmkstart AAAAAAAAHU} +virtual void {\b drawGraticule} (wxAutoBufferedPaintDC &pdc){\bkmkstart AAAAAAAAHU} {\bkmkend AAAAAAAAHU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -virtual void {\b SetLabelSize} (double size){\bkmkstart AAAAAAAAHV} +virtual double {\b SetZoomFactor} (double zf){\bkmkstart AAAAAAAAHV} {\bkmkend AAAAAAAAHV} \par -} -\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid -Public Attributes\par -\pard\plain - -{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPen {\b m_penShortDash}{\bkmkstart AAAAAAAAHW} +virtual double {\b GetZoomFactor} (double zf){\bkmkstart AAAAAAAAHW} {\bkmkend AAAAAAAAHW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPen {\b m_penDotDash}{\bkmkstart AAAAAAAAHX} +virtual void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAHX} {\bkmkend AAAAAAAAHX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxPen {\b m_penSolid}{\bkmkstart AAAAAAAAHY} +virtual double {\b GetLabelSize} (){\bkmkstart AAAAAAAAHY} {\bkmkend AAAAAAAAHY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxRect {\b m_rectCtrl}{\bkmkstart AAAAAAAAHZ} +virtual void {\b SetLabelSize} (double size){\bkmkstart AAAAAAAAHZ} {\bkmkend AAAAAAAAHZ} \par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Public Attributes\par +\pard\plain + +{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxRect {\b m_rectGrid}{\bkmkstart AAAAAAAAIA} +wxPen {\b m_penShortDash}{\bkmkstart AAAAAAAAIA} {\bkmkend AAAAAAAAIA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxRect {\b m_rectPlot}{\bkmkstart AAAAAAAAIB} +wxPen {\b m_penDotDash}{\bkmkstart AAAAAAAAIB} {\bkmkend AAAAAAAAIB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b MainFrame} * {\b m_pTopFrame}{\bkmkstart AAAAAAAAIC} +wxPen {\b m_penSolid}{\bkmkstart AAAAAAAAIC} {\bkmkend AAAAAAAAIC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxAuiNotebook * {\b m_pNoteBook}{\bkmkstart AAAAAAAAID} +wxRect {\b m_rCtrlPrev}{\bkmkstart AAAAAAAAID} {\bkmkend AAAAAAAAID} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -double {\b m_label_size}{\bkmkstart AAAAAAAAIE} +wxRect {\b m_rCtrl}{\bkmkstart AAAAAAAAIE} {\bkmkend AAAAAAAAIE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxSize {\b m_Bufsz}{\bkmkstart AAAAAAAAIF} +wxRect {\b m_rGrid}{\bkmkstart AAAAAAAAIF} {\bkmkend AAAAAAAAIF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b m_newdata}{\bkmkstart AAAAAAAAIG} +wxRect {\b m_rPlot}{\bkmkstart AAAAAAAAIG} {\bkmkend AAAAAAAAIG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxBitmap * {\b m_bmp}{\bkmkstart AAAAAAAAIH} +{\b MainFrame} * {\b m_pTopFrame}{\bkmkstart AAAAAAAAIH} {\bkmkend AAAAAAAAIH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -wxNativePixelData * {\b m_pBmp}{\bkmkstart AAAAAAAAII} +wxAuiNotebook * {\b m_pNoteBook}{\bkmkstart AAAAAAAAII} {\bkmkend AAAAAAAAII} \par -} -\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid -Protected Attributes\par -\pard\plain - -{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_x}{\bkmkstart AAAAAAAAIJ} +double {\b m_label_size}{\bkmkstart AAAAAAAAIJ} {\bkmkend AAAAAAAAIJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_y}{\bkmkstart AAAAAAAAIK} +wxSize {\b m_Bufsz}{\bkmkstart AAAAAAAAIK} {\bkmkend AAAAAAAAIK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_w}{\bkmkstart AAAAAAAAIL} +bool {\b m_newdata}{\bkmkstart AAAAAAAAIL} {\bkmkend AAAAAAAAIL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_h}{\bkmkstart AAAAAAAAIM} +wxBitmap * {\b m_bmp}{\bkmkstart AAAAAAAAIM} {\bkmkend AAAAAAAAIM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_left}{\bkmkstart AAAAAAAAIN} +wxNativePixelData * {\b m_pBmp}{\bkmkstart AAAAAAAAIN} {\bkmkend AAAAAAAAIN} \par +} +\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid +Protected Attributes\par +\pard\plain + +{ \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_top}{\bkmkstart AAAAAAAAIO} +int {\b m_x}{\bkmkstart AAAAAAAAIO} {\bkmkend AAAAAAAAIO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_prev_w}{\bkmkstart AAAAAAAAIP} +int {\b m_y}{\bkmkstart AAAAAAAAIP} {\bkmkend AAAAAAAAIP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_prev_h}{\bkmkstart AAAAAAAAIQ} +int {\b m_left}{\bkmkstart AAAAAAAAIQ} {\bkmkend AAAAAAAAIQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_prev_x}{\bkmkstart AAAAAAAAIR} +int {\b m_top}{\bkmkstart AAAAAAAAIR} {\bkmkend AAAAAAAAIR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_prev_y}{\bkmkstart AAAAAAAAIS} +int {\b m_prev_w}{\bkmkstart AAAAAAAAIS} {\bkmkend AAAAAAAAIS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b m_use_bitmap}{\bkmkstart AAAAAAAAIT} +int {\b m_prev_h}{\bkmkstart AAAAAAAAIT} {\bkmkend AAAAAAAAIT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b m_clip}{\bkmkstart AAAAAAAAIU} +int {\b m_prev_x}{\bkmkstart AAAAAAAAIU} {\bkmkend AAAAAAAAIU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b m_rubberBand}{\bkmkstart AAAAAAAAIV} +int {\b m_prev_y}{\bkmkstart AAAAAAAAIV} {\bkmkend AAAAAAAAIV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -bool {\b m_mouseDown}{\bkmkstart AAAAAAAAIW} +bool {\b m_use_bitmap}{\bkmkstart AAAAAAAAIW} {\bkmkend AAAAAAAAIW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -double {\b m_zoomFactor}{\bkmkstart AAAAAAAAIX} +bool {\b m_clip}{\bkmkstart AAAAAAAAIX} {\bkmkend AAAAAAAAIX} \par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +bool {\b m_rubberBand}{\bkmkstart AAAAAAAAIY} +{\bkmkend AAAAAAAAIY} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +bool {\b m_mouseDown}{\bkmkstart AAAAAAAAIZ} +{\bkmkend AAAAAAAAIZ} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +bool {\b m_firstPass}{\bkmkstart AAAAAAAAJA} +{\bkmkend AAAAAAAAJA} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +double {\b m_zoomFactor}{\bkmkstart AAAAAAAAJB} +{\bkmkend AAAAAAAAJB} +\par } {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par} The documentation for this class was generated from the following files:{\par @@ -1981,8 +1986,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot.cpp\par PlotScalar Class Reference\par \pard\plain {\tc\tcl2 \v PlotScalar} {\xe \v PlotScalar} -{\bkmkstart AAAAAAAAIY} -{\bkmkend AAAAAAAAIY} +{\bkmkstart AAAAAAAAJC} +{\bkmkend AAAAAAAAJC} Inheritance diagram for PlotScalar:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_plot_scalar__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -2000,13 +2005,13 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b PlotScalar} (wxFrame *parent, int x_max_, int y_max_){\bkmkstart AAAAAAAAIZ} -{\bkmkend AAAAAAAAIZ} +{\b PlotScalar} (wxFrame *parent, int x_max_, int y_max_){\bkmkstart AAAAAAAAJD} +{\bkmkend AAAAAAAAJD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b add_new_sample} (float sample){\bkmkstart AAAAAAAAJA} -{\bkmkend AAAAAAAAJA} +void {\b add_new_sample} (float sample){\bkmkstart AAAAAAAAJE} +{\bkmkend AAAAAAAAJE} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2016,28 +2021,28 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b clip} (int y1){\bkmkstart AAAAAAAAJB} -{\bkmkend AAAAAAAAJB} +int {\b clip} (int y1){\bkmkstart AAAAAAAAJF} +{\bkmkend AAAAAAAAJF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAJC} -{\bkmkend AAAAAAAAJC} +void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAJG} +{\bkmkend AAAAAAAAJG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAJD} -{\bkmkend AAAAAAAAJD} +void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAJH} +{\bkmkend AAAAAAAAJH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAJE} -{\bkmkend AAAAAAAAJE} +void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAJI} +{\bkmkend AAAAAAAAJI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAJF} -{\bkmkend AAAAAAAAJF} +void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAJJ} +{\bkmkend AAAAAAAAJJ} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2047,33 +2052,33 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_x_max}{\bkmkstart AAAAAAAAJG} -{\bkmkend AAAAAAAAJG} +int {\b m_x_max}{\bkmkstart AAAAAAAAJK} +{\bkmkend AAAAAAAAJK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_y_max}{\bkmkstart AAAAAAAAJH} -{\bkmkend AAAAAAAAJH} +int {\b m_y_max}{\bkmkstart AAAAAAAAJL} +{\bkmkend AAAAAAAAJL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float * {\b m_mem}{\bkmkstart AAAAAAAAJI} -{\bkmkend AAAAAAAAJI} +float * {\b m_mem}{\bkmkstart AAAAAAAAJM} +{\bkmkend AAAAAAAAJM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -float {\b m_new_sample}{\bkmkstart AAAAAAAAJJ} -{\bkmkend AAAAAAAAJJ} +float {\b m_new_sample}{\bkmkstart AAAAAAAAJN} +{\bkmkend AAAAAAAAJN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_index}{\bkmkstart AAAAAAAAJK} -{\bkmkend AAAAAAAAJK} +int {\b m_index}{\bkmkstart AAAAAAAAJO} +{\bkmkend AAAAAAAAJO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_step}{\bkmkstart AAAAAAAAJL} -{\bkmkend AAAAAAAAJL} +int {\b m_step}{\bkmkstart AAAAAAAAJP} +{\bkmkend AAAAAAAAJP} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2093,8 +2098,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot_scalar.cpp\par PlotScatter Class Reference\par \pard\plain {\tc\tcl2 \v PlotScatter} {\xe \v PlotScatter} -{\bkmkstart AAAAAAAAJM} -{\bkmkend AAAAAAAAJM} +{\bkmkstart AAAAAAAAJQ} +{\bkmkend AAAAAAAAJQ} Inheritance diagram for PlotScatter:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_plot_scatter__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -2112,8 +2117,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b PlotScatter} (wxFrame *parent){\bkmkstart AAAAAAAAJN} -{\bkmkend AAAAAAAAJN} +{\b PlotScatter} (wxFrame *parent){\bkmkstart AAAAAAAAJR} +{\bkmkend AAAAAAAAJR} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2123,28 +2128,28 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAJO} -{\bkmkend AAAAAAAAJO} +void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAJS} +{\bkmkend AAAAAAAAJS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b add_new_samples} ({\b COMP} samples[]){\bkmkstart AAAAAAAAJP} -{\bkmkend AAAAAAAAJP} +void {\b add_new_samples} ({\b COMP} samples[]){\bkmkstart AAAAAAAAJT} +{\bkmkend AAAAAAAAJT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAJQ} -{\bkmkend AAAAAAAAJQ} +void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAJU} +{\bkmkend AAAAAAAAJU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAJR} -{\bkmkend AAAAAAAAJR} +void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAJV} +{\bkmkend AAAAAAAAJV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAJS} -{\bkmkend AAAAAAAAJS} +void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAJW} +{\bkmkend AAAAAAAAJW} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2154,13 +2159,13 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b COMP} {\b m_mem} [SCATTER_MEM]{\bkmkstart AAAAAAAAJT} -{\bkmkend AAAAAAAAJT} +{\b COMP} {\b m_mem} [SCATTER_MEM]{\bkmkstart AAAAAAAAJX} +{\bkmkend AAAAAAAAJX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b COMP} {\b m_new_samples} [FDMDV_NSYM]{\bkmkstart AAAAAAAAJU} -{\bkmkend AAAAAAAAJU} +{\b COMP} {\b m_new_samples} [FDMDV_NSYM]{\bkmkstart AAAAAAAAJY} +{\bkmkend AAAAAAAAJY} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2180,8 +2185,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot_scatter.cpp\par PlotSpectrum Class Reference\par \pard\plain {\tc\tcl2 \v PlotSpectrum} {\xe \v PlotSpectrum} -{\bkmkstart AAAAAAAAJV} -{\bkmkend AAAAAAAAJV} +{\bkmkstart AAAAAAAAJZ} +{\bkmkend AAAAAAAAJZ} Inheritance diagram for PlotSpectrum:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_plot_spectrum__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -2199,8 +2204,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b PlotSpectrum} (wxFrame *parent){\bkmkstart AAAAAAAAJW} -{\bkmkend AAAAAAAAJW} +{\b PlotSpectrum} (wxFrame *parent){\bkmkstart AAAAAAAAKA} +{\bkmkend AAAAAAAAKA} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2210,28 +2215,28 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAJX} -{\bkmkend AAAAAAAAJX} +void {\b OnPaint} (wxPaintEvent &event){\bkmkstart AAAAAAAAKB} +{\bkmkend AAAAAAAAKB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAJY} -{\bkmkend AAAAAAAAJY} +void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAKC} +{\bkmkend AAAAAAAAKC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAJZ} -{\bkmkend AAAAAAAAJZ} +void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAKD} +{\bkmkend AAAAAAAAKD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b drawGraticule} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKA} -{\bkmkend AAAAAAAAKA} +void {\b drawGraticule} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKE} +{\bkmkend AAAAAAAAKE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKB} -{\bkmkend AAAAAAAAKB} +void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKF} +{\bkmkend AAAAAAAAKF} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2251,8 +2256,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot_spectrum.cpp\par PlotWaterfall Class Reference\par \pard\plain {\tc\tcl2 \v PlotWaterfall} {\xe \v PlotWaterfall} -{\bkmkstart AAAAAAAAKC} -{\bkmkend AAAAAAAAKC} +{\bkmkstart AAAAAAAAKG} +{\bkmkend AAAAAAAAKG} Inheritance diagram for PlotWaterfall:{ \pard\plain \par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "class_plot_waterfall__inherit__graph.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par @@ -2270,8 +2275,8 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -{\b PlotWaterfall} (wxFrame *parent){\bkmkstart AAAAAAAAKD} -{\bkmkend AAAAAAAAKD} +{\b PlotWaterfall} (wxFrame *parent){\bkmkstart AAAAAAAAKH} +{\bkmkend AAAAAAAAKH} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2281,43 +2286,33 @@ Protected Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -unsigned {\b heatmap} (float val, float min, float max){\bkmkstart AAAAAAAAKE} -{\bkmkend AAAAAAAAKE} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnPaint} (wxPaintEvent &evt){\bkmkstart AAAAAAAAKF} -{\bkmkend AAAAAAAAKF} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -void {\b OnSize} (wxSizeEvent &event){\bkmkstart AAAAAAAAKG} -{\bkmkend AAAAAAAAKG} +unsigned {\b heatmap} (float val, float min, float max){\bkmkstart AAAAAAAAKI} +{\bkmkend AAAAAAAAKI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAKH} -{\bkmkend AAAAAAAAKH} +void {\b OnPaint} (wxPaintEvent &evt){\bkmkstart AAAAAAAAKJ} +{\bkmkend AAAAAAAAKJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b drawGraticule} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKI} -{\bkmkend AAAAAAAAKI} +void {\b OnShow} (wxShowEvent &event){\bkmkstart AAAAAAAAKK} +{\bkmkend AAAAAAAAKK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b draw} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKJ} -{\bkmkend AAAAAAAAKJ} +void {\b drawGraticule} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKL} +{\bkmkend AAAAAAAAKL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b plotData} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKK} -{\bkmkend AAAAAAAAKK} +void {\b draw} (wxAutoBufferedPaintDC &pdc){\bkmkstart AAAAAAAAKM} +{\bkmkend AAAAAAAAKM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b plotPixelData} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKL} -{\bkmkend AAAAAAAAKL} +void {\b plotPixelData} (wxAutoBufferedPaintDC &dc){\bkmkstart AAAAAAAAKN} +{\bkmkend AAAAAAAAKN} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2327,13 +2322,23 @@ Protected Attributes\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -unsigned {\b m_heatmap_lut} [256]{\bkmkstart AAAAAAAAKM} -{\bkmkend AAAAAAAAKM} +unsigned {\b m_heatmap_lut} [256]{\bkmkstart AAAAAAAAKO} +{\bkmkend AAAAAAAAKO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b m_greyscale}{\bkmkstart AAAAAAAAKN} -{\bkmkend AAAAAAAAKN} +int {\b m_greyscale}{\bkmkstart AAAAAAAAKP} +{\bkmkend AAAAAAAAKP} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +wxMemoryDC {\b m_mDC}{\bkmkstart AAAAAAAAKQ} +{\bkmkend AAAAAAAAKQ} +\par +\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid + +int {\b m_line_color}{\bkmkstart AAAAAAAAKR} +{\bkmkend AAAAAAAAKR} \par } \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid @@ -2353,8 +2358,8 @@ C:/bin/Projects/Radio/fdmdv2/src/fdmdv2_plot_waterfall.cpp\par PortAudioWrap Class Reference\par \pard\plain {\tc\tcl2 \v PortAudioWrap} {\xe \v PortAudioWrap} -{\bkmkstart AAAAAAAAKO} -{\bkmkend AAAAAAAAKO} +{\bkmkstart AAAAAAAAKS} +{\bkmkend AAAAAAAAKS} \pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid Public Member Functions\par \pard\plain @@ -2362,162 +2367,142 @@ Public Member Functions\par { \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b per_frame_rx_processing} (short output_buf[], int *n_output_buf, int codec_bits[], short input_buf[], int *n_input_buf, int *nin, int *state, struct CODEC2 *c2){\bkmkstart AAAAAAAAKP} -{\bkmkend AAAAAAAAKP} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -PaDeviceIndex {\b getDefaultInputDevice} (){\bkmkstart AAAAAAAAKQ} -{\bkmkend AAAAAAAAKQ} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -PaDeviceIndex {\b getDefaultOutputDevice} (){\bkmkstart AAAAAAAAKR} -{\bkmkend AAAAAAAAKR} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -PaStreamParameters * {\b getDeviceInfo} (PaDeviceIndex idx){\bkmkstart AAAAAAAAKS} -{\bkmkend AAAAAAAAKS} -\par -\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid - -PaError {\b setFramesPerBuffer} (unsigned long size){\bkmkstart AAAAAAAAKT} +void {\b averageData} (float mag_dB[]){\bkmkstart AAAAAAAAKT} {\bkmkend AAAAAAAAKT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setSampleRate} (unsigned long size){\bkmkstart AAAAAAAAKU} +PaDeviceIndex {\b getDefaultInputDevice} (){\bkmkstart AAAAAAAAKU} {\bkmkend AAAAAAAAKU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setStreamFlags} (PaStreamFlags flags){\bkmkstart AAAAAAAAKV} +PaDeviceIndex {\b getDefaultOutputDevice} (){\bkmkstart AAAAAAAAKV} {\bkmkend AAAAAAAAKV} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setCallback} (PaStreamCallback *streamCallback){\bkmkstart AAAAAAAAKW} +PaStreamParameters * {\b getDeviceInfo} (PaDeviceIndex idx){\bkmkstart AAAAAAAAKW} {\bkmkend AAAAAAAAKW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setStreamCallback} (PaStream *stream, PaStreamCallback *callback){\bkmkstart AAAAAAAAKX} +PaError {\b setFramesPerBuffer} (unsigned long size){\bkmkstart AAAAAAAAKX} {\bkmkend AAAAAAAAKX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setStreamFinishedCallback} (PaStream *stream, PaStreamFinishedCallback *streamFinishedCallback){\bkmkstart AAAAAAAAKY} +PaError {\b setSampleRate} (unsigned long size){\bkmkstart AAAAAAAAKY} {\bkmkend AAAAAAAAKY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b streamOpen} (){\bkmkstart AAAAAAAAKZ} +PaError {\b setStreamFlags} (PaStreamFlags flags){\bkmkstart AAAAAAAAKZ} {\bkmkend AAAAAAAAKZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setInputDevice} (PaDeviceIndex dev){\bkmkstart AAAAAAAALA} +PaError {\b setCallback} (PaStreamCallback *m_pStreamCallback){\bkmkstart AAAAAAAALA} {\bkmkend AAAAAAAALA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setInputChannelCount} (int count){\bkmkstart AAAAAAAALB} +PaError {\b setStreamCallback} (PaStream *stream, PaStreamCallback *callback){\bkmkstart AAAAAAAALB} {\bkmkend AAAAAAAALB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b getInputChannelCount} (){\bkmkstart AAAAAAAALC} +PaError {\b setStreamFinishedCallback} (PaStream *stream, PaStreamFinishedCallback *m_pStreamFinishedCallback){\bkmkstart AAAAAAAALC} {\bkmkend AAAAAAAALC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setInputSampleFormat} (PaSampleFormat format){\bkmkstart AAAAAAAALD} +void {\b setInputBuffer} (const PaStreamParameters &inputBuffer){\bkmkstart AAAAAAAALD} {\bkmkend AAAAAAAALD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setInputSampleRate} (PaSampleFormat format){\bkmkstart AAAAAAAALE} +PaError {\b setInputDevice} (PaDeviceIndex dev){\bkmkstart AAAAAAAALE} {\bkmkend AAAAAAAALE} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setInputLatency} (PaTime latency){\bkmkstart AAAAAAAALF} +PaError {\b setInputChannelCount} (int count){\bkmkstart AAAAAAAALF} {\bkmkend AAAAAAAALF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setInputHostApiStreamInfo} (void *info=NULL){\bkmkstart AAAAAAAALG} +int {\b getInputChannelCount} (){\bkmkstart AAAAAAAALG} {\bkmkend AAAAAAAALG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaTime {\b getInputDefaultLowLatency} (){\bkmkstart AAAAAAAALH} +PaError {\b setInputSampleFormat} (PaSampleFormat format){\bkmkstart AAAAAAAALH} {\bkmkend AAAAAAAALH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -const char * {\b getDeviceName} (PaDeviceIndex dev){\bkmkstart AAAAAAAALI} +PaError {\b setInputSampleRate} (PaSampleFormat format){\bkmkstart AAAAAAAALI} {\bkmkend AAAAAAAALI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setOutputDevice} (PaDeviceIndex dev){\bkmkstart AAAAAAAALJ} +PaError {\b setInputLatency} (PaTime latency){\bkmkstart AAAAAAAALJ} {\bkmkend AAAAAAAALJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setOutputChannelCount} (int count){\bkmkstart AAAAAAAALK} +void {\b setInputHostApiStreamInfo} (void *info=NULL){\bkmkstart AAAAAAAALK} {\bkmkend AAAAAAAALK} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -const int {\b getOutputChannelCount} (){\bkmkstart AAAAAAAALL} +PaTime {\b getInputDefaultLowLatency} (){\bkmkstart AAAAAAAALL} {\bkmkend AAAAAAAALL} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setOutputSampleFormat} (PaSampleFormat format){\bkmkstart AAAAAAAALM} +const char * {\b getDeviceName} (PaDeviceIndex dev){\bkmkstart AAAAAAAALM} {\bkmkend AAAAAAAALM} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b setOutputLatency} (PaTime latency){\bkmkstart AAAAAAAALN} +PaError {\b setOutputDevice} (PaDeviceIndex dev){\bkmkstart AAAAAAAALN} {\bkmkend AAAAAAAALN} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b streamStart} (){\bkmkstart AAAAAAAALO} +PaError {\b setOutputChannelCount} (int count){\bkmkstart AAAAAAAALO} {\bkmkend AAAAAAAALO} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaError {\b streamClose} (){\bkmkstart AAAAAAAALP} +const int {\b getOutputChannelCount} (){\bkmkstart AAAAAAAALP} {\bkmkend AAAAAAAALP} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setOutputHostApiStreamInfo} (void *info=NULL){\bkmkstart AAAAAAAALQ} +PaError {\b setOutputSampleFormat} (PaSampleFormat format){\bkmkstart AAAAAAAALQ} {\bkmkend AAAAAAAALQ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaTime {\b getOutputDefaultLowLatency} (){\bkmkstart AAAAAAAALR} +PaError {\b setOutputLatency} (PaTime latency){\bkmkstart AAAAAAAALR} {\bkmkend AAAAAAAALR} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b averageData} (float mag_dB[]){\bkmkstart AAAAAAAALS} +void {\b setOutputHostApiStreamInfo} (void *info=NULL){\bkmkstart AAAAAAAALS} {\bkmkend AAAAAAAALS} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setFdmdvState} (FDMDV *fdmdv_state){\bkmkstart AAAAAAAALT} +PaTime {\b getOutputDefaultLowLatency} (){\bkmkstart AAAAAAAALT} {\bkmkend AAAAAAAALT} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setInputBuffer} (const PaStreamParameters &inputBuffer){\bkmkstart AAAAAAAALU} +void {\b setFdmdvState} (FDMDV *fdmdv_state){\bkmkstart AAAAAAAALU} {\bkmkend AAAAAAAALU} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid @@ -2527,32 +2512,32 @@ void {\b setOutputBuffer} (const PaStreamParameters &outputBuffer){\bkmkstart AA \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setSamplerate} (int samplerate){\bkmkstart AAAAAAAALW} +void {\b setTimeInfo} (PaStreamCallbackTimeInfo *timeInfo){\bkmkstart AAAAAAAALW} {\bkmkend AAAAAAAALW} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setStatusFlags} (const PaStreamCallbackFlags &statusFlags){\bkmkstart AAAAAAAALX} +void {\b setUserData} (void *userData){\bkmkstart AAAAAAAALX} {\bkmkend AAAAAAAALX} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setStream} (PaStream *stream){\bkmkstart AAAAAAAALY} +unsigned long {\b getFramesPerBuffer} () const {\bkmkstart AAAAAAAALY} {\bkmkend AAAAAAAALY} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setStreamFinishedCallback} (PaStreamFinishedCallback *streamFinishedCallback){\bkmkstart AAAAAAAALZ} +const PaStreamParameters & {\b getInputBuffer} () const {\bkmkstart AAAAAAAALZ} {\bkmkend AAAAAAAALZ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setTimeInfo} (PaStreamCallbackTimeInfo *timeInfo){\bkmkstart AAAAAAAAMA} +const PaStreamParameters & {\b getOutputBuffer} () const {\bkmkstart AAAAAAAAMA} {\bkmkend AAAAAAAAMA} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void {\b setUserData} (void *userData){\bkmkstart AAAAAAAAMB} +const PaStreamCallbackFlags & {\b getStatusFlags} () const {\bkmkstart AAAAAAAAMB} {\bkmkend AAAAAAAAMB} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid @@ -2562,37 +2547,37 @@ FDMDV * {\b getFdmdvState} (){\bkmkstart AAAAAAAAMC} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -unsigned long {\b getFramesPerBuffer} () const {\bkmkstart AAAAAAAAMD} +int {\b getSamplerate} () const {\bkmkstart AAAAAAAAMD} {\bkmkend AAAAAAAAMD} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -const PaStreamParameters & {\b getInputBuffer} () const {\bkmkstart AAAAAAAAME} +PaStream * {\b getStream} (){\bkmkstart AAAAAAAAME} {\bkmkend AAAAAAAAME} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -const PaStreamParameters & {\b getOutputBuffer} () const {\bkmkstart AAAAAAAAMF} +void * {\b getUserData} (){\bkmkstart AAAAAAAAMF} {\bkmkend AAAAAAAAMF} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -int {\b getSamplerate} () const {\bkmkstart AAAAAAAAMG} +bool {\b getDataAvail} (){\bkmkstart AAAAAAAAMG} {\bkmkend AAAAAAAAMG} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -const PaStreamCallbackFlags & {\b getStatusFlags} () const {\bkmkstart AAAAAAAAMH} +PaError {\b streamStart} (){\bkmkstart AAAAAAAAMH} {\bkmkend AAAAAAAAMH} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -PaStream * {\b getStream} (){\bkmkstart AAAAAAAAMI} +PaError {\b streamClose} (){\bkmkstart AAAAAAAAMI} {\bkmkend AAAAAAAAMI} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid -void * {\b getUserData} (){\bkmkstart AAAAAAAAMJ} +PaError {\b streamOpen} (){\bkmkstart AAAAAAAAMJ} {\bkmkend AAAAAAAAMJ} \par \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid diff --git a/fdmdv2/src/fdmdv2_main.cpp b/fdmdv2/src/fdmdv2_main.cpp index 0298298c..ad98b1c2 100644 --- a/fdmdv2/src/fdmdv2_main.cpp +++ b/fdmdv2/src/fdmdv2_main.cpp @@ -32,7 +32,6 @@ #define wxUSE_LIBTIFF 1 //float av_mag[FDMDV_NSPEC]; // shared between a few classes - // initialize the application IMPLEMENT_APP(MainApp); @@ -45,18 +44,48 @@ bool MainApp::OnInit() { return false; } + if(!loadConfig()) + { + wxMessageBox(wxT("Unable to open configuration data. Create New?"), wxT("Configuration"), wxYES_NO | wxCANCEL); + } // Create the main application window MainFrame *frame = new MainFrame(NULL); - SetTopWindow(frame); - // Should guarantee that the first plot tab defined is the one // displayed. But it doesn't when built from command line. Why? frame->m_auiNbookCtrl->ChangeSelection(0); - frame->Layout(); frame->Show(); + return true; +} +//------------------------------------------------------------------------- +// loadConfig() +//------------------------------------------------------------------------- +bool MainApp::loadConfig() +{ + g_config = new wxConfig("FDMDV2"); + wxString str; + if(g_config->Read("LastPrompt", &str)) + { + // last prompt was found in the config file/registry and its value is + // now in str + // ... + } + else + { + // no last prompt... + } + // another example: using default values and the full path instead of just + // key name: if the key is not found , the value 17 is returned + long value = g_config->ReadLong("/LastRun/CalculatedValues/MaxValue", 17); + + // at the end of the program we would save everything back + g_config->Write("LastPrompt", str); + g_config->Write("/LastRun/CalculatedValues/MaxValue", value); + + // the changes will be written back automatically + delete g_config; return true; } @@ -97,6 +126,12 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) // Add generic plot window m_panelDefaultA = new PlotPanel((wxFrame*) m_auiNbookCtrl ); m_auiNbookCtrl->AddPage(m_panelDefaultA, _("Test A"), true, wxNullBitmap ); +#ifdef USE_TIMER +// this->Connect(wxEVT_TIMER, MainFrame::OnTimer); //, ID_TIMER_WATERFALL); + Bind(wxEVT_TIMER, &MainFrame::OnTimer, this); // ID_MY_WINDOW); + m_plotTimer.SetOwner(this, ID_TIMER_WATERFALL); + m_plotTimer.Start(500, wxTIMER_CONTINUOUS); +#endif } //------------------------------------------------------------------------- @@ -104,7 +139,25 @@ MainFrame::MainFrame(wxWindow *parent) : TopFrame(parent) //------------------------------------------------------------------------- MainFrame::~MainFrame() { +#ifdef USE_TIMER + if (m_plotTimer.IsRunning()) + { + m_plotTimer.Stop(); + Unbind(wxEVT_TIMER, &MainFrame::OnTimer, this); // ID_MY_WINDOW); + } +#endif +} + +#ifdef USE_TIMER +//---------------------------------------------------------------- +// OnTimer() +//---------------------------------------------------------------- +void MainFrame::OnTimer(wxTimerEvent &evt) +{ + m_panelWaterfall->m_newdata = true; + m_panelWaterfall->Refresh(); } +#endif //------------------------------------------------------------------------- // OnCloseFrame() @@ -125,7 +178,7 @@ void MainFrame::OnExitClick(wxCommandEvent& event) } //------------------------------------------------------------------------- -// Onpa->nt() +// Onpa->Paint() //------------------------------------------------------------------------- void MainFrame::OnPaint(wxPaintEvent& WXUNUSED(event)) { @@ -136,8 +189,6 @@ void MainFrame::OnPaint(wxPaintEvent& WXUNUSED(event)) dc.Clear(); } dc.SetUserScale(m_zoom, m_zoom); -// const wxSize size = GetClientSize(); -// dc.DrawBitmap(m_bitmap, dc.DeviceToLogicalX((size.x - m_zoom * m_bitmap.GetWidth()) / 2), dc.DeviceToLogicalY((size.y - m_zoom * m_bitmap.GetHeight()) / 2), true); } //------------------------------------------------------------------------- @@ -245,73 +296,6 @@ void MainFrame::OnTogBtnALCClick(wxCommandEvent& event) event.Skip(); } -//------------------------------------------------------------------------- -// rxCallback() -//------------------------------------------------------------------------- -int MainFrame::rxCallback( - const void *inBuffer, - void *outBuffer, - unsigned long framesPerBuffer, - const PaStreamCallbackTimeInfo *outTime, - PaStreamCallbackFlags statusFlags, - void *userData - ) -{ - float *out = (float *) outBuffer; - float *in = (float *) inBuffer; - float leftIn; - float rightIn; - unsigned int i; - - if(inBuffer == NULL) - { - return 0; - } - // Read input buffer, process data, and fill output buffer. - for(i = 0; i < framesPerBuffer; i++) - { - leftIn = *in++; // Get interleaved samples from input buffer. - rightIn = *in++; - *out++ = leftIn * rightIn; // ring modulation - *out++ = 0.5f * (leftIn + rightIn); // mixing - } - return paContinue; // 0; -} - - -//------------------------------------------------------------------------- -// txCallback() -//------------------------------------------------------------------------- -int MainFrame::txCallback( - const void *inBuffer, - void *outBuffer, - unsigned long framesPerBuffer, - const PaStreamCallbackTimeInfo *outTime, - PaStreamCallbackFlags statusFlags, - void *userData - ) -{ - float *out = (float *) outBuffer; - float *in = (float *) inBuffer; - float leftIn; - float rightIn; - unsigned int i; - - if(inBuffer == NULL) - { - return 0; - } - // Read input buffer, process data, and fill output buffer. - for(i = 0; i < framesPerBuffer; i++) - { - leftIn = *in++; // Get interleaved samples from input buffer. - rightIn = *in++; - *out++ = leftIn * rightIn; // ring modulation - *out++ = 0.5f * (leftIn + rightIn); // mixing - } - return paContinue; // 0; -} - //------------------------------------------------------------------------- // OnTogBtnOnOff() @@ -738,8 +722,6 @@ wxString MainFrame::LoadUserImage(wxImage& image) //------------------------------------------------------------------------- void MainFrame::OnSave(wxCommandEvent& WXUNUSED(event)) { - // wxImage image = m_bitmap.ConvertToImage(); - wxString savefilename = wxFileSelector(wxT("Save Sound File"), wxEmptyString, wxEmptyString, @@ -750,7 +732,6 @@ void MainFrame::OnSave(wxCommandEvent& WXUNUSED(event)) wxT("FLAC files (*.flc)|*.flc|"), wxFD_SAVE, this); - if(savefilename.empty()) { return; @@ -758,140 +739,248 @@ void MainFrame::OnSave(wxCommandEvent& WXUNUSED(event)) wxString extension; wxFileName::SplitPath(savefilename, NULL, NULL, &extension); bool saved = false; -/* - if(extension == wxT("bmp")) + if(!saved) { - static const int bppvalues[] = - { - wxBMP_1BPP, - wxBMP_1BPP_BW, - wxBMP_4BPP, - wxBMP_8BPP, - wxBMP_8BPP_GREY, - wxBMP_8BPP_RED, - wxBMP_8BPP_PALETTE, - wxBMP_24BPP - }; - - const wxString bppchoices[] = - { - wxT("1 bpp color"), - wxT("1 bpp B&W"), - wxT("4 bpp color"), - wxT("8 bpp color"), - wxT("8 bpp greyscale"), - wxT("8 bpp red"), - wxT("8 bpp own pa->ette"), - wxT("24 bpp") - }; - - int bppselection = wxGetSingleChoiceIndex(wxT("Set BMP BPP"), - wxT("Image sample: save file"), - WXSIZEOF(bppchoices), - bppchoices, - this); - if(bppselection != -1) - { - int format = bppvalues[bppselection]; - - image.SetOption(wxIMAGE_OPTION_BMP_FORMAT, format); - if(format == wxBMP_8BPP_PALETTE) - { - unsigned char *cmap = new unsigned char [256]; - for(int i = 0; i < 256; i++) - { - cmap[i] = (unsigned char)i; - } - image.SetPalette(wxPalette(256, cmap, cmap, cmap)); - delete[] cmap; - } - } + // This one guesses image format from filename extension + // (it may fail if the extension is not recognized): + //image.SaveFile(savefilename); } - else if(extension == wxT("png")) +} + +//------------------------------------------------------------------------- +// rxCallback() +//------------------------------------------------------------------------- +int MainFrame::rxCallback( + const void *inBuffer, + void *outBuffer, + unsigned long framesPerBuffer, + const PaStreamCallbackTimeInfo *outTime, + PaStreamCallbackFlags statusFlags, + void *userData + ) +{ + float *out = (float *) outBuffer; + float *in = (float *) inBuffer; + float leftIn; + float rightIn; + unsigned int i; + + if(inBuffer == NULL) { - static const int pngvalues[] = - { - wxPNG_TYPE_COLOUR, - wxPNG_TYPE_COLOUR, - wxPNG_TYPE_GREY, - wxPNG_TYPE_GREY, - wxPNG_TYPE_GREY_RED, - wxPNG_TYPE_GREY_RED, - }; - - const wxString pngchoices[] = - { - wxT("Colour 8bpp"), - wxT("Colour 16bpp"), - wxT("Grey 8bpp"), - wxT("Grey 16bpp"), - wxT("Grey red 8bpp"), - wxT("Grey red 16bpp"), - }; - - int sel = wxGetSingleChoiceIndex(wxT("Set PNG format"), - wxT("Image sample: save file"), - WXSIZEOF(pngchoices), - pngchoices, - this); - if(sel != -1) - { - image.SetOption(wxIMAGE_OPTION_PNG_FORMAT, pngvalues[sel]); - image.SetOption(wxIMAGE_OPTION_PNG_BITDEPTH, sel % 2 ? 16 : 8); - - // these values are taken from OptiPNG with -o3 switch - const wxString compressionChoices[] = - { - wxT("compression = 9, memory = 8, strategy = 0, filter = 0"), - wxT("compression = 9, memory = 9, strategy = 0, filter = 0"), - wxT("compression = 9, memory = 8, strategy = 1, filter = 0"), - wxT("compression = 9, memory = 9, strategy = 1, filter = 0"), - wxT("compression = 1, memory = 8, strategy = 2, filter = 0"), - wxT("compression = 1, memory = 9, strategy = 2, filter = 0"), - wxT("compression = 9, memory = 8, strategy = 0, filter = 5"), - wxT("compression = 9, memory = 9, strategy = 0, filter = 5"), - wxT("compression = 9, memory = 8, strategy = 1, filter = 5"), - wxT("compression = 9, memory = 9, strategy = 1, filter = 5"), - wxT("compression = 1, memory = 8, strategy = 2, filter = 5"), - wxT("compression = 1, memory = 9, strategy = 2, filter = 5"), - }; - - int sel = wxGetSingleChoiceIndex(wxT("Select compression option (Cancel to use default)\n"), - wxT("PNG Compression Options"), - WXSIZEOF(compressionChoices), - compressionChoices, - this); - if(sel != -1) - { - const int zc[] = {9, 9, 9, 9, 1, 1, 9, 9, 9, 9, 1, 1}; - const int zm[] = {8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9}; - const int zs[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2}; - const int f[] = {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, - 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8 - }; - - image.SetOption(wxIMAGE_OPTION_PNG_COMPRESSION_LEVEL , zc[sel]); - image.SetOption(wxIMAGE_OPTION_PNG_COMPRESSION_MEM_LEVEL , zm[sel]); - image.SetOption(wxIMAGE_OPTION_PNG_COMPRESSION_STRATEGY , zs[sel]); - image.SetOption(wxIMAGE_OPTION_PNG_FILTER , f[sel]); - image.SetOption(wxIMAGE_OPTION_PNG_COMPRESSION_BUFFER_SIZE, 1048576); // 1 MB - } - } + return 0; } - else if(extension == wxT("cur")) + // Read input buffer, process data, and fill output buffer. + for(i = 0; i < framesPerBuffer; i++) { - image.Rescale(32, 32); - image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, 0); - image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, 0); - // This shows how you can save an image with explicitly - // specified image format: - saved = image.SaveFile(savefilename, wxBITMAP_TYPE_CUR); + leftIn = *in++; // Get interleaved samples from input buffer. + rightIn = *in++; + *out++ = leftIn * rightIn; // ring modulation + *out++ = 0.5f * (leftIn + rightIn); // mixing } -*/ - if(!saved) + return paContinue; // 0; +} + +//------------------------------------------------------------------------- +// txCallback() +//------------------------------------------------------------------------- +int MainFrame::txCallback( + const void *inBuffer, + void *outBuffer, + unsigned long framesPerBuffer, + const PaStreamCallbackTimeInfo *outTime, + PaStreamCallbackFlags statusFlags, + void *userData + ) +{ + float *out = (float *) outBuffer; + float *in = (float *) inBuffer; + float leftIn; + float rightIn; + unsigned int i; + + if(inBuffer == NULL) { - // This one guesses image format from filename extension - // (it may fail if the extension is not recognized): - //image.SaveFile(savefilename); + return 0; } + // Read input buffer, process data, and fill output buffer. + for(i = 0; i < framesPerBuffer; i++) + { + leftIn = *in++; // Get interleaved samples from input buffer. + rightIn = *in++; + *out++ = leftIn * rightIn; // ring modulation + *out++ = 0.5f * (leftIn + rightIn); // mixing + } + return paContinue; // 0; +} + +//---------------------------------------------------------------- +// update average of each spectrum point +//---------------------------------------------------------------- +void MainFrame::averageData(float mag_dB[]) +{ + int i; + + for(i = 0; i < FDMDV_NSPEC; i++) + { + m_rxPa->m_av_mag[i] = (1.0 - BETA) * m_rxPa->m_av_mag[i] + BETA * mag_dB[i]; + } +} + +//---------------------------------------------------------------- +// per_frame_rx_processing() +//---------------------------------------------------------------- +void MainFrame::per_frame_rx_processing( + short output_buf[], // output buf of decoded speech samples + int *n_output_buf, // how many samples currently in output_buf[] + int codec_bits[], // current frame of bits for decoder + short input_buf[], // input buf of modem samples input to demod + int *n_input_buf, // how many samples currently in input_buf[] + int *nin, // amount of samples demod needs for next call + int *state, // used to collect codec_bits[] halves + struct CODEC2 *c2 // Codec 2 states + ) +{ + struct FDMDV_STATS stats; + int sync_bit; + float rx_fdm[FDMDV_MAX_SAMPLES_PER_FRAME]; + int rx_bits[FDMDV_BITS_PER_FRAME]; + unsigned char packed_bits[BYTES_PER_CODEC_FRAME]; + float rx_spec[FDMDV_NSPEC]; + int i; + int nin_prev; + int bit; + int byte; + int next_state; + + assert(*n_input_buf <= (2 * FDMDV_NOM_SAMPLES_PER_FRAME)); + + // + // This while loop will run the demod 0, 1 (nominal) or 2 times: + // + // 0: when tx sample clock runs faster than rx, occasionally we + // will run out of samples + // + // 1: normal, run decoder once, every 2nd frame output a frame of + // speech samples to D/A + // + // 2: when tx sample clock runs slower than rx, occasionally we will + // have enough samples to run demod twice. + // + // With a +/- 10 Hz sample clock difference at FS=8000Hz (+/- 1250 + // ppm), case 0 or 1 occured about once every 30 seconds. This is + // no problem for the decoded audio. + // + while(*n_input_buf >= *nin) + { + // demod per frame processing + for(i = 0; i < *nin; i++) + { + rx_fdm[i] = (float)input_buf[i]/FDMDV_SCALE; + } + nin_prev = *nin; + fdmdv_demod(m_pFDMDV_state, rx_bits, &sync_bit, rx_fdm, nin); + *n_input_buf -= nin_prev; + assert(*n_input_buf >= 0); + + // shift input buffer + for(i = 0; i < *n_input_buf; i++) + { + input_buf[i] = input_buf[i+nin_prev]; + } + + // compute rx spectrum & get demod stats, and update GUI plot data + fdmdv_get_rx_spectrum(m_pFDMDV_state, rx_spec, rx_fdm, nin_prev); + fdmdv_get_demod_stats(m_pFDMDV_state, &stats); + averageData(rx_spec); + //m_panelWaterfall; + //m_panelScalar; +// m_panelScatter->add_new_samples(stats.rx_symbols); +// aTimingEst->add_new_sample(stats.rx_timing); +// aFreqEst->add_new_sample(stats.foff); +// aSNR->add_new_sample(stats.snr_est); + // + // State machine to: + // + // + Mute decoded audio when out of sync. The demod is synced + // when we are using the fine freq estimate and SNR is above + // a thresh. + // + // + Decode codec bits only if we have a 0,1 sync bit + // sequence. Collects two frames of demod bits to decode + // one frame of codec bits. + // + next_state = *state; + switch(*state) + { + case 0: + // mute output audio when out of sync + if(*n_output_buf < 2 * codec2_samples_per_frame(c2) - N8) + { + for(i=0; i 3.0)) + { + next_state = 1; + } + break; + + case 1: + if(sync_bit == 0) + { + next_state = 2; + // first half of frame of codec bits + memcpy(codec_bits, rx_bits, FDMDV_BITS_PER_FRAME * sizeof(int)); + } + else + { + next_state = 1; + } + if(stats.fest_coarse_fine == 0) + { + next_state = 0; + } + break; + + case 2: + next_state = 1; + if(stats.fest_coarse_fine == 0) + { + next_state = 0; + } + if(sync_bit == 1) + { + // second half of frame of codec bits + memcpy(&codec_bits[FDMDV_BITS_PER_FRAME], rx_bits, FDMDV_BITS_PER_FRAME*sizeof(int)); + // pack bits, MSB received first + bit = 7; + byte = 0; + memset(packed_bits, 0, BYTES_PER_CODEC_FRAME); + for(i = 0; i < BITS_PER_CODEC_FRAME; i++) + { + packed_bits[byte] |= (codec_bits[i] << bit); + bit--; + if(bit < 0) + { + bit = 7; + byte++; + } + } + assert(byte == BYTES_PER_CODEC_FRAME); + // add decoded speech to end of output buffer + if(*n_output_buf <= codec2_samples_per_frame(c2)) + { + codec2_decode(c2, &output_buf[*n_output_buf], packed_bits); + *n_output_buf += codec2_samples_per_frame(c2); + } + assert(*n_output_buf <= (2 * codec2_samples_per_frame(c2))); + } + break; + } + *state = next_state; + } } diff --git a/fdmdv2/src/fdmdv2_main.h b/fdmdv2/src/fdmdv2_main.h index bfdcdeb6..a6e03879 100644 --- a/fdmdv2/src/fdmdv2_main.h +++ b/fdmdv2/src/fdmdv2_main.h @@ -13,6 +13,7 @@ #include #include "wx/file.h" +#include "wx/config.h" #include "wx/filename.h" #include "wx/graphics.h" #include "wx/mstream.h" @@ -22,7 +23,6 @@ #include "wx/stopwatch.h" #include "wx/versioninfo.h" #include -//#include #include "codec2.h" #include "fdmdv.h" @@ -41,6 +41,16 @@ #include "sndfile.h" #include "portaudio.h" +#define USE_TIMER 1 + +enum { + ID_START = wxID_HIGHEST, + ID_TIMER_WATERFALL, + ID_TIMER_SPECTRUM, + ID_TIMER_SCATTER, + ID_TIMER_SCALAR + }; + //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= // Class MainApp // @@ -59,8 +69,9 @@ class MainApp : public wxApp { return 0; } - + bool loadConfig(); protected: + wxConfig *g_config; }; // declare global static function wxGetApp() @@ -101,6 +112,8 @@ class MainFrame : public TopFrame PaError m_rxErr; PaError m_txErr; wxSound *m_sound; + struct FDMDV *m_pFDMDV_state; + wxTimer m_plotTimer; static int rxCallback( const void *inBuffer, @@ -119,17 +132,30 @@ class MainFrame : public TopFrame void *userData ); + void per_frame_rx_processing( + short output_buf[], // output buf of decoded speech samples + int *n_output_buf, // how many samples currently in output_buf[] + int codec_bits[], // current frame of bits for decoder + short input_buf[], // input buf of modem samples input to demod + int *n_input_buf, // how many samples currently in input_buf[] + int *nin, // amount of samples demod needs for next call + int *state, // used to collect codec_bits[] halves + struct CODEC2 *c2 // Codec 2 states + ); + protected: // protected event handlers virtual void OnCloseFrame(wxCloseEvent& event); virtual void OnExitClick(wxCommandEvent& event); + void averageData(float mag_dB[]); void startTxStream(); void startRxStream(); void stopTxStream(); void stopRxStream(); void abortTxStream(); void abortRxStream(); + void OnOpen( wxCommandEvent& event ); void OnOpenUpdateUI( wxUpdateUIEvent& event ); void OnSave( wxCommandEvent& event ); @@ -160,6 +186,7 @@ class MainFrame : public TopFrame void OnCmdSliderScrollChanged( wxScrollEvent& event ); void OnSliderScrollTop( wxScrollEvent& event ); void OnCheckSQClick( wxCommandEvent& event ); + // Toggle Buttons void OnTogBtnSplitClick(wxCommandEvent& event); void OnTogBtnAnalogClick(wxCommandEvent& event); @@ -168,22 +195,23 @@ class MainFrame : public TopFrame void OnTogBtnTxID( wxCommandEvent& event ); void OnTogBtnTXClick( wxCommandEvent& event ); void OnTogBtnOnOff( wxCommandEvent& event ); + + //System Events void OnPaint(wxPaintEvent& event); void OnClose( wxCloseEvent& event ); void OnSize( wxSizeEvent& event ); void OnUpdateUI( wxUpdateUIEvent& event ); + void OnTimer(wxTimerEvent &evt); wxString LoadUserImage(wxImage& image); private: bool CreateSound(wxSound& snd) const; - wxString m_soundFile; #ifdef __WXMSW__ wxString m_soundRes; #endif // __WXMSW__ bool m_useMemory; - wxTextCtrl* m_tc; int m_zoom; }; diff --git a/fdmdv2/src/fdmdv2_pa_wrapper.cpp b/fdmdv2/src/fdmdv2_pa_wrapper.cpp index 35121f6b..ca45d79b 100644 --- a/fdmdv2/src/fdmdv2_pa_wrapper.cpp +++ b/fdmdv2/src/fdmdv2_pa_wrapper.cpp @@ -23,52 +23,64 @@ //========================================================================== #include "fdmdv2_pa_wrapper.h" +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// PortAudioWrap() +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= PortAudioWrap::PortAudioWrap() { - stream = NULL; - userData = NULL; - samplerate = 0; - framesPerBuffer = 0; - statusFlags = 0; - streamCallback = NULL; - streamFinishedCallback = NULL; - timeInfo = 0; + m_pStream = NULL; + m_pUserData = NULL; + m_samplerate = 0; + m_framesPerBuffer = 0; + m_statusFlags = 0; + m_pStreamCallback = NULL; + m_pStreamFinishedCallback = NULL; + m_pTimeInfo = 0; + m_newdata = false; + loadData(); } +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// ~PortAudioWrap() +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= PortAudioWrap::~PortAudioWrap() { } -//PaError PortAudioWrap::init() -//{ -// return Pa_Initialize(); -//} - +//---------------------------------------------------------------- +// streamOpen() +//---------------------------------------------------------------- PaError PortAudioWrap::streamOpen() { return Pa_OpenStream( - &stream, - &inputBuffer, - &outputBuffer, - samplerate, - framesPerBuffer, - statusFlags, - *streamCallback, - userData + &m_pStream, + &m_inputBuffer, + &m_outputBuffer, + m_samplerate, + m_framesPerBuffer, + m_statusFlags, + *m_pStreamCallback, + m_pUserData ); } +//---------------------------------------------------------------- +// streamStart() +//---------------------------------------------------------------- PaError PortAudioWrap::streamStart() { - return Pa_StartStream(stream); + return Pa_StartStream(m_pStream); } +//---------------------------------------------------------------- +// streamClose() +//---------------------------------------------------------------- PaError PortAudioWrap::streamClose() { if(isOpen()) { - PaError rv = Pa_CloseStream(stream); + PaError rv = Pa_CloseStream(m_pStream); return rv; } else @@ -77,96 +89,147 @@ PaError PortAudioWrap::streamClose() } } +//---------------------------------------------------------------- +// terminate() +//---------------------------------------------------------------- void PortAudioWrap::terminate() { - if(Pa_IsStreamStopped(stream) != paNoError) + if(Pa_IsStreamStopped(m_pStream) != paNoError) { - Pa_StopStream(stream); + Pa_StopStream(m_pStream); } Pa_Terminate(); } +//---------------------------------------------------------------- +// stop() +//---------------------------------------------------------------- void PortAudioWrap::stop() { - Pa_StopStream(stream); + Pa_StopStream(m_pStream); } +//---------------------------------------------------------------- +// abort() +//---------------------------------------------------------------- void PortAudioWrap::abort() { - Pa_AbortStream(stream); + Pa_AbortStream(m_pStream); } +//---------------------------------------------------------------- +// isStopped() +//---------------------------------------------------------------- bool PortAudioWrap::isStopped() const { - PaError ret = Pa_IsStreamStopped(stream); + PaError ret = Pa_IsStreamStopped(m_pStream); return ret; } +//---------------------------------------------------------------- +// isActive() +//---------------------------------------------------------------- bool PortAudioWrap::isActive() const { - PaError ret = Pa_IsStreamActive(stream); + PaError ret = Pa_IsStreamActive(m_pStream); return ret; } +//---------------------------------------------------------------- +// isOpen() +//---------------------------------------------------------------- bool PortAudioWrap::isOpen() const { - return (stream != NULL); + return (m_pStream != NULL); } +//---------------------------------------------------------------- +// getDefaultInputDevice() +//---------------------------------------------------------------- PaDeviceIndex PortAudioWrap::getDefaultInputDevice() { return Pa_GetDefaultInputDevice(); } +//---------------------------------------------------------------- +// getDefaultOutputDevice() +//---------------------------------------------------------------- PaDeviceIndex PortAudioWrap::getDefaultOutputDevice() { return Pa_GetDefaultOutputDevice(); } +//---------------------------------------------------------------- +// setInputChannelCount() +//---------------------------------------------------------------- PaError PortAudioWrap::setInputChannelCount(int count) { - inputBuffer.channelCount = count; + m_inputBuffer.channelCount = count; return paNoError; } +//---------------------------------------------------------------- +// getInputChannelCount() +//---------------------------------------------------------------- PaError PortAudioWrap::getInputChannelCount() { - return inputBuffer.channelCount; + return m_inputBuffer.channelCount; } +//---------------------------------------------------------------- +// setInputSampleFormat() +//---------------------------------------------------------------- PaError PortAudioWrap::setInputSampleFormat(PaSampleFormat format) { - inputBuffer.sampleFormat = format; + m_inputBuffer.sampleFormat = format; return paNoError; } +//---------------------------------------------------------------- +// setInputLatency() +//---------------------------------------------------------------- PaError PortAudioWrap::setInputLatency(PaTime latency) { - inputBuffer.suggestedLatency = latency; + m_inputBuffer.suggestedLatency = latency; return paNoError; } +//---------------------------------------------------------------- +// setInputHostApiStreamInfo() +//---------------------------------------------------------------- void PortAudioWrap::setInputHostApiStreamInfo(void *info) { - inputBuffer.hostApiSpecificStreamInfo = info; + m_inputBuffer.hostApiSpecificStreamInfo = info; } +//---------------------------------------------------------------- +// getInputDefaultLowLatency() +//---------------------------------------------------------------- PaTime PortAudioWrap::getInputDefaultLowLatency() { - return Pa_GetDeviceInfo(inputBuffer.device)->defaultLowInputLatency; + return Pa_GetDeviceInfo(m_inputBuffer.device)->defaultLowInputLatency; } +//---------------------------------------------------------------- +// setOutputChannelCount() +//---------------------------------------------------------------- PaError PortAudioWrap::setOutputChannelCount(int count) { - outputBuffer.channelCount = count; + m_outputBuffer.channelCount = count; return paNoError; } +//---------------------------------------------------------------- +// getOutputChannelCount() +//---------------------------------------------------------------- const int PortAudioWrap::getOutputChannelCount() { - return outputBuffer.channelCount; + return m_outputBuffer.channelCount; } +//---------------------------------------------------------------- +// getDeviceName() +//---------------------------------------------------------------- const char *PortAudioWrap::getDeviceName(PaDeviceIndex dev) { const PaDeviceInfo *info; @@ -174,61 +237,91 @@ const char *PortAudioWrap::getDeviceName(PaDeviceIndex dev) return info->name; } +//---------------------------------------------------------------- +// setOutputSampleFormat() +//---------------------------------------------------------------- PaError PortAudioWrap::setOutputSampleFormat(PaSampleFormat format) { - outputBuffer.sampleFormat = format; + m_outputBuffer.sampleFormat = format; return paNoError; } +//---------------------------------------------------------------- +// setOutputLatency() +//---------------------------------------------------------------- PaError PortAudioWrap::setOutputLatency(PaTime latency) { - outputBuffer.suggestedLatency = latency; + m_outputBuffer.suggestedLatency = latency; return paNoError; } +//---------------------------------------------------------------- +// setOutputHostApiStreamInfo() +//---------------------------------------------------------------- void PortAudioWrap::setOutputHostApiStreamInfo(void *info) { - outputBuffer.hostApiSpecificStreamInfo = info; + m_outputBuffer.hostApiSpecificStreamInfo = info; } +//---------------------------------------------------------------- +// getOutputDefaultLowLatency() +//---------------------------------------------------------------- PaTime PortAudioWrap::getOutputDefaultLowLatency() { - return Pa_GetDeviceInfo(outputBuffer.device)->defaultLowOutputLatency; + return Pa_GetDeviceInfo(m_outputBuffer.device)->defaultLowOutputLatency; } +//---------------------------------------------------------------- +// setFramesPerBuffer() +//---------------------------------------------------------------- PaError PortAudioWrap::setFramesPerBuffer(unsigned long size) { - framesPerBuffer = size; + m_framesPerBuffer = size; return paNoError; } +//---------------------------------------------------------------- +// setSampleRate() +//---------------------------------------------------------------- PaError PortAudioWrap::setSampleRate(unsigned long rate) { - samplerate = rate; + m_samplerate = rate; return paNoError; } +//---------------------------------------------------------------- +// setStreamFlags() +//---------------------------------------------------------------- PaError PortAudioWrap::setStreamFlags(PaStreamFlags flags) { - statusFlags = flags; + m_statusFlags = flags; return paNoError; } +//---------------------------------------------------------------- +// setInputDevice() +//---------------------------------------------------------------- PaError PortAudioWrap::setInputDevice(PaDeviceIndex index) { - inputBuffer.device = index; + m_inputBuffer.device = index; return paNoError; } +//---------------------------------------------------------------- +// setOutputDevice() +//---------------------------------------------------------------- PaError PortAudioWrap::setOutputDevice(PaDeviceIndex index) { - outputBuffer.device = index; + m_outputBuffer.device = index; return paNoError; } +//---------------------------------------------------------------- +// setCallback() +//---------------------------------------------------------------- PaError PortAudioWrap::setCallback(PaStreamCallback *callback) { - streamCallback = callback; + m_pStreamCallback = callback; return paNoError; } @@ -238,179 +331,8 @@ typedef struct float in8k[MEM8 + N8]; } paCallBackData; - -//---------------------------------------------------------------- -// per_frame_rx_processing() -//---------------------------------------------------------------- -void PortAudioWrap::per_frame_rx_processing( - short output_buf[], /* output buf of decoded speech samples */ - int *n_output_buf, /* how many samples currently in output_buf[] */ - int codec_bits[], /* current frame of bits for decoder */ - short input_buf[], /* input buf of modem samples input to demod */ - int *n_input_buf, /* how many samples currently in input_buf[] */ - int *nin, /* amount of samples demod needs for next call */ - int *state, /* used to collect codec_bits[] halves */ - struct CODEC2 *c2 /* Codec 2 states */ - ) -{ - struct FDMDV_STATS stats; - int sync_bit; - float rx_fdm[FDMDV_MAX_SAMPLES_PER_FRAME]; - int rx_bits[FDMDV_BITS_PER_FRAME]; - unsigned char packed_bits[BYTES_PER_CODEC_FRAME]; - float rx_spec[FDMDV_NSPEC]; - int i; - int nin_prev; - int bit; - int byte; - int next_state; - - assert(*n_input_buf <= (2 * FDMDV_NOM_SAMPLES_PER_FRAME)); - - /* - This while loop will run the demod 0, 1 (nominal) or 2 times: - - 0: when tx sample clock runs faster than rx, occasionally we - will run out of samples - - 1: normal, run decoder once, every 2nd frame output a frame of - speech samples to D/A - - 2: when tx sample clock runs slower than rx, occasionally we will - have enough samples to run demod twice. - - With a +/- 10 Hz sample clock difference at FS=8000Hz (+/- 1250 - ppm), case 0 or 1 occured about once every 30 seconds. This is - no problem for the decoded audio. - */ - while(*n_input_buf >= *nin) - { - // demod per frame processing - for(i = 0; i < *nin; i++) - { - rx_fdm[i] = (float)input_buf[i]/FDMDV_SCALE; - } - nin_prev = *nin; - fdmdv_demod(fdmdv_state, rx_bits, &sync_bit, rx_fdm, nin); - *n_input_buf -= nin_prev; - assert(*n_input_buf >= 0); - - // shift input buffer - for(i=0; i<*n_input_buf; i++) - { - input_buf[i] = input_buf[i+nin_prev]; - } - - // compute rx spectrum & get demod stats, and update GUI plot data - fdmdv_get_rx_spectrum(fdmdv_state, rx_spec, rx_fdm, nin_prev); - fdmdv_get_demod_stats(fdmdv_state, &stats); - averageData(rx_spec); -// aScatter->add_new_samples(stats.rx_symbols); -// aTimingEst->add_new_sample(stats.rx_timing); -// aFreqEst->add_new_sample(stats.foff); -// aSNR->add_new_sample(stats.snr_est); - /* - State machine to: - - + Mute decoded audio when out of sync. The demod is synced - when we are using the fine freq estimate and SNR is above - a thresh. - - + Decode codec bits only if we have a 0,1 sync bit - sequence. Collects two frames of demod bits to decode - one frame of codec bits. - */ - next_state = *state; - switch(*state) - { - case 0: - // mute output audio when out of sync - if(*n_output_buf < 2 * codec2_samples_per_frame(c2) - N8) - { - for(i=0; i 3.0)) - { - next_state = 1; - } - break; - - case 1: - if(sync_bit == 0) - { - next_state = 2; - // first half of frame of codec bits - memcpy(codec_bits, rx_bits, FDMDV_BITS_PER_FRAME * sizeof(int)); - } - else - { - next_state = 1; - } - if(stats.fest_coarse_fine == 0) - { - next_state = 0; - } - break; - - case 2: - next_state = 1; - if(stats.fest_coarse_fine == 0) - { - next_state = 0; - } - if(sync_bit == 1) - { - // second half of frame of codec bits - memcpy(&codec_bits[FDMDV_BITS_PER_FRAME], rx_bits, FDMDV_BITS_PER_FRAME*sizeof(int)); - // pack bits, MSB received first - bit = 7; - byte = 0; - memset(packed_bits, 0, BYTES_PER_CODEC_FRAME); - for(i = 0; i < BITS_PER_CODEC_FRAME; i++) - { - packed_bits[byte] |= (codec_bits[i] << bit); - bit--; - if(bit < 0) - { - bit = 7; - byte++; - } - } - assert(byte == BYTES_PER_CODEC_FRAME); - // add decoded speech to end of output buffer - if(*n_output_buf <= codec2_samples_per_frame(c2)) - { - codec2_decode(c2, &output_buf[*n_output_buf], packed_bits); - *n_output_buf += codec2_samples_per_frame(c2); - } - assert(*n_output_buf <= (2 * codec2_samples_per_frame(c2))); - } - break; - } - *state = next_state; - } -} - //---------------------------------------------------------------- -// update average of each spectrum point -//---------------------------------------------------------------- -void PortAudioWrap::averageData(float mag_dB[]) -{ - int i; - - for(i = 0; i < FDMDV_NSPEC; i++) - { - m_av_mag[i] = (1.0 - BETA) * m_av_mag[i] + BETA * mag_dB[i]; - } -} - -//---------------------------------------------------------------- -// create Dummy Data +// loadData() : create Dummy Data //---------------------------------------------------------------- void PortAudioWrap::loadData() { @@ -420,3 +342,4 @@ void PortAudioWrap::loadData() m_av_mag[i] = i; } } + diff --git a/fdmdv2/src/fdmdv2_pa_wrapper.h b/fdmdv2/src/fdmdv2_pa_wrapper.h index 657baa05..574e5939 100644 --- a/fdmdv2/src/fdmdv2_pa_wrapper.h +++ b/fdmdv2/src/fdmdv2_pa_wrapper.h @@ -47,48 +47,22 @@ class PortAudioWrap float m_av_mag[FDMDV_NSPEC]; private: - PaStream *stream; - PaStreamParameters inputBuffer; - PaStreamParameters outputBuffer; - void *userData; - int samplerate; - unsigned long framesPerBuffer; - PaStreamCallbackFlags statusFlags; - PaStreamCallback *streamCallback; - PaStreamFinishedCallback *streamFinishedCallback; - const PaStreamCallbackTimeInfo *timeInfo; - struct FDMDV *fdmdv_state; + PaStream *m_pStream; + void *m_pUserData; + PaStreamCallback *m_pStreamCallback; + PaStreamFinishedCallback *m_pStreamFinishedCallback; + const PaStreamCallbackTimeInfo *m_pTimeInfo; + struct FDMDV *m_pFDMDV_state; + PaStreamParameters m_inputBuffer; + PaStreamParameters m_outputBuffer; + int m_samplerate; + unsigned long m_framesPerBuffer; + PaStreamCallbackFlags m_statusFlags; + bool m_newdata; public: - void per_frame_rx_processing( - short output_buf[], /* output buf of decoded speech samples */ - int *n_output_buf, /* how many samples currently in output_buf[] */ - int codec_bits[], /* current frame of bits for decoder */ - short input_buf[], /* input buf of modem samples input to demod */ - int *n_input_buf, /* how many samples currently in input_buf[] */ - int *nin, /* amount of samples demod needs for next call */ - int *state, /* used to collect codec_bits[] halves */ - struct CODEC2 *c2 /* Codec 2 states */ - ); - /* - static int Callback( - const void *inBuffer, - void *outBuffer, - unsigned long framesPerBuffer, - const PaStreamCallbackTimeInfo *outTime, - PaStreamCallbackFlags statusFlags, - void *userData - ); - static int txCallback( - const void *inBuffer, - void *outBuffer, - unsigned long framesPerBuffer, - const PaStreamCallbackTimeInfo *outTime, - PaStreamCallbackFlags statusFlags, - void *userData - ); - */ + void averageData(float mag_dB[]); PaDeviceIndex getDefaultInputDevice(); PaDeviceIndex getDefaultOutputDevice(); @@ -96,12 +70,13 @@ class PortAudioWrap PaError setFramesPerBuffer(unsigned long size); PaError setSampleRate(unsigned long size); + PaError setStreamFlags(PaStreamFlags flags); - PaError setCallback(PaStreamCallback *streamCallback); - PaError setStreamCallback(PaStream *stream, PaStreamCallback* callback) { streamCallback = callback; return 0;} - PaError setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback* streamFinishedCallback); - PaError streamOpen(); + PaError setCallback(PaStreamCallback *m_pStreamCallback); + PaError setStreamCallback(PaStream *stream, PaStreamCallback* callback) { m_pStreamCallback = callback; return 0;} + PaError setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback* m_pStreamFinishedCallback); + void setInputBuffer(const PaStreamParameters& inputBuffer) {this->m_inputBuffer = inputBuffer;} PaError setInputDevice(PaDeviceIndex dev); PaError setInputChannelCount(int count); int getInputChannelCount(); @@ -117,37 +92,26 @@ class PortAudioWrap const int getOutputChannelCount(); PaError setOutputSampleFormat(PaSampleFormat format); PaError setOutputLatency(PaTime latency); - PaError streamStart(); - PaError streamClose(); void setOutputHostApiStreamInfo(void *info = NULL); PaTime getOutputDefaultLowLatency(); - void averageData(float mag_dB[]); - void setFdmdvState(FDMDV* fdmdv_state) {this->fdmdv_state = fdmdv_state;} -// void setFramesPerBuffer(unsigned long framesPerBuffer) {this->framesPerBuffer = framesPerBuffer;} - void setInputBuffer(const PaStreamParameters& inputBuffer) {this->inputBuffer = inputBuffer;} -// void setAvMag(float av_mag) {this->m_av_mag = av_mag;} - void setOutputBuffer(const PaStreamParameters& outputBuffer) {this->outputBuffer = outputBuffer;} - void setSamplerate(int samplerate) {this->samplerate = samplerate;} - void setStatusFlags(const PaStreamCallbackFlags& statusFlags) {this->statusFlags = statusFlags;} - void setStream(PaStream* stream) {this->stream = stream;} -// void setStreamCallback(PaStreamCallback* streamCallback) {this->streamCallback = streamCallback;} - void setStreamFinishedCallback(PaStreamFinishedCallback* streamFinishedCallback) {this->streamFinishedCallback = streamFinishedCallback;} - void setTimeInfo(PaStreamCallbackTimeInfo* timeInfo) {this->timeInfo = timeInfo;} - void setUserData(void* userData) {this->userData = userData;} - FDMDV* getFdmdvState() {return fdmdv_state;} - unsigned long getFramesPerBuffer() const {return framesPerBuffer;} - const PaStreamParameters& getInputBuffer() const {return inputBuffer;} -// const float *getAvMag(int idx) const {return (float *)&m_av_mag[idx];} - const PaStreamParameters& getOutputBuffer() const {return outputBuffer;} - int getSamplerate() const {return samplerate;} - const PaStreamCallbackFlags& getStatusFlags() const {return statusFlags;} - PaStream* getStream() {return stream;} -// PaStreamCallback* getStreamCallback() {return streamCallback;} -// PaStreamFinishedCallback* getStreamFinishedCallback() {return streamFinishedCallback;} -// PaStreamCallbackTimeInfo* getTimeInfo() {return timeInfo;} - void *getUserData() {return userData;} + void setFdmdvState(FDMDV* fdmdv_state) {this->m_pFDMDV_state = fdmdv_state;} + void setOutputBuffer(const PaStreamParameters& outputBuffer) {this->m_outputBuffer = outputBuffer;} + void setTimeInfo(PaStreamCallbackTimeInfo* timeInfo) {this->m_pTimeInfo = timeInfo;} + void setUserData(void* userData) {this->m_pUserData = userData;} + unsigned long getFramesPerBuffer() const {return m_framesPerBuffer;} + const PaStreamParameters& getInputBuffer() const {return m_inputBuffer;} + const PaStreamParameters& getOutputBuffer() const {return m_outputBuffer;} + const PaStreamCallbackFlags& getStatusFlags() const {return m_statusFlags;} + FDMDV* getFdmdvState() {return m_pFDMDV_state;} + int getSamplerate() const {return m_samplerate;} + PaStream* getStream() {return m_pStream;} + void *getUserData() {return m_pUserData;} + bool getDataAvail() {return m_newdata;} + PaError streamStart(); + PaError streamClose(); + PaError streamOpen(); void terminate(); void stop(); void abort(); diff --git a/fdmdv2/src/fdmdv2_plot.cpp b/fdmdv2/src/fdmdv2_plot.cpp index 1922d7a2..8f91f828 100644 --- a/fdmdv2/src/fdmdv2_plot.cpp +++ b/fdmdv2/src/fdmdv2_plot.cpp @@ -41,35 +41,31 @@ PlotPanel::PlotPanel(wxFrame* parent) : wxPanel(parent) { m_pNoteBook = (wxAuiNotebook *) parent; m_pTopFrame = (MainFrame *)m_pNoteBook->GetParent(); - m_bmp = new wxBitmap(MAX_BMP_X, MAX_BMP_Y, wxBITMAP_SCREEN_DEPTH); - wxNativePixelData m_pBmp(*m_bmp); - if ( !m_pBmp ) - { - // ... raw access to bitmap data unavailable, do something else ... - return; - } - - if ( m_pBmp.GetWidth() < 20 || m_pBmp.GetHeight() < 20 ) - { - // ... complain: the bitmap it too small ... - return; - } - +// m_bmp = new wxBitmap(MAX_BMP_X, MAX_BMP_Y, wxBITMAP_SCREEN_DEPTH); m_zoomFactor = 1.0; + m_newdata = false; m_clip = false; m_use_bitmap = true; - m_newdata = false; m_rubberBand = false; m_mouseDown = false; m_penShortDash = wxPen(wxColor(0xA0, 0xA0, 0xA0), 1, wxPENSTYLE_SHORT_DASH); m_penDotDash = wxPen(wxColor(0xD0, 0xD0, 0xD0), 1, wxPENSTYLE_DOT_DASH); m_penSolid = wxPen(wxColor(0x00, 0x00, 0x00), 1, wxPENSTYLE_SOLID); -// m_gridLeftOffset = 20; -// m_gridRightOffset = 5; -// m_gridTopOffset = 5; -// m_gridBottomOffset = 10; SetBackgroundStyle(wxBG_STYLE_PAINT); SetLabelSize(10.0); +/* + wxNativePixelData m_pBmp(*m_bmp); + if(!m_pBmp) + { + // ... raw access to bitmap data unavailable, do something else ... + return; + } + if(m_pBmp.GetWidth() < 20 || m_pBmp.GetHeight() < 20) + { + // ... complain: the bitmap it too small ... + return; + } +*/ } //------------------------------------------------------------------------- @@ -120,8 +116,12 @@ void PlotPanel::OnErase(wxEraseEvent& event) //------------------------------------------------------------------------- void PlotPanel::OnSize(wxSizeEvent& event) { + m_rCtrlPrev = m_rCtrl; + m_rCtrl = GetClientRect(); if(m_use_bitmap) { + m_bmp = new wxBitmap(m_rCtrl.GetWidth(), m_rCtrl.GetHeight(), wxBITMAP_SCREEN_DEPTH); + m_firstPass = true; this->Refresh(); } } @@ -183,62 +183,65 @@ double PlotPanel::GetZoomFactor(double zf) //------------------------------------------------------------------------- // drawGraticule() //------------------------------------------------------------------------- -void PlotPanel::drawGraticule(wxAutoBufferedPaintDC& dc) +void PlotPanel::drawGraticule(wxAutoBufferedPaintDC& pdc) { int p; char buf[15]; wxString s; // Vertical gridlines - dc.SetPen(m_penShortDash); - for(p = (PLOT_BORDER + XLEFT_OFFSET + GRID_INCREMENT); p < ((m_w - XLEFT_OFFSET) + GRID_INCREMENT); p += GRID_INCREMENT) + pdc.SetPen(m_penShortDash); + for(p = (PLOT_BORDER + XLEFT_OFFSET + GRID_INCREMENT); p < ((m_rCtrl.GetWidth() - XLEFT_OFFSET) + GRID_INCREMENT); p += GRID_INCREMENT) { - dc.DrawLine(p, (m_h + PLOT_BORDER), p, PLOT_BORDER); + pdc.DrawLine(p, (m_rGrid.GetHeight() + PLOT_BORDER), p, PLOT_BORDER); } // Horizontal gridlines - dc.SetPen(m_penDotDash); - for(p = (m_h - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) + pdc.SetPen(m_penDotDash); + for(p = (m_rGrid.GetHeight() - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) { - dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (p + PLOT_BORDER), (m_w + PLOT_BORDER + XLEFT_OFFSET), (p + PLOT_BORDER)); + pdc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (p + PLOT_BORDER), (m_rCtrl.GetWidth() + PLOT_BORDER + XLEFT_OFFSET), (p + PLOT_BORDER)); } // Label the X-Axis - dc.SetPen(wxPen(GREY_COLOR, 1)); - for(p = GRID_INCREMENT; p < (m_w - YBOTTOM_OFFSET); p += GRID_INCREMENT) + pdc.SetPen(wxPen(GREY_COLOR, 1)); + for(p = GRID_INCREMENT; p < (m_rCtrl.GetWidth() - YBOTTOM_OFFSET); p += GRID_INCREMENT) { sprintf(buf, "%1.1f Hz",(double)(p / 10)); - dc.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_h + YBOTTOM_OFFSET/2); + pdc.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_rGrid.GetHeight() + YBOTTOM_OFFSET/2); } // Label the Y-Axis //for(p = GRID_INCREMENT; p < (h - YBOTTOM_OFFSET); p += GRID_INCREMENT) - for(p = (m_h - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) + for(p = (m_rGrid.GetHeight() - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) { - sprintf(buf, "%1.0f", (double)((m_h - p) * -10)); - dc.DrawText(buf, XLEFT_TEXT_OFFSET, p); + sprintf(buf, "%1.0f", (double)((m_rGrid.GetHeight() - p) * -10)); + pdc.DrawText(buf, XLEFT_TEXT_OFFSET, p); } } //------------------------------------------------------------------------- // draw() //------------------------------------------------------------------------- -void PlotPanel::draw(wxAutoBufferedPaintDC& dc) +void PlotPanel::draw(wxAutoBufferedPaintDC& pdc) { - m_rectCtrl = GetClientRect(); - m_rectGrid = m_rectCtrl; +// wxAutoBufferedPaintDC dc(this); +// wxMemoryDC memdc(&m_bmp); + + m_rCtrl = GetClientRect(); + m_rGrid = m_rCtrl; - m_rectGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); - m_rectGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); + m_rCtrl.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); + m_rCtrl.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); - m_h = m_rectGrid.GetHeight(); - m_w = m_rectGrid.GetWidth(); + //m_h = m_rCtrl.GetHeight(); + //m_w = m_rCtrl.GetWidth(); - dc.Clear(); + pdc.Clear(); // Draw a filled rectangle with aborder wxBrush ltBlueBrush = wxBrush(LIGHT_BLUE_COLOR); - dc.SetBrush(ltBlueBrush); - dc.SetPen(wxPen(BLACK_COLOR, 1)); - dc.DrawRectangle(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER, m_w, m_h); - drawGraticule(dc); + pdc.SetBrush(ltBlueBrush); + pdc.SetPen(wxPen(BLACK_COLOR, 1)); + pdc.DrawRectangle(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER, m_rCtrl.GetWidth(), m_rCtrl.GetHeight()); + drawGraticule(pdc); } //------------------------------------------------------------------------- @@ -250,7 +253,7 @@ void PlotPanel::draw(wxAutoBufferedPaintDC& dc) //------------------------------------------------------------------------- void PlotPanel::OnPaint(wxPaintEvent & evt) { - wxAutoBufferedPaintDC dc(this); - draw(dc); + wxAutoBufferedPaintDC pdc(this); + draw(pdc); } diff --git a/fdmdv2/src/fdmdv2_plot.h b/fdmdv2/src/fdmdv2_plot.h index bbdc1b23..f1e655c3 100644 --- a/fdmdv2/src/fdmdv2_plot.h +++ b/fdmdv2/src/fdmdv2_plot.h @@ -16,9 +16,9 @@ #include #include -#define MAX_ZOOM 7 -#define MAX_BMP_X (400 * MAX_ZOOM) -#define MAX_BMP_Y (400 * MAX_ZOOM) +#define MAX_ZOOM 7 +#define MAX_BMP_X (400 * MAX_ZOOM) +#define MAX_BMP_Y (400 * MAX_ZOOM) #define wxUSE_FILEDLG 1 #define wxUSE_LIBPNG 1 @@ -32,8 +32,14 @@ #define XLEFT_TEXT_OFFSET 8 #define YBOTTOM_OFFSET 25 #define GRID_INCREMENT 50 -#define GREY_COLOR wxColor(0x80, 0x80, 0x80) + #define BLACK_COLOR wxColor(0x00, 0x00, 0x00) +#define GREY_COLOR wxColor(0x80, 0x80, 0x80) +#define DARK_GREY_COLOR wxColor(0x60, 0x60, 0x60) +#define MEDIUM_GREY_COLOR wxColor(0xC0, 0xC0, 0xC0) +#define LIGHT_GREY_COLOR wxColor(0xE0, 0xE0, 0xE0) +#define VERY_LTGREY_COLOR wxColor(0xF8, 0xF8, 0xF8) +#define WHITE_COLOR wxColor(0xFF, 0xFF, 0xFF) #define BLUE_COLOR wxColor(0x00, 0x00, 0xFF) #define LIGHT_BLUE_COLOR wxColor(0x80, 0x80, 0xFF) @@ -52,6 +58,7 @@ #define LIGHT_YELLOW_COLOR wxColor(0xFF, 0xFF, 0xB5) #define DARK_YELLOW_COLOR wxColor(0xFF, 0xFF, 0x08) + /* wxNullBrush wxBLACK_BRUSH @@ -87,9 +94,10 @@ class PlotPanel : public wxPanel wxPen m_penShortDash; wxPen m_penDotDash; wxPen m_penSolid; - wxRect m_rectCtrl; - wxRect m_rectGrid; - wxRect m_rectPlot; + wxRect m_rCtrlPrev; + wxRect m_rCtrl; + wxRect m_rGrid; + wxRect m_rPlot; MainFrame *m_pTopFrame; wxAuiNotebook *m_pNoteBook; double m_label_size; @@ -110,8 +118,8 @@ class PlotPanel : public wxPanel //void OnUpdateUI( wxUpdateUIEvent& event ){ event.Skip(); } void paintEvent(wxPaintEvent & evt); - virtual void draw(wxAutoBufferedPaintDC& dc); - virtual void drawGraticule(wxAutoBufferedPaintDC& dc); + virtual void draw(wxAutoBufferedPaintDC& pdc); + virtual void drawGraticule(wxAutoBufferedPaintDC& pdc); virtual double SetZoomFactor(double zf); virtual double GetZoomFactor(double zf); virtual void OnShow(wxShowEvent& event); @@ -119,25 +127,22 @@ class PlotPanel : public wxPanel virtual void SetLabelSize(double size); protected: - int m_x; - int m_y; - int m_w; - int m_h; - int m_left; - int m_top; - int m_prev_w; - int m_prev_h; - int m_prev_x; - int m_prev_y; - bool m_use_bitmap; - bool m_clip; - bool m_rubberBand; - bool m_mouseDown; - double m_zoomFactor; -// int m_gridLeftOffset; -// int m_gridRightOffset; -// int m_gridTopOffset; -// int m_gridBottomOffset; + int m_x; + int m_y; +// int m_w; +// int m_h; + int m_left; + int m_top; + int m_prev_w; + int m_prev_h; + int m_prev_x; + int m_prev_y; + bool m_use_bitmap; + bool m_clip; + bool m_rubberBand; + bool m_mouseDown; + bool m_firstPass; + double m_zoomFactor; DECLARE_EVENT_TABLE() }; #endif //__FDMDV2_PLOT__ diff --git a/fdmdv2/src/fdmdv2_plot_scalar.cpp b/fdmdv2/src/fdmdv2_plot_scalar.cpp index 4b7e32d2..c026a787 100644 --- a/fdmdv2/src/fdmdv2_plot_scalar.cpp +++ b/fdmdv2/src/fdmdv2_plot_scalar.cpp @@ -39,9 +39,8 @@ BEGIN_EVENT_TABLE(PlotScalar, PlotPanel) END_EVENT_TABLE() //---------------------------------------------------------------- -// +// PlotScalar() //---------------------------------------------------------------- -//PlotScalar::PlotScalar(wxFrame* parent, int x, int y, int w, int h, int x_max_, int y_max_, const char name[]): PlotPanel(parent) PlotScalar::PlotScalar(wxFrame* parent, int x_max_, int y_max_): PlotPanel(parent) { int i; @@ -65,7 +64,7 @@ PlotScalar::PlotScalar(wxFrame* parent, int x_max_, int y_max_): PlotPanel(paren } //---------------------------------------------------------------- -// +// ~PlotScalar() //---------------------------------------------------------------- PlotScalar::~PlotScalar() { @@ -73,7 +72,7 @@ PlotScalar::~PlotScalar() } //---------------------------------------------------------------- -// +// add_new_sample() //---------------------------------------------------------------- void PlotScalar::add_new_sample(float sample) { @@ -81,23 +80,23 @@ void PlotScalar::add_new_sample(float sample) } //---------------------------------------------------------------- -// +// clip() //---------------------------------------------------------------- int PlotScalar::clip(int y1) { - if(y1 > (m_h/2 - 10)) + if(y1 > (m_rCtrl.GetHeight()/2 - 10)) { - y1 = m_h/2 - 10; + y1 = m_rCtrl.GetHeight()/2 - 10; } - if(y1 < -(m_h/2 - 10)) + if(y1 < -(m_rCtrl.GetHeight()/2 - 10)) { - y1 = -(m_h/2 - 10); + y1 = -(m_rCtrl.GetHeight()/2 - 10); } return y1; } //---------------------------------------------------------------- -// +// draw() //---------------------------------------------------------------- void PlotScalar::draw(wxAutoBufferedPaintDC& dc) { @@ -112,26 +111,26 @@ void PlotScalar::draw(wxAutoBufferedPaintDC& dc) wxPen pen; /* detect resizing of window */ - if((m_h != m_prev_h) || (m_w != m_prev_w) || (m_x != m_prev_x) || (m_y != m_prev_y)) + if((m_rCtrl.GetHeight() != m_prev_h) || (m_rCtrl.GetWidth() != m_prev_w) || (m_x != m_prev_x) || (m_y != m_prev_y)) { dc.SetPen(BLACK_COLOR); - dc.DrawRectangle(m_x, m_y, m_w, m_h); - m_prev_h = m_h; - m_prev_w = m_w; + dc.DrawRectangle(m_x, m_y, m_rCtrl.GetWidth(), m_rCtrl.GetHeight()); + m_prev_h = m_rCtrl.GetHeight(); + m_prev_w = m_rCtrl.GetWidth(); m_prev_x = m_x; m_prev_y = m_y; } //fl_push_clip(m_x, m_y, m_w, m_h); x_scale = (float)m_x_max; - y_scale = (float)m_h /(2.0 * m_y_max); + y_scale = (float)m_rCtrl.GetHeight() /(2.0 * m_y_max); // erase last sample dc.SetPen(BLACK_COLOR); x1 = x_scale * m_index + m_x; y1 = y_scale * m_mem[m_index]; y1 = clip(y1); - y1 = m_y + m_h/2 - y1; + y1 = m_y + m_rCtrl.GetHeight()/2 - y1; dc.DrawPoint(x1, y1); // draw new sample @@ -139,7 +138,7 @@ void PlotScalar::draw(wxAutoBufferedPaintDC& dc) x1 = x_scale * m_index + m_x; y1 = y_scale * m_new_sample; y1 = clip(y1); - y1 = m_y + m_h/2 - y1; + y1 = m_y + m_rCtrl.GetHeight()/2 - y1; dc.DrawPoint(x1, y1); m_mem[m_index] = m_new_sample; m_index++; @@ -165,8 +164,8 @@ void PlotScalar::draw(wxAutoBufferedPaintDC& dc) for(i =- m_y_max; i < m_y_max; i += m_step) { x1 = m_x; - y1 = m_y + m_h/2 - i * y_scale; - x2 = m_x + m_w; + y1 = m_y + m_rCtrl.GetHeight()/2 - i * y_scale; + x2 = m_x + m_rCtrl.GetWidth(); y2 = y1; dc.DrawLine(x1, y1, x2, y2); } @@ -179,7 +178,7 @@ void PlotScalar::draw(wxAutoBufferedPaintDC& dc) for(i =- m_y_max; i < m_y_max; i += m_step) { x1 = m_x; - y1 = m_y + m_h/2 - i * y_scale; + y1 = m_y + m_rCtrl.GetHeight()/2 - i * y_scale; sprintf(label, "%d", i); wxSize sz = dc.GetTextExtent(label); dc.DrawLabel(label, wxRect(x1, y1, sz.GetWidth(), sz.GetHeight()), wxALIGN_LEFT); diff --git a/fdmdv2/src/fdmdv2_plot_scatter.cpp b/fdmdv2/src/fdmdv2_plot_scatter.cpp index f8fbebc8..8d487e4b 100644 --- a/fdmdv2/src/fdmdv2_plot_scatter.cpp +++ b/fdmdv2/src/fdmdv2_plot_scatter.cpp @@ -73,28 +73,28 @@ void PlotScatter::draw(wxAutoBufferedPaintDC& dc) //Fl_Box::draw(); /* detect resizing of window */ - if((m_h != m_prev_h) || (m_w != m_prev_w) || (m_x != m_prev_x) || (m_y != m_prev_y)) + if((m_rCtrl.GetHeight() != m_prev_h) || (m_rCtrl.GetWidth() != m_prev_w) || (m_x != m_prev_x) || (m_y != m_prev_y)) { //fl_color(FL_BLACK); //fl_rectf(x(),y(),w(),h()); - m_prev_h = m_h; - m_prev_w = m_w; + m_prev_h = m_rCtrl.GetHeight(); + m_prev_w = m_rCtrl.GetWidth(); m_prev_x = m_x; m_prev_y = m_y; } //fl_push_clip(x(),y(),w(),h()); - x_scale = m_w/SCATTER_X_MAX; - y_scale = m_h/SCATTER_Y_MAX; + x_scale = m_rCtrl.GetWidth()/SCATTER_X_MAX; + y_scale = m_rCtrl.GetHeight()/SCATTER_Y_MAX; // erase last samples //fl_color(FL_BLACK); for(i=0; i 0) { - dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (y_zero + p), (m_w + PLOT_BORDER + XLEFT_OFFSET), (y_zero + p)); + dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (y_zero + p), (m_rCtrl.GetWidth() + PLOT_BORDER + XLEFT_OFFSET), (y_zero + p)); sprintf(buf, "%6.0f", (double)(p) * -10); dc.DrawText(buf, XLEFT_TEXT_OFFSET, (y_zero + p + TEXT_BASELINE_OFFSET_Y)); - dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (y_zero - p), (m_w + PLOT_BORDER + XLEFT_OFFSET), (y_zero - p)); + dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (y_zero - p), (m_rCtrl.GetWidth() + PLOT_BORDER + XLEFT_OFFSET), (y_zero - p)); sprintf(buf, "%6.0f", (double)(p) * 10); dc.DrawText(buf, XLEFT_TEXT_OFFSET, (y_zero - p + TEXT_BASELINE_OFFSET_Y)); } @@ -90,10 +90,10 @@ void PlotSpectrum::drawGraticule(wxAutoBufferedPaintDC& dc) // Label the X-Axis dc.SetPen(wxPen(GREY_COLOR, 1)); - for(p = GRID_INCREMENT; p < (m_w - YBOTTOM_OFFSET); p += GRID_INCREMENT) + for(p = GRID_INCREMENT; p < (m_rCtrl.GetWidth() - YBOTTOM_OFFSET); p += GRID_INCREMENT) { sprintf(buf, "%1.1f Hz",(double)(p / 10)); - dc.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_h + YBOTTOM_OFFSET/2); + dc.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_rCtrl.GetHeight() + YBOTTOM_OFFSET/2); } } @@ -114,17 +114,17 @@ void PlotSpectrum::draw(wxAutoBufferedPaintDC& dc) char label[20]; float px_per_hz; */ - m_rectCtrl = GetClientRect(); - m_rectGrid = m_rectCtrl; + m_rCtrl = GetClientRect(); + m_rGrid = m_rCtrl; - m_rectGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); - m_rectGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); + m_rGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); + m_rGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); -// m_rectGrid.Deflate(PLOT_BORDER, (PLOT_BORDER + (YBOTTOM_OFFSET/2))); -// m_rectGrid.Offset(PLOT_BORDER, PLOT_BORDER); +// m_rGrid.Deflate(PLOT_BORDER, (PLOT_BORDER + (YBOTTOM_OFFSET/2))); +// m_rGrid.Offset(PLOT_BORDER, PLOT_BORDER); - m_h = m_rectGrid.GetHeight(); - m_w = m_rectGrid.GetWidth(); +// m_h = m_rGrid.GetHeight(); +// m_w = m_rGrid.GetWidth(); dc.Clear(); @@ -135,7 +135,7 @@ void PlotSpectrum::draw(wxAutoBufferedPaintDC& dc) // dc.SetPen(wxPen(BLACK_COLOR, 1)); m_top = PLOT_BORDER; m_left = PLOT_BORDER + XLEFT_OFFSET; - dc.DrawRectangle(m_left, m_top, m_w, m_h); + dc.DrawRectangle(m_left, m_top, m_rCtrl.GetWidth(), m_rCtrl.GetHeight()); drawGraticule(dc); /* @@ -216,8 +216,11 @@ void PlotSpectrum::OnPaint(wxPaintEvent& event) //---------------------------------------------------------------- void PlotSpectrum::OnSize(wxSizeEvent& event) { + m_rCtrlPrev = m_rCtrl; + m_rCtrl = GetClientRect(); if(m_use_bitmap) { + m_bmp = new wxBitmap(m_rCtrl.GetWidth(), m_rCtrl.GetHeight(), wxBITMAP_SCREEN_DEPTH); this->Refresh(); } } diff --git a/fdmdv2/src/fdmdv2_plot_waterfall.cpp b/fdmdv2/src/fdmdv2_plot_waterfall.cpp index adb4412b..508d7493 100644 --- a/fdmdv2/src/fdmdv2_plot_waterfall.cpp +++ b/fdmdv2/src/fdmdv2_plot_waterfall.cpp @@ -27,8 +27,6 @@ #include "fdmdv2_main.h" #include "fdmdv2_plot_waterfall.h" -//extern float *av_mag; - /* Notes: @@ -61,28 +59,26 @@ END_EVENT_TABLE() // @brief // //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= -PlotWaterfall::PlotWaterfall(wxFrame* parent): PlotPanel(parent) -{ - int i; - -// m_bmp = new wxBitmap(MAX_BMP_X, MAX_BMP_Y, wxBITMAP_SCREEN_DEPTH); - for(i = 0; i < 255; i++) +PlotWaterfall::PlotWaterfall(wxFrame* parent): PlotPanel(parent) +{ + for(int i = 0; i < 255; i++) { m_heatmap_lut[i] = heatmap((float)i, 0.0, 255.0); } - m_greyscale = 0; + m_greyscale = 0; + m_Bufsz = GetMaxClientSize(); + m_newdata = false; + m_firstPass = true; + m_line_color = 0; SetLabelSize(10.0); - m_Bufsz = GetMaxClientSize(); -// m_newdata = true; - m_newdata = false; -}; +} //---------------------------------------------------------------- // ~PlotWaterfall() //---------------------------------------------------------------- PlotWaterfall::~PlotWaterfall() -{ -} +{ +} /* //---------------------------------------------------------------- @@ -166,155 +162,141 @@ unsigned PlotWaterfall::heatmap(float val, float min, float max) //printf("%f %x %x %x\n", val, r, g, b); return (b << 16) + (g << 8) + r; } + +#define DATA_LINE_WIDTH 25 +//---------------------------------------------------------------- +// draw() +//---------------------------------------------------------------- +void PlotWaterfall::draw(wxAutoBufferedPaintDC& pDC) +{ + bool rc; + wxMemoryDC m_mDC; + m_mDC.SelectObject(*m_bmp); +// m_mDC.SetMapMode(pDC.GetMapMode()); + m_rCtrl = GetClientRect(); + m_rGrid = m_rCtrl; + + m_rGrid = m_rGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); + m_rGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); + + pDC.Clear(); + m_rPlot = wxRect(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER, m_rGrid.GetWidth(), m_rGrid.GetHeight()); +// m_rPlot = m_rPlot.Deflate(1, 1); + if(m_firstPass) + { + m_firstPass = false; + m_mDC.FloodFill(0, 0, VERY_LTGREY_COLOR); +// m_rPlot.Offset(1, 1); + + // Draw a filled rectangle with aborder + wxBrush ltGraphBkgBrush = wxBrush(LIGHT_RED_COLOR); + m_mDC.SetBrush(ltGraphBkgBrush); + m_mDC.SetPen(wxPen(BLACK_COLOR, 0)); + m_mDC.DrawRectangle(m_rPlot); + } + if(m_newdata) + { + m_newdata = false; +// m_rPlot = m_rPlot.Deflate(2, 2); +// m_rPlot.Offset(1, 1); + +// plotPixelData(dc); +#ifdef USE_TIMER + int t = m_rPlot.GetTop(); + int l = m_rPlot.GetLeft(); + int b = m_rPlot.GetBottom(); + int r = m_rPlot.GetRight(); + int h = m_rPlot.GetHeight(); + int w = m_rPlot.GetWidth(); + + wxDateTime dt; + char buf[15]; + sprintf(buf, "%9X", (unsigned int)dt.GetTimeNow()); + wxPen pen; + pen.SetCap(wxCAP_BUTT); + pen.SetStyle(wxPENSTYLE_SOLID); + pen.SetWidth(1); + pen.SetColour(BLACK_COLOR); + m_mDC.SetPen(pen); + m_mDC.DrawText(buf, l + 100, h - 38); +// bool rc = pDC.StretchBlit(l, t + DATA_LINE_WIDTH, r, b , &m_mDC, l, t, r, b - DATA_LINE_WIDTH); +// bool rc = pDC.StretchBlit(l, t, w, h - DATA_LINE_WIDTH, &m_mDC, l, t + DATA_LINE_WIDTH, w, h - DATA_LINE_WIDTH); +// bool rc = pDC.StretchBlit(l, t, w, h, &m_mDC, l, t, w, h); + int t2 = t + 1; + int w2 = w - 1; + rc = m_mDC.StretchBlit(l, t2, w2, h - (DATA_LINE_WIDTH), &m_mDC, l, t2 + DATA_LINE_WIDTH, w2, h - DATA_LINE_WIDTH); + switch(m_line_color) + { + case 0: + pen.SetColour(RED_COLOR); + m_line_color = 1; + break; + + case 1: + pen.SetColour(YELLOW_COLOR); + m_line_color = 2; + break; + + case 2: + pen.SetColour(BLUE_COLOR); + m_line_color = 0; + break; + } + pen.SetWidth(DATA_LINE_WIDTH); + m_mDC.SetPen(pen); + m_mDC.DrawLine(l + 1, h - (DATA_LINE_WIDTH/2) + 1, r, h - (DATA_LINE_WIDTH/2) + 1); + rc = pDC.Blit(l, t, w, h, &m_mDC, l, t); +#endif + } + drawGraticule(pDC); + m_mDC.SetBrush(wxNullBrush); + m_mDC.SelectObject(wxNullBitmap); +} + //------------------------------------------------------------------------- // drawGraticule() //------------------------------------------------------------------------- -void PlotWaterfall::drawGraticule(wxAutoBufferedPaintDC& dc) +void PlotWaterfall::drawGraticule(wxAutoBufferedPaintDC& pDC) { int p; char buf[15]; wxString s; + //wxBrush ltGraphBkgBrush = wxBrush(LIGHT_RED_COLOR); + wxBrush ltGraphBkgBrush; + ltGraphBkgBrush.SetStyle(wxBRUSHSTYLE_TRANSPARENT); + pDC.SetBrush(ltGraphBkgBrush); + pDC.SetPen(wxPen(BLACK_COLOR, 1)); +// pDC.DrawRectangle(m_rPlot); + // Vertical gridlines - dc.SetPen(m_penShortDash); - for(p = (PLOT_BORDER + XLEFT_OFFSET + GRID_INCREMENT); p < ((m_w - XLEFT_OFFSET) + GRID_INCREMENT); p += GRID_INCREMENT) + pDC.SetPen(m_penShortDash); + for(p = (PLOT_BORDER + XLEFT_OFFSET + GRID_INCREMENT); p < ((m_rGrid.GetWidth() - XLEFT_OFFSET) + GRID_INCREMENT); p += GRID_INCREMENT) { - dc.DrawLine(p, (m_h + PLOT_BORDER), p, PLOT_BORDER); + pDC.DrawLine(p, (m_rGrid.GetHeight() + PLOT_BORDER), p, PLOT_BORDER); } // Horizontal gridlines - dc.SetPen(m_penDotDash); - for(p = (m_h - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) + pDC.SetPen(m_penDotDash); + for(p = (m_rGrid.GetHeight() - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) { - dc.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (p + PLOT_BORDER), (m_w + PLOT_BORDER + XLEFT_OFFSET), (p + PLOT_BORDER)); + pDC.DrawLine(PLOT_BORDER + XLEFT_OFFSET, (p + PLOT_BORDER), (m_rGrid.GetWidth() + PLOT_BORDER + XLEFT_OFFSET), (p + PLOT_BORDER)); } // Label the X-Axis - dc.SetPen(wxPen(GREY_COLOR, 1)); - for(p = GRID_INCREMENT; p < (m_w - YBOTTOM_OFFSET); p += GRID_INCREMENT) + pDC.SetPen(wxPen(GREY_COLOR, 1)); + for(p = GRID_INCREMENT; p < (m_rGrid.GetWidth() - YBOTTOM_OFFSET); p += GRID_INCREMENT) { sprintf(buf, "%1.1f Hz",(double)(p / 10)); - dc.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_h + YBOTTOM_OFFSET/2); + pDC.DrawText(buf, p - PLOT_BORDER + XLEFT_OFFSET, m_rGrid.GetHeight() + YBOTTOM_OFFSET/2); } // Label the Y-Axis - for(p = (m_h - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) + for(p = (m_rGrid.GetHeight() - GRID_INCREMENT); p > PLOT_BORDER; p -= GRID_INCREMENT) { - sprintf(buf, "%1.0f", (double)((m_h - p) * -10)); - dc.DrawText(buf, XLEFT_TEXT_OFFSET, p); + sprintf(buf, "%1.0f", (double)((m_rGrid.GetHeight() - p) * -10)); + pDC.DrawText(buf, XLEFT_TEXT_OFFSET, p); } } -//---------------------------------------------------------------- -// draw() -//---------------------------------------------------------------- -void PlotWaterfall::draw(wxAutoBufferedPaintDC& dc) -{ - m_rectCtrl = GetClientRect(); - m_rectGrid = m_rectCtrl; - - m_rectGrid.Deflate(PLOT_BORDER + (XLEFT_OFFSET/2), (PLOT_BORDER + (YBOTTOM_OFFSET/2))); - m_rectGrid.Offset(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER); - - m_h = m_rectGrid.GetHeight(); - m_w = m_rectGrid.GetWidth(); - - dc.Clear(); - - // Draw a filled rectangle with aborder - wxBrush ltBlueBrush = wxBrush(LIGHT_RED_COLOR); - dc.SetBrush(ltBlueBrush); - dc.SetPen(wxPen(BLACK_COLOR, 1)); - dc.DrawRectangle(PLOT_BORDER + XLEFT_OFFSET, PLOT_BORDER, m_w, m_h); - - drawGraticule(dc); - //plotData(dc); - if(m_newdata) - { - m_newdata = false; - plotPixelData(dc); - } -} - -//---------------------------------------------------------------- -// plotData() -//---------------------------------------------------------------- -void PlotWaterfall::plotData(wxAutoBufferedPaintDC& dc) -{ - float spec_index_per_px; - float intensity_per_dB; - int px_per_sec; - int index; - int dy; - int dy_blocks; - int bytes_in_row_of_blocks; - int b; - int px; - int py; - int intensity; - unsigned *last_row; - unsigned *pdest; - unsigned *psrc; -// float *av_mag = ((MainFrame *)GetParent())->m_av_mag; - /* detect resizing of window */ -/* - if ((m_h != m_prev_h) || (m_w != m_prev_w)) - { - //delete m_pBmp; - new_pixel_buf(m_w, m_h); - } -*/ - - // determine dy, the height of one "block" - px_per_sec = (float)m_h / WATERFALL_SECS_Y; - dy = DT * px_per_sec; - // number of dy high blocks in spectrogram - dy_blocks = m_h / dy; - // shift previous bit map - bytes_in_row_of_blocks = dy * m_w * sizeof(unsigned); - for(b = 0; b < dy_blocks - 1; b++) - { - pdest = (unsigned int *)m_pBmp + b * m_w * dy; - psrc = (unsigned int *)m_pBmp + (b + 1) * m_w * dy; - memcpy(pdest, psrc, bytes_in_row_of_blocks); - } - // create a new row of blocks at bottom - spec_index_per_px = (float)FDMDV_NSPEC / (float) m_w; - intensity_per_dB = (float)256 /(MAX_DB - MIN_DB); - last_row = (unsigned int *)m_pBmp + dy *(dy_blocks - 1)* m_w; - for(px = 0; px < m_w; px++) - { - index = px * spec_index_per_px; - intensity = intensity_per_dB * (m_pTopFrame->m_rxPa->m_av_mag[index] - MIN_DB); - //intensity = intensity_per_dB * m_pTopFrame->m_rxPa->getAvMag(index) - MIN_DB); - - if(intensity > 255) - { - intensity = 255; - } - if (intensity < 0) - { - intensity = 0; - } - if(m_greyscale) - { - for(py = 0; py < dy; py++) - { - last_row[px + py * m_w] = intensity << 8; - } - } - else - { - for(py = 0; py < dy; py++) - { - last_row[px + py * m_w] = m_heatmap_lut[intensity]; - } - } - } - // update bit map - //fl_draw_image((unsigned char*)m_pixel_buf, m_x, m_y, m_w, m_h, 4, 0); - //dc.DrawLines(4, m_pBmp, 0, 0 ); - -} - //------------------------------------------------------------------------- // plotPixelData() //------------------------------------------------------------------------- @@ -336,22 +318,22 @@ void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC& dc) unsigned *psrc; // determine dy, the height of one "block" - px_per_sec = (float)m_h / WATERFALL_SECS_Y; + px_per_sec = (float)m_rCtrl.GetHeight() / WATERFALL_SECS_Y; dy = DT * px_per_sec; // number of dy high blocks in spectrogram - dy_blocks = m_h / dy; + dy_blocks = m_rCtrl.GetHeight()/ dy; // shift previous bit map - bytes_in_row_of_blocks = dy * m_w * sizeof(unsigned); + bytes_in_row_of_blocks = dy * m_rCtrl.GetWidth() * sizeof(unsigned); for(b = 0; b < dy_blocks - 1; b++) { - pdest = (unsigned int *)m_pBmp + b * m_w * dy; - psrc = (unsigned int *)m_pBmp + (b + 1) * m_w * dy; + pdest = (unsigned int *)m_pBmp + b * m_rCtrl.GetWidth() * dy; + psrc = (unsigned int *)m_pBmp + (b + 1) * m_rCtrl.GetWidth() * dy; memcpy(pdest, psrc, bytes_in_row_of_blocks); } // create a new row of blocks at bottom - spec_index_per_px = (float)FDMDV_NSPEC / (float) m_w; + spec_index_per_px = (float)FDMDV_NSPEC / (float) m_rCtrl.GetWidth(); intensity_per_dB = (float)256 /(MAX_DB - MIN_DB); - last_row = (unsigned int *)m_pBmp + dy *(dy_blocks - 1)* m_w; + last_row = (unsigned int *)m_pBmp + dy *(dy_blocks - 1)* m_rCtrl.GetWidth(); wxNativePixelData data(*m_bmp); if(!data) @@ -367,11 +349,12 @@ void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC& dc) wxNativePixelData::Iterator p(data); // we draw a (10, 10)-(20, 20) rect manually using the given r, g, b p.Offset(data, 10, 10); - for(px = 0; px < m_w; px++) + for(px = 0; px < m_rCtrl.GetWidth(); px++) { index = px * spec_index_per_px; // intensity = intensity_per_dB * (m_av_mag[index] - MIN_DB); intensity = intensity_per_dB * (((MainFrame *)GetParent())->m_rxPa->m_av_mag[index] - MIN_DB); +// intensity = intensity_per_dB * (((MainFrame *)GetParent())->m_av_mag[index] - MIN_DB); if(intensity > 255) { intensity = 255; @@ -388,31 +371,17 @@ void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC& dc) { for(py = 0; py < dy; py++) { - last_row[px + py * m_w] = intensity << 8; + last_row[px + py * m_rCtrl.GetWidth()] = intensity << 8; } } else { for(py = 0; py < dy; py++) { - last_row[px + py * m_w] = m_heatmap_lut[intensity]; + last_row[px + py * m_rCtrl.GetWidth()] = m_heatmap_lut[intensity]; } } } -/* - for(int y = 0; y < 10; ++y) - { - wxNativePixelData::Iterator rowStart = p; - for(int x = 0; x < 10; ++x, ++p) - { - p.Red() = r; - p.Green() = g; - p.Blue() = b; - } - p = rowStart; - p.OffsetY(data, 1); - } -*/ } //---------------------------------------------------------------- @@ -424,20 +393,24 @@ void PlotWaterfall::plotPixelData(wxAutoBufferedPaintDC& dc) //---------------------------------------------------------------- void PlotWaterfall::OnPaint(wxPaintEvent & evt) { - wxAutoBufferedPaintDC dc(this); - draw(dc); + wxAutoBufferedPaintDC pdc(this); + draw(pdc); } //---------------------------------------------------------------- // OnSize() //---------------------------------------------------------------- -void PlotWaterfall::OnSize(wxSizeEvent& event) -{ - if(m_use_bitmap) - { - this->Refresh(); - } -} +//void PlotWaterfall::OnSize(wxSizeEvent& event) +//{ +// m_rCtrlPrev = m_rCtrl; +// m_rCtrl = GetClientRect(); +// if(m_use_bitmap) +// { +// m_firstPass = true; +// m_bmp = new wxBitmap(m_rCtrl.GetWidth(), m_rCtrl.GetHeight(), wxBITMAP_SCREEN_DEPTH); +// this->Refresh(); +// } +//} //---------------------------------------------------------------- // OnShow() diff --git a/fdmdv2/src/fdmdv2_plot_waterfall.h b/fdmdv2/src/fdmdv2_plot_waterfall.h index 227afd24..86046c36 100644 --- a/fdmdv2/src/fdmdv2_plot_waterfall.h +++ b/fdmdv2/src/fdmdv2_plot_waterfall.h @@ -40,25 +40,26 @@ //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= class PlotWaterfall : public PlotPanel { -public: - PlotWaterfall(wxFrame* parent); - ~PlotWaterfall(); + public: + PlotWaterfall(wxFrame* parent); + ~PlotWaterfall(); -protected: -// unsigned *m_pixel_buf; - unsigned m_heatmap_lut[256]; - int m_greyscale; + protected: + // unsigned *m_pixel_buf; + unsigned m_heatmap_lut[256]; + int m_greyscale; + wxMemoryDC m_mDC; + int m_line_color; - unsigned heatmap(float val, float min, float max); + unsigned heatmap(float val, float min, float max); - void OnPaint(wxPaintEvent & evt); - void OnSize(wxSizeEvent& event); - void OnShow(wxShowEvent& event); - void drawGraticule(wxAutoBufferedPaintDC& dc); - void draw(wxAutoBufferedPaintDC& dc); - void plotData(wxAutoBufferedPaintDC& dc); - void plotPixelData(wxAutoBufferedPaintDC& dc); - DECLARE_EVENT_TABLE() + void OnPaint(wxPaintEvent & evt); + //void OnSize(wxSizeEvent& event); + void OnShow(wxShowEvent& event); + void drawGraticule(wxAutoBufferedPaintDC& dc); + void draw(wxAutoBufferedPaintDC& pdc); + void plotPixelData(wxAutoBufferedPaintDC& dc); + DECLARE_EVENT_TABLE() }; #endif //__FDMDV2_PLOT_WATERFALL__