\r
class AudioDlg : public DlgAudio\r
{\r
- protected:\r
+ protected:\r
// Handlers for DlgAudio events.\r
void OnCancel( wxCommandEvent& event );\r
void OnOK( wxCommandEvent& event );\r
CurrentFilePath :=\r
CurrentFileFullPath :=\r
User :=wittend\r
-Date :=6/18/2012\r
+Date :=8/13/2012\r
CodeLitePath :="C:\Program Files\CodeLite"\r
LinkerName :=g++\r
ArchiveTool :=ar rcus\r
</GlobalSettings>
<Configuration Name="Debug" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" C_Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
- <IncludePath Value="./extern/include"/>
+ <IncludePath Value="/bin/MinGW/msys/1.0/local/include"/>
+ <IncludePath Value="../codec2-dev/src"/>
<Preprocessor Value="__WX__"/>
</Compiler>
<Linker Options="-mwindows;$(shell wx-config --debug=yes --libs --unicode=yes)" Required="yes">
<Library Value="libportaudiocpp.a"/>
</Linker>
<ResourceCompiler Options="$(shell wx-config --rcflags)" Required="no"/>
- <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="no"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
<Environment>
<![CDATA[]]>
</Environment>
+ <Project Name="fltk_fdmdv2" Path="fltk_fdmdv2/fltk_fdmdv2.project" Active="No"/>
<BuildMatrix>
- <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <WorkspaceConfiguration Name="Debug" Selected="no">
<Project Name="test_sndfile" ConfigName="Debug"/>
<Project Name="test_portaudio" ConfigName="Debug"/>
<Project Name="test_codec2" ConfigName="Debug"/>
<Project Name="pa_cppbinding_test" ConfigName="Debug"/>
<Project Name="fdmdv2basic" ConfigName="Debug"/>
<Project Name="pa_enum" ConfigName="Debug"/>
+ <Project Name="fltk_fdmdv2" ConfigName="Debug"/>
+ <Project Name="fltk_fdmdv2" ConfigName="Debug"/>
</WorkspaceConfiguration>
- <WorkspaceConfiguration Name="Release" Selected="no">
- <Project Name="test_sndfile" ConfigName="Release"/>
- <Project Name="test_portaudio" ConfigName="Release"/>
- <Project Name="test_codec2" ConfigName="Release"/>
- <Project Name="test_hamlib" ConfigName="Release"/>
- <Project Name="librs232" ConfigName="Release"/>
+ <WorkspaceConfiguration Name="Release" Selected="yes">
<Project Name="fdmdv2" ConfigName="Release"/>
- <Project Name="pa_test" ConfigName="Release"/>
- <Project Name="pa_cppbinding_test" ConfigName="Release"/>
<Project Name="fdmdv2basic" ConfigName="Release"/>
+ <Project Name="pa_cppbinding_test" ConfigName="Release"/>
<Project Name="pa_enum" ConfigName="Release"/>
+ <Project Name="pa_test" ConfigName="Release"/>
+ <Project Name="test_hamlib" ConfigName="Release"/>
+ <Project Name="test_sndfile" ConfigName="Release"/>
+ <Project Name="fltk_fdmdv2" ConfigName="Release"/>
+ <Project Name="fltk_fdmdv2" ConfigName="Release"/>
</WorkspaceConfiguration>
</BuildMatrix>
</CodeLite_Workspace>
{\r
m_clip = false;\r
m_bitmap = true;\r
+ m_zoomFactor = 1.0;\r
m_rubberBand = false;\r
m_mouseDown = false;\r
m_penShortDash = wxPen(wxColor(0xA0, 0xA0, 0xA0), 1, wxPENSTYLE_SHORT_DASH);\r
m_mouseDown = false;\r
}\r
\r
+//-------------------------------------------------------------------------\r
+// SetZoomFactor()\r
+//-------------------------------------------------------------------------\r
+double DrawPanel::SetZoomFactor(double zf)\r
+{\r
+ if((zf > 0) && (zf < 5.0))\r
+ {\r
+ m_zoomFactor = zf;\r
+ }\r
+ return zf;\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// GetZoomFactor()\r
+//-------------------------------------------------------------------------\r
+double DrawPanel::GetZoomFactor(double zf)\r
+{\r
+ return m_zoomFactor;\r
+}\r
+\r
#define PLOT_BORDER 10\r
#define XLEFT_OFFSET 0\r
#define YBOTTOM_OFFSET 25\r
void OnClose( wxCloseEvent& event ){ event.Skip(); }
void OnSize( wxSizeEvent& event );\r
void OnErase(wxEraseEvent& event);\r
+ double SetZoomFactor(double zf);\r
+ double GetZoomFactor(double zf);\r
//void OnUpdateUI( wxUpdateUIEvent& event ){ event.Skip(); }\r
void OnShow(wxShowEvent& event);\r
bool m_clip;\r
bool m_rubberBand;\r
bool m_mouseDown;\r
+ double m_zoomFactor;\r
DECLARE_EVENT_TABLE()\r
};\r
#endif //__FDMDV2_PLOT__\r
.PHONY: clean All
All:
- @echo ----------Building project:[ pa_enum - Debug ]----------
+ @echo ----------Building project:[ pa_enum - Release ]----------
@cd "pa_enum" && "mingw32-make.exe" -j 2 -f "pa_enum.mk"
clean:
- @echo ----------Cleaning project:[ pa_enum - Debug ]----------
+ @echo ----------Cleaning project:[ pa_enum - Release ]----------
@cd "pa_enum" && "mingw32-make.exe" -j 2 -f "pa_enum.mk" clean
</Completion>
</Configuration>
</Settings>
+ <Dependencies Name="Debug"/>
+ <Dependencies Name="Release"/>
</CodeLite_Project>
{\r
this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
\r
- m_menuBar = new wxMenuBar( 0 );\r
- m_menuFile = new wxMenu();\r
- wxMenuItem* menuFileExit;\r
- menuFileExit = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("E&xit") ) + wxT('\t') + wxT("Alt+X"), wxEmptyString, wxITEM_NORMAL );\r
- m_menuFile->Append( menuFileExit );\r
- \r
- m_menuBar->Append( m_menuFile, _("&File") ); \r
- \r
- this->SetMenuBar( m_menuBar );\r
- \r
wxBoxSizer* mainSizer;\r
mainSizer = new wxBoxSizer( wxVERTICAL );\r
\r
sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( m_panelRx, wxID_ANY, _("Rx Radio Device") ), wxVERTICAL );\r
\r
m_listCtrlRxInDevices = new wxListCtrl( m_panelRx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES );\r
- sbSizer2->Add( m_listCtrlRxInDevices, 1, wxALL|wxEXPAND, 2 );\r
+ sbSizer2->Add( m_listCtrlRxInDevices, 1, wxALL|wxEXPAND, 1 );\r
\r
wxBoxSizer* bSizer811;\r
bSizer811 = new wxBoxSizer( wxHORIZONTAL );\r
bSizer811->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_textCtrlRxIn = new wxTextCtrl( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
- bSizer811->Add( m_textCtrlRxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 );\r
+ bSizer811->Add( m_textCtrlRxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
\r
m_staticText6 = new wxStaticText( m_panelRx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 );\r
m_staticText6->Wrap( -1 );\r
bSizer811->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_cbSampleRateRxIn = new wxComboBox( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); \r
- bSizer811->Add( m_cbSampleRateRxIn, 0, wxALL, 5 );\r
+ bSizer811->Add( m_cbSampleRateRxIn, 0, wxALL, 1 );\r
\r
\r
sbSizer2->Add( bSizer811, 0, wxEXPAND, 5 );\r
sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelRx, wxID_ANY, _("Rx Speaker Stream") ), wxVERTICAL );\r
\r
m_listCtrlRxOutDevices = new wxListCtrl( m_panelRx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES );\r
- sbSizer3->Add( m_listCtrlRxOutDevices, 1, wxALL|wxEXPAND, 2 );\r
+ sbSizer3->Add( m_listCtrlRxOutDevices, 1, wxALL|wxEXPAND, 1 );\r
\r
wxBoxSizer* bSizer81;\r
bSizer81 = new wxBoxSizer( wxHORIZONTAL );\r
bSizer81->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
\r
m_textRxOut = new wxTextCtrl( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
- bSizer81->Add( m_textRxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 );\r
+ bSizer81->Add( m_textRxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
\r
m_staticText10 = new wxStaticText( m_panelRx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 );\r
m_staticText10->Wrap( -1 );\r
bSizer81->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_cbSampleRateRxOut = new wxComboBox( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); \r
- bSizer81->Add( m_cbSampleRateRxOut, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
+ bSizer81->Add( m_cbSampleRateRxOut, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
\r
\r
sbSizer3->Add( bSizer81, 0, wxEXPAND, 2 );\r
sbSizer22 = new wxStaticBoxSizer( new wxStaticBox( m_panelTx, wxID_ANY, _("Tx Microphone Stream") ), wxVERTICAL );\r
\r
m_listCtrlTxInDevices = new wxListCtrl( m_panelTx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES );\r
- sbSizer22->Add( m_listCtrlTxInDevices, 1, wxALL|wxEXPAND, 2 );\r
+ sbSizer22->Add( m_listCtrlTxInDevices, 1, wxALL|wxEXPAND, 1 );\r
\r
wxBoxSizer* bSizer83;\r
bSizer83 = new wxBoxSizer( wxHORIZONTAL );\r
bSizer83->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_textCtrlTxIn = new wxTextCtrl( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
- bSizer83->Add( m_textCtrlTxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 );\r
+ bSizer83->Add( m_textCtrlTxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
\r
m_staticText11 = new wxStaticText( m_panelTx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 );\r
m_staticText11->Wrap( -1 );\r
bSizer83->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_cbSampleRateTxIn = new wxComboBox( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); \r
- bSizer83->Add( m_cbSampleRateTxIn, 0, wxALL, 5 );\r
+ bSizer83->Add( m_cbSampleRateTxIn, 0, wxALL, 1 );\r
\r
\r
sbSizer22->Add( bSizer83, 0, wxEXPAND, 2 );\r
bSizer82->Add( m_staticText81, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
\r
m_textCtrTxOut = new wxTextCtrl( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
- bSizer82->Add( m_textCtrTxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 );\r
+ bSizer82->Add( m_textCtrTxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
\r
m_staticText71 = new wxStaticText( m_panelTx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 );\r
m_staticText71->Wrap( -1 );\r
bSizer82->Add( m_staticText71, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );\r
\r
m_cbSampleRateTxOut = new wxComboBox( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); \r
- bSizer82->Add( m_cbSampleRateTxOut, 0, wxALL, 5 );\r
+ bSizer82->Add( m_cbSampleRateTxOut, 0, wxALL, 1 );\r
\r
\r
sbSizer21->Add( bSizer82, 0, wxEXPAND, 2 );\r
// Connect Events\r
this->Connect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) );\r
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\r
- this->Connect( menuFileExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) );\r
m_listCtrlRxInDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxInDeviceSelect ), NULL, this );\r
m_listCtrlRxOutDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxOutDeviceSelect ), NULL, this );\r
m_listCtrlTxInDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxInDeviceSelect ), NULL, this );\r
// Disconnect Events\r
this->Disconnect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) );\r
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\r
- this->Disconnect( wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) );\r
m_listCtrlRxInDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxInDeviceSelect ), NULL, this );\r
m_listCtrlRxOutDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxOutDeviceSelect ), NULL, this );\r
m_listCtrlTxInDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxInDeviceSelect ), NULL, this );\r
<property name="pos"></property>\r
<property name="resize">Resizable</property>\r
<property name="show">1</property>\r
- <property name="size">869,417</property>\r
+ <property name="size">790,400</property>\r
<property name="style">wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER</property>\r
<property name="subclass"></property>\r
<property name="title">PortAudio Device Enumeration</property>\r
<event name="OnSetFocus"></event>\r
<event name="OnSize"></event>\r
<event name="OnUpdateUI"></event>\r
- <object class="wxMenuBar" expanded="1">\r
- <property name="BottomDockable">1</property>\r
- <property name="LeftDockable">1</property>\r
- <property name="RightDockable">1</property>\r
- <property name="TopDockable">1</property>\r
- <property name="aui_layer"></property>\r
- <property name="aui_name"></property>\r
- <property name="aui_position"></property>\r
- <property name="aui_row"></property>\r
- <property name="best_size"></property>\r
- <property name="bg"></property>\r
- <property name="caption"></property>\r
- <property name="caption_visible">1</property>\r
- <property name="center_pane">0</property>\r
- <property name="close_button">1</property>\r
- <property name="context_help"></property>\r
- <property name="context_menu">1</property>\r
- <property name="default_pane">0</property>\r
- <property name="dock">Dock</property>\r
- <property name="dock_fixed">0</property>\r
- <property name="docking">Left</property>\r
- <property name="enabled">1</property>\r
- <property name="fg"></property>\r
- <property name="floatable">1</property>\r
- <property name="font"></property>\r
- <property name="gripper">0</property>\r
- <property name="hidden">0</property>\r
- <property name="id">wxID_ANY</property>\r
- <property name="label">MainMenu</property>\r
- <property name="max_size"></property>\r
- <property name="maximize_button">0</property>\r
- <property name="maximum_size"></property>\r
- <property name="min_size"></property>\r
- <property name="minimize_button">0</property>\r
- <property name="minimum_size"></property>\r
- <property name="moveable">1</property>\r
- <property name="name">m_menuBar</property>\r
- <property name="pane_border">1</property>\r
- <property name="pane_position"></property>\r
- <property name="pane_size"></property>\r
- <property name="permission">protected</property>\r
- <property name="pin_button">1</property>\r
- <property name="pos"></property>\r
- <property name="resize">Resizable</property>\r
- <property name="show">1</property>\r
- <property name="size"></property>\r
- <property name="style"></property>\r
- <property name="subclass"></property>\r
- <property name="toolbar_pane">0</property>\r
- <property name="tooltip"></property>\r
- <property name="validator_data_type"></property>\r
- <property name="validator_style">wxFILTER_NONE</property>\r
- <property name="validator_type">wxDefaultValidator</property>\r
- <property name="validator_variable"></property>\r
- <property name="window_extra_style"></property>\r
- <property name="window_name"></property>\r
- <property name="window_style"></property>\r
- <event name="OnChar"></event>\r
- <event name="OnEnterWindow"></event>\r
- <event name="OnEraseBackground"></event>\r
- <event name="OnKeyDown"></event>\r
- <event name="OnKeyUp"></event>\r
- <event name="OnKillFocus"></event>\r
- <event name="OnLeaveWindow"></event>\r
- <event name="OnLeftDClick"></event>\r
- <event name="OnLeftDown"></event>\r
- <event name="OnLeftUp"></event>\r
- <event name="OnMiddleDClick"></event>\r
- <event name="OnMiddleDown"></event>\r
- <event name="OnMiddleUp"></event>\r
- <event name="OnMotion"></event>\r
- <event name="OnMouseEvents"></event>\r
- <event name="OnMouseWheel"></event>\r
- <event name="OnPaint"></event>\r
- <event name="OnRightDClick"></event>\r
- <event name="OnRightDown"></event>\r
- <event name="OnRightUp"></event>\r
- <event name="OnSetFocus"></event>\r
- <event name="OnSize"></event>\r
- <event name="OnUpdateUI"></event>\r
- <object class="wxMenu" expanded="1">\r
- <property name="label">&File</property>\r
- <property name="name">m_menuFile</property>\r
- <property name="permission">protected</property>\r
- <object class="wxMenuItem" expanded="0">\r
- <property name="bitmap"></property>\r
- <property name="checked">0</property>\r
- <property name="enabled">1</property>\r
- <property name="help"></property>\r
- <property name="id">wxID_EXIT</property>\r
- <property name="kind">wxITEM_NORMAL</property>\r
- <property name="label">E&xit</property>\r
- <property name="name">menuFileExit</property>\r
- <property name="permission">none</property>\r
- <property name="shortcut">Alt+X</property>\r
- <property name="unchecked_bitmap"></property>\r
- <event name="OnMenuSelection">OnExitClick</event>\r
- <event name="OnUpdateUI"></event>\r
- </object>\r
- </object>\r
- </object>\r
<object class="wxBoxSizer" expanded="1">\r
<property name="minimum_size"></property>\r
<property name="name">mainSizer</property>\r
<property name="permission">none</property>\r
<event name="OnUpdateUI"></event>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL|wxEXPAND</property>\r
<property name="proportion">1</property>\r
<object class="wxListCtrl" expanded="0">\r
<property name="center_pane">0</property>\r
<property name="close_button">1</property>\r
<property name="context_help"></property>\r
- <property name="context_menu">1</property>\r
+ <property name="context_menu">0</property>\r
<property name="default_pane">0</property>\r
<property name="dock">Dock</property>\r
<property name="dock_fixed">0</property>\r
</object>\r
</object>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
<property name="proportion">1</property>\r
<object class="wxTextCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="1">\r
- <property name="border">5</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL</property>\r
<property name="proportion">0</property>\r
<object class="wxComboBox" expanded="1">\r
<property name="permission">none</property>\r
<event name="OnUpdateUI"></event>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL|wxEXPAND</property>\r
<property name="proportion">1</property>\r
<object class="wxListCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
<property name="proportion">1</property>\r
<object class="wxTextCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="1">\r
- <property name="border">5</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
<property name="proportion">0</property>\r
<object class="wxComboBox" expanded="1">\r
<property name="permission">none</property>\r
<event name="OnUpdateUI"></event>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL|wxEXPAND</property>\r
<property name="proportion">1</property>\r
<object class="wxListCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
<property name="proportion">1</property>\r
<object class="wxTextCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="1">\r
- <property name="border">5</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL</property>\r
<property name="proportion">0</property>\r
<object class="wxComboBox" expanded="1">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="0">\r
- <property name="border">2</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
<property name="proportion">1</property>\r
<object class="wxTextCtrl" expanded="0">\r
</object>\r
</object>\r
<object class="sizeritem" expanded="1">\r
- <property name="border">5</property>\r
+ <property name="border">1</property>\r
<property name="flag">wxALL</property>\r
<property name="proportion">0</property>\r
<object class="wxComboBox" expanded="1">\r
#include <wx/artprov.h>\r
#include <wx/xrc/xmlres.h>\r
#include <wx/intl.h>\r
+#include <wx/listctrl.h>\r
#include <wx/string.h>\r
-#include <wx/bitmap.h>\r
-#include <wx/image.h>\r
-#include <wx/icon.h>\r
-#include <wx/menu.h>\r
#include <wx/gdicmn.h>\r
#include <wx/font.h>\r
#include <wx/colour.h>\r
#include <wx/settings.h>\r
-#include <wx/listctrl.h>\r
#include <wx/stattext.h>\r
#include <wx/textctrl.h>\r
#include <wx/combobox.h>\r
#include <wx/sizer.h>\r
#include <wx/statbox.h>\r
#include <wx/panel.h>\r
+#include <wx/bitmap.h>\r
+#include <wx/image.h>\r
+#include <wx/icon.h>\r
#include <wx/notebook.h>\r
#include <wx/button.h>\r
#include <wx/frame.h>\r
private:\r
\r
protected:\r
- wxMenuBar* m_menuBar;\r
- wxMenu* m_menuFile;\r
wxPanel* m_panel1;\r
wxNotebook* m_notebook1;\r
wxPanel* m_panelRx;\r
// Virtual event handlers, overide them in your derived class\r
virtual void OnActivateApp( wxActivateEvent& event ) { event.Skip(); }\r
virtual void OnCloseFrame( wxCloseEvent& event ) { event.Skip(); }\r
- virtual void OnExitClick( wxCommandEvent& event ) { event.Skip(); }\r
virtual void OnRxInDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
virtual void OnRxOutDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
virtual void OnTxInDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
\r
public:\r
\r
- MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("PortAudio Device Enumeration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 869,417 ), long style = wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
+ MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("PortAudio Device Enumeration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 790,400 ), long style = wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
\r
~MainFrameBase();\r
\r
class MainFrameBase ( wx.Frame ):\r
\r
def __init__( self, parent ):\r
- wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"PortAudio Device Enumeration"), pos = wx.DefaultPosition, size = wx.Size( 869,417 ), style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.RESIZE_BORDER|wx.TAB_TRAVERSAL )\r
+ wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"PortAudio Device Enumeration"), pos = wx.DefaultPosition, size = wx.Size( 790,400 ), style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.RESIZE_BORDER|wx.TAB_TRAVERSAL )\r
\r
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )\r
\r
- self.m_menuBar = wx.MenuBar( 0 )\r
- self.m_menuFile = wx.Menu()\r
- self.menuFileExit = wx.MenuItem( self.m_menuFile, wx.ID_EXIT, _(u"E&xit")+ u"\t" + u"Alt+X", wx.EmptyString, wx.ITEM_NORMAL )\r
- self.m_menuFile.AppendItem( self.menuFileExit )\r
- \r
- self.m_menuBar.Append( self.m_menuFile, _(u"&File") ) \r
- \r
- self.SetMenuBar( self.m_menuBar )\r
- \r
mainSizer = wx.BoxSizer( wx.VERTICAL )\r
\r
self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
sbSizer2 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelRx, wx.ID_ANY, _(u"Rx Radio Device") ), wx.VERTICAL )\r
\r
self.m_listCtrlRxInDevices = wx.ListCtrl( self.m_panelRx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES )\r
- sbSizer2.Add( self.m_listCtrlRxInDevices, 1, wx.ALL|wx.EXPAND, 2 )\r
+ sbSizer2.Add( self.m_listCtrlRxInDevices, 1, wx.ALL|wx.EXPAND, 1 )\r
\r
bSizer811 = wx.BoxSizer( wx.HORIZONTAL )\r
\r
bSizer811.Add( self.m_staticText51, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\r
\r
self.m_textCtrlRxIn = wx.TextCtrl( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
- bSizer811.Add( self.m_textCtrlRxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 )\r
+ bSizer811.Add( self.m_textCtrlRxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
\r
self.m_staticText6 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
self.m_staticText6.Wrap( -1 )\r
\r
m_cbSampleRateRxInChoices = []\r
self.m_cbSampleRateRxIn = wx.ComboBox( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateRxInChoices, wx.CB_DROPDOWN )\r
- bSizer811.Add( self.m_cbSampleRateRxIn, 0, wx.ALL, 5 )\r
+ bSizer811.Add( self.m_cbSampleRateRxIn, 0, wx.ALL, 1 )\r
\r
\r
sbSizer2.Add( bSizer811, 0, wx.EXPAND, 5 )\r
sbSizer3 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelRx, wx.ID_ANY, _(u"Rx Speaker Stream") ), wx.VERTICAL )\r
\r
self.m_listCtrlRxOutDevices = wx.ListCtrl( self.m_panelRx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES )\r
- sbSizer3.Add( self.m_listCtrlRxOutDevices, 1, wx.ALL|wx.EXPAND, 2 )\r
+ sbSizer3.Add( self.m_listCtrlRxOutDevices, 1, wx.ALL|wx.EXPAND, 1 )\r
\r
bSizer81 = wx.BoxSizer( wx.HORIZONTAL )\r
\r
bSizer81.Add( self.m_staticText9, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )\r
\r
self.m_textRxOut = wx.TextCtrl( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
- bSizer81.Add( self.m_textRxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 )\r
+ bSizer81.Add( self.m_textRxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
\r
self.m_staticText10 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
self.m_staticText10.Wrap( -1 )\r
\r
m_cbSampleRateRxOutChoices = []\r
self.m_cbSampleRateRxOut = wx.ComboBox( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateRxOutChoices, wx.CB_DROPDOWN )\r
- bSizer81.Add( self.m_cbSampleRateRxOut, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )\r
+ bSizer81.Add( self.m_cbSampleRateRxOut, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
\r
\r
sbSizer3.Add( bSizer81, 0, wx.EXPAND, 2 )\r
sbSizer22 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelTx, wx.ID_ANY, _(u"Tx Microphone Stream") ), wx.VERTICAL )\r
\r
self.m_listCtrlTxInDevices = wx.ListCtrl( self.m_panelTx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES )\r
- sbSizer22.Add( self.m_listCtrlTxInDevices, 1, wx.ALL|wx.EXPAND, 2 )\r
+ sbSizer22.Add( self.m_listCtrlTxInDevices, 1, wx.ALL|wx.EXPAND, 1 )\r
\r
bSizer83 = wx.BoxSizer( wx.HORIZONTAL )\r
\r
bSizer83.Add( self.m_staticText12, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\r
\r
self.m_textCtrlTxIn = wx.TextCtrl( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
- bSizer83.Add( self.m_textCtrlTxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 )\r
+ bSizer83.Add( self.m_textCtrlTxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
\r
self.m_staticText11 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
self.m_staticText11.Wrap( -1 )\r
\r
m_cbSampleRateTxInChoices = []\r
self.m_cbSampleRateTxIn = wx.ComboBox( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateTxInChoices, wx.CB_DROPDOWN )\r
- bSizer83.Add( self.m_cbSampleRateTxIn, 0, wx.ALL, 5 )\r
+ bSizer83.Add( self.m_cbSampleRateTxIn, 0, wx.ALL, 1 )\r
\r
\r
sbSizer22.Add( bSizer83, 0, wx.EXPAND, 2 )\r
bSizer82.Add( self.m_staticText81, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )\r
\r
self.m_textCtrTxOut = wx.TextCtrl( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )\r
- bSizer82.Add( self.m_textCtrTxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 )\r
+ bSizer82.Add( self.m_textCtrTxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
\r
self.m_staticText71 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
self.m_staticText71.Wrap( -1 )\r
\r
m_cbSampleRateTxOutChoices = []\r
self.m_cbSampleRateTxOut = wx.ComboBox( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateTxOutChoices, wx.CB_DROPDOWN )\r
- bSizer82.Add( self.m_cbSampleRateTxOut, 0, wx.ALL, 5 )\r
+ bSizer82.Add( self.m_cbSampleRateTxOut, 0, wx.ALL, 1 )\r
\r
\r
sbSizer21.Add( bSizer82, 0, wx.EXPAND, 2 )\r
# Connect Events\r
self.Bind( wx.EVT_ACTIVATE_APP, self.OnActivateApp )\r
self.Bind( wx.EVT_CLOSE, self.OnCloseFrame )\r
- self.Bind( wx.EVT_MENU, self.OnExitClick, id = self.menuFileExit.GetId() )\r
self.m_listCtrlRxInDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnRxInDeviceSelect )\r
self.m_listCtrlRxOutDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnRxOutDeviceSelect )\r
self.m_listCtrlTxInDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnTxInDeviceSelect )\r
def OnCloseFrame( self, event ):\r
event.Skip()\r
\r
- def OnExitClick( self, event ):\r
- event.Skip()\r
- \r
def OnRxInDeviceSelect( self, event ):\r
event.Skip()\r
\r
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">\r
<object class="wxFrame" name="MainFrameBase">\r
<style>wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL</style>\r
- <size>869,417</size>\r
+ <size>790,400</size>\r
<title>PortAudio Device Enumeration</title>\r
<centered>1</centered>\r
<aui_managed>0</aui_managed>\r
- <object class="wxMenuBar" name="m_menuBar">\r
- <label>MainMenu</label>\r
- <object class="wxMenu" name="m_menuFile">\r
- <label>_File</label>\r
- <object class="wxMenuItem" name="menuFileExit">\r
- <label>E_xit\tAlt+X</label>\r
- <help></help>\r
- </object>\r
- </object>\r
- </object>\r
<object class="wxBoxSizer">\r
<orient>wxVERTICAL</orient>\r
<object class="sizeritem">\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALL|wxEXPAND</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxListCtrl" name="m_listCtrlRxInDevices">\r
<style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
</object>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxTextCtrl" name="m_textCtrlRxIn">\r
<value></value>\r
<maxlength>0</maxlength>\r
<object class="sizeritem">\r
<option>0</option>\r
<flag>wxALL</flag>\r
- <border>5</border>\r
+ <border>1</border>\r
<object class="wxComboBox" name="m_cbSampleRateRxIn">\r
<style>wxCB_DROPDOWN</style>\r
<value></value>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALL|wxEXPAND</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxListCtrl" name="m_listCtrlRxOutDevices">\r
<style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
</object>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxTextCtrl" name="m_textRxOut">\r
<value></value>\r
<maxlength>0</maxlength>\r
<object class="sizeritem">\r
<option>0</option>\r
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
- <border>5</border>\r
+ <border>1</border>\r
<object class="wxComboBox" name="m_cbSampleRateRxOut">\r
<style>wxCB_DROPDOWN</style>\r
<value></value>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALL|wxEXPAND</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxListCtrl" name="m_listCtrlTxInDevices">\r
<style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
</object>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxTextCtrl" name="m_textCtrlTxIn">\r
<value></value>\r
<maxlength>0</maxlength>\r
<object class="sizeritem">\r
<option>0</option>\r
<flag>wxALL</flag>\r
- <border>5</border>\r
+ <border>1</border>\r
<object class="wxComboBox" name="m_cbSampleRateTxIn">\r
<style>wxCB_DROPDOWN</style>\r
<value></value>\r
<object class="sizeritem">\r
<option>1</option>\r
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
- <border>2</border>\r
+ <border>1</border>\r
<object class="wxTextCtrl" name="m_textCtrTxOut">\r
<value></value>\r
<maxlength>0</maxlength>\r
<object class="sizeritem">\r
<option>0</option>\r
<flag>wxALL</flag>\r
- <border>5</border>\r
+ <border>1</border>\r
<object class="wxComboBox" name="m_cbSampleRateTxOut">\r
<style>wxCB_DROPDOWN</style>\r
<value></value>\r
}\r
m_notebook1->SetSelection(0);\r
showAPIInfo();\r
- populateParams(m_listCtrlRxInDevices, AUDIO_IN);\r
- populateParams(m_listCtrlRxOutDevices, AUDIO_OUT);\r
- populateParams(m_listCtrlTxInDevices, AUDIO_IN);\r
- populateParams(m_listCtrlTxOutDevices, AUDIO_OUT);\r
+ m_RxInDevices.m_listDevices = m_listCtrlRxInDevices;\r
+ m_RxInDevices.direction = AUDIO_IN;\r
+ m_RxInDevices.m_textDevice = m_textCtrlRxIn;\r
+ m_RxInDevices.m_cbSampleRate = m_cbSampleRateRxIn;\r
+\r
+ m_RxOutDevices.m_listDevices = m_listCtrlRxOutDevices;\r
+ m_RxOutDevices.direction = AUDIO_OUT;\r
+ m_RxOutDevices.m_textDevice = m_textRxOut;\r
+ m_RxOutDevices.m_cbSampleRate = m_cbSampleRateRxOut;\r
+\r
+ m_TxInDevices.m_listDevices = m_listCtrlTxInDevices;\r
+ m_TxInDevices.direction = AUDIO_IN;\r
+ m_TxInDevices.m_textDevice = m_textCtrlTxIn;\r
+ m_TxInDevices.m_cbSampleRate = m_cbSampleRateTxIn;\r
+\r
+ m_TxOutDevices.m_listDevices = m_listCtrlTxOutDevices;\r
+ m_TxOutDevices.direction = AUDIO_OUT;\r
+ m_TxOutDevices.m_textDevice = m_textCtrTxOut;\r
+ m_TxOutDevices.m_cbSampleRate = m_cbSampleRateTxOut;\r
+\r
+ populateParams(m_RxInDevices);\r
+ populateParams(m_RxOutDevices);\r
+ populateParams(m_TxInDevices);\r
+ populateParams(m_TxOutDevices);\r
}\r
\r
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
{\r
m_notebook1->SetSelection(0);\r
showAPIInfo();\r
- populateParams(m_listCtrlRxInDevices, AUDIO_IN);\r
- populateParams(m_listCtrlRxOutDevices, AUDIO_OUT);\r
- populateParams(m_listCtrlTxInDevices, AUDIO_IN);\r
- populateParams(m_listCtrlTxOutDevices, AUDIO_OUT);\r
+ populateParams(m_RxInDevices);\r
+ populateParams(m_RxOutDevices);\r
+ populateParams(m_TxInDevices);\r
+ populateParams(m_TxOutDevices);\r
}\r
\r
//-------------------------------------------------------------------------\r
//-------------------------------------------------------------------------\r
// populateParams()\r
//-------------------------------------------------------------------------\r
-void MainFrame::populateParams(wxListCtrl* ctrl, int in_out)\r
+void MainFrame::populateParams(AudioInfoDisplay ai) //wxListCtrl* ctrl, int in_out)\r
{\r
- int numDevices = 0;\r
- int defaultDisplayed = false;\r
const PaDeviceInfo *deviceInfo = NULL;\r
+ int j = 0;\r
+ wxListCtrl* ctrl = ai.m_listDevices;\r
+ int in_out = ai.direction;\r
+ //wxTextCtrl* txtCtrl = ai.m_textDevice;\r
+ //wxComboBox* cb = ai.m_cbSampleRate;\r
+ long idx;\r
+ int defaultDisplayed;\r
+ int numDevices;\r
wxListItem listItem;\r
wxString buf;\r
- int j = 0;\r
+ int devn;\r
\r
numDevices = Pa_GetDeviceCount();\r
\r
\r
listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
listItem.SetText(wxT("Sel"));\r
- ctrl->InsertColumn(0, listItem);\r
- ctrl->SetColumnWidth(0, 45);\r
+ idx = ctrl->InsertColumn(0, listItem);\r
+ ctrl->SetColumnWidth(0, 37);\r
\r
listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
listItem.SetText(wxT("Dflt"));\r
- ctrl->InsertColumn(1, listItem);\r
- ctrl->SetColumnWidth(1, 45);\r
+ idx = ctrl->InsertColumn(1, listItem);\r
+ ctrl->SetColumnWidth(1, 37);\r
\r
listItem.SetAlign(wxLIST_FORMAT_LEFT);\r
listItem.SetText(wxT("Device"));\r
- ctrl->InsertColumn(2, listItem);\r
- ctrl->SetColumnWidth(2, 220);\r
+ idx = ctrl->InsertColumn(2, listItem);\r
+ ctrl->SetColumnWidth(2, 190);\r
\r
listItem.SetAlign(wxLIST_FORMAT_LEFT);\r
listItem.SetText(wxT("API"));\r
- ctrl->InsertColumn(3, listItem);\r
- ctrl->SetColumnWidth(3, 200);\r
+ idx = ctrl->InsertColumn(3, listItem);\r
+ ctrl->SetColumnWidth(3, 190);\r
\r
if(in_out == AUDIO_IN)\r
{\r
listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
listItem.SetText(wxT("# Inputs"));\r
- ctrl->InsertColumn(4, listItem);\r
- ctrl->SetColumnWidth(4, 85);\r
-\r
+ idx = ctrl->InsertColumn(4, listItem);\r
+ ctrl->SetColumnWidth(4, 75);\r
+ }\r
+ else if(in_out == AUDIO_OUT)\r
+ {\r
listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
- listItem.SetText(wxT("Min Latency"));\r
- ctrl->InsertColumn(5, listItem);\r
- ctrl->SetColumnWidth(5, 120);\r
+ listItem.SetText(wxT("# Outputs"));\r
+ idx = ctrl->InsertColumn(4, listItem);\r
+ ctrl->SetColumnWidth(4, 75);\r
+ }\r
\r
- listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
- listItem.SetText(wxT("Max Latency"));\r
- ctrl->InsertColumn(6, listItem);\r
- ctrl->SetColumnWidth(6, 120);\r
- for(int i = 0; i < numDevices; i++ )\r
+ listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
+ listItem.SetText(wxT("Min Latency"));\r
+ ctrl->InsertColumn(5, listItem);\r
+ ctrl->SetColumnWidth(5, 100);\r
+\r
+ listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
+ listItem.SetText(wxT("Max Latency"));\r
+ ctrl->InsertColumn(6, listItem);\r
+ ctrl->SetColumnWidth(6, 100);\r
+\r
+ for(devn = 0; devn < numDevices; devn++)\r
+ {\r
+ buf.Printf(wxT(""));\r
+ deviceInfo = Pa_GetDeviceInfo(devn);\r
+ if(in_out == AUDIO_IN)\r
{\r
- buf.Printf(wxT(""));\r
- deviceInfo = Pa_GetDeviceInfo(i);\r
if(deviceInfo->maxInputChannels > 0)\r
{\r
- ctrl->InsertItem(j, ICON_CHECK);\r
- defaultDisplayed = 0;\r
- if(i == Pa_GetDefaultInputDevice())\r
+ idx = ctrl->InsertItem(j, ICON_TRANSPARENT);\r
+ defaultDisplayed = false;\r
+ if(devn == Pa_GetDefaultInputDevice())\r
{\r
- // Default Output\r
- ctrl->SetItem(j, 1, buf, ICON_INARROW);\r
+ buf.Printf("->>");\r
+ ctrl->SetItem(idx, 1, buf);\r
defaultDisplayed = true;\r
}\r
- else if(i == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultInputDevice)\r
+ else if(devn == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultInputDevice)\r
{\r
- ctrl->SetItem(j, 1, buf, ICON_OUTARROW);\r
+ buf.Printf("-->");\r
+ ctrl->SetItem(idx, 1, buf);\r
defaultDisplayed = true;\r
}\r
- if(!defaultDisplayed)\r
+ else\r
{\r
- ctrl->SetItem(j, 1, buf, ICON_TRANSPARENT);\r
+ buf.Printf("---");\r
+ ctrl->SetItem(idx, 1, buf);\r
}\r
- ctrl->SetItemData(j, 1);\r
-\r
buf.Printf(wxT("%s"), deviceInfo->name);\r
- ctrl->SetItem(j, 2, buf);\r
+ ctrl->SetItem(idx, 2, buf);\r
\r
buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name);\r
- ctrl->SetItem(j, 3, buf);\r
+ ctrl->SetItem(idx, 3, buf);\r
\r
buf.Printf(wxT("%i"), deviceInfo->maxInputChannels);\r
- ctrl->SetItem(j, 4, buf);\r
+ ctrl->SetItem(idx, 4, buf);\r
\r
buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowInputLatency);\r
- ctrl->SetItem(j, 5, buf);\r
+ ctrl->SetItem(idx, 5, buf);\r
\r
buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighInputLatency);\r
- ctrl->SetItem(j, 6, buf);\r
- j++;\r
+ ctrl->SetItem(idx, 6, buf);\r
}\r
}\r
- }\r
- else if(in_out == AUDIO_OUT)\r
- {\r
- listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
- listItem.SetText(wxT("# Outputs"));\r
- ctrl->InsertColumn(4, listItem);\r
- ctrl->SetColumnWidth(4, 85);\r
-\r
- listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
- listItem.SetText(wxT("Min Latency"));\r
- ctrl->InsertColumn(5, listItem);\r
- ctrl->SetColumnWidth(5, 120);\r
-\r
- listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
- listItem.SetText(wxT("Max Latency"));\r
- ctrl->InsertColumn(6, listItem);\r
- ctrl->SetColumnWidth(6, 120);\r
- for(int i = 0; i < numDevices; i++)\r
+ else if(in_out == AUDIO_OUT)\r
{\r
- buf.Printf(wxT(""));\r
- deviceInfo = Pa_GetDeviceInfo(i);\r
- defaultDisplayed = 0;\r
if(deviceInfo->maxOutputChannels > 0)\r
{\r
- ctrl->InsertItem(j, ICON_CHECK);\r
- if(i == Pa_GetDefaultOutputDevice())\r
+ idx = ctrl->InsertItem(j, ICON_TRANSPARENT);\r
+ defaultDisplayed = false;\r
+ if(devn == Pa_GetDefaultOutputDevice())\r
{\r
- // Default Output\r
- ctrl->SetItem(j, 1, buf, ICON_OUTARROW);\r
+ buf.Printf("<<-");\r
+ ctrl->SetItem(idx, 1, buf);\r
defaultDisplayed = true;\r
}\r
- else if(i == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultOutputDevice)\r
+ else if(devn == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultOutputDevice)\r
{\r
- ctrl->SetItem(j, 1, buf, ICON_OUTARROW);\r
+ buf.Printf("<--");\r
+ ctrl->SetItem(idx, 1, buf);\r
defaultDisplayed = true;\r
}\r
-\r
- if(!defaultDisplayed)\r
+ else\r
{\r
- ctrl->SetItem(j, 1, buf, ICON_TRANSPARENT);\r
+ buf.Printf("---");\r
+ ctrl->SetItem(idx, 1, buf);\r
}\r
- ctrl->SetItemData(j, 1);\r
-\r
buf.Printf(wxT("%s"), deviceInfo->name);\r
- ctrl->SetItem(j, 2, buf);\r
+ ctrl->SetItem(idx, 2, buf);\r
\r
buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name);\r
- ctrl->SetItem(j, 3, buf);\r
+ ctrl->SetItem(idx, 3, buf);\r
\r
buf.Printf(wxT("%i"), deviceInfo->maxOutputChannels);\r
- ctrl->SetItem(j, 4, buf);\r
+ ctrl->SetItem(idx, 4, buf);\r
\r
buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowOutputLatency);\r
- ctrl->SetItem(j, 5, buf);\r
+ ctrl->SetItem(idx, 5, buf);\r
\r
buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighOutputLatency);\r
- ctrl->SetItem(j, 6, buf);\r
- j++;\r
+ ctrl->SetItem(idx, 6, buf);\r
}\r
}\r
- }\r
- else\r
- {\r
- // Dun, do what?\r
+ j++;\r
}\r
}\r
\r
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
// application class declaration
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
-
class MainApp : public wxApp
{
public:
virtual bool OnInit();
};
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// AudioInfoDisplay
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+class AudioInfoDisplay
+{\r
+ public:\r
+ wxListCtrl* m_listDevices;\r
+ int direction;\r
+ wxTextCtrl* m_textDevice;\r
+ wxComboBox* m_cbSampleRate;\r
+};
+\r
// declare global static function wxGetApp()
DECLARE_APP(MainApp)
void OnExitClick( wxCommandEvent& event );
void OnRefreshClick( wxCommandEvent& event );\r
void DisplaySupportedSampleRates(const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters);\r
- void populateParams(wxListCtrl* ctrl, int in_out);
+ void populateParams(AudioInfoDisplay);
void showAPIInfo();\r
+ AudioInfoDisplay m_RxInDevices;\r
+ AudioInfoDisplay m_RxOutDevices;\r
+ AudioInfoDisplay m_TxInDevices;\r
+ AudioInfoDisplay m_TxOutDevices;\r
};
-
#endif //__main__
## Auto Generated makefile by CodeLite IDE\r
## any manual changes will be erased \r
##\r
-## Debug\r
+## Release\r
ProjectName :=pa_enum\r
-ConfigurationName :=Debug\r
-IntermediateDirectory :=./Debug\r
+ConfigurationName :=Release\r
+IntermediateDirectory :=./Release\r
OutDir := $(IntermediateDirectory)\r
WorkspacePath := "C:\Users\wittend\Projects\Radio\fdmdv2"\r
ProjectPath := "C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum"\r
CurrentFilePath :=\r
CurrentFileFullPath :=\r
User :=wittend\r
-Date :=6/26/2012\r
+Date :=8/14/2012\r
CodeLitePath :="C:\Program Files\CodeLite"\r
LinkerName :=g++\r
ArchiveTool :=ar rcus\r
ObjectsFileList :="C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum\pa_enum.txt"\r
PCHCompileFlags :=\r
MakeDirCommand :=makedir\r
-CmpOptions := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) $(Preprocessors)\r
-C_CmpOptions := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) $(Preprocessors)\r
-LinkOptions := -mwindows $(shell wx-config --debug=yes --libs --unicode=yes)\r
+CmpOptions := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) $(Preprocessors)\r
+C_CmpOptions := -O2 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=no) $(Preprocessors)\r
+LinkOptions := -mwindows -s $(shell wx-config --debug=no --libs --unicode=yes)\r
IncludePath := $(IncludeSwitch). $(IncludeSwitch)/bin/MinGW/msys/1.0/local/include \r
IncludePCH := \r
RcIncludePath := \r
$(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)\r
\r
$(IntermediateDirectory)/.d:\r
- @$(MakeDirCommand) "./Debug"\r
+ @$(MakeDirCommand) "./Release"\r
\r
PreBuild:\r
\r
$(RM) $(IntermediateDirectory)/main$(PreprocessSuffix)\r
$(RM) $(OutputFile)\r
$(RM) $(OutputFile).exe\r
- $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-debug\pa_enum"\r
+ $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\pa_enum"\r
\r
\r
<VirtualDirectory Name="resources">
<File Name="gui.fbp"/>
</VirtualDirectory>
+ <Dependencies Name="Debug"/>
+ <Dependencies Name="Release"/>
<Settings Type="Executable">
<GlobalSettings>
<Compiler Options="" C_Options="">
<ResourceCompiler Options=""/>
</GlobalSettings>
<Configuration Name="Debug" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
- <Compiler Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" C_Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+ <Compiler Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" C_Options="-g;-O0;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=yes)" Required="yes" PreCompiledHeader="C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum\main.h" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
<IncludePath Value="/bin/MinGW/msys/1.0/local/include"/>
<Preprocessor Value="__WX__"/>
</Compiler>
<Library Value="libportaudiocpp.a"/>
</Linker>
<ResourceCompiler Options="$(shell wx-config --rcflags)" Required="no"/>
- <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="no"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
-./Debug/gui.o ./Debug/main.o \r
+./Release/gui.o ./Release/main.o \r