--- /dev/null
+///////////////////////////////////////////////////////////////////////////\r
+// C++ code generated with wxFormBuilder (version Mar 17 2012)\r
+// http://www.wxformbuilder.org/\r
+//\r
+// PLEASE DO "NOT" EDIT THIS FILE!\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+#include "gui.h"\r
+\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )\r
+{\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(' ') + 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
+ m_audioInfo = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
+ m_audioInfo->SetMinSize( wxSize( 65,65 ) );\r
+\r
+ wxBoxSizer* bSizer17;\r
+ bSizer17 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ wxBoxSizer* bSizer151;\r
+ bSizer151 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ wxStaticBoxSizer* sbSizerLeft;\r
+ sbSizerLeft = new wxStaticBoxSizer( new wxStaticBox( m_audioInfo, wxID_ANY, _("label") ), wxVERTICAL );\r
+\r
+ m_listBoxTopLeft = new wxListBox( m_audioInfo, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );\r
+ sbSizerLeft->Add( m_listBoxTopLeft, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 3 );\r
+\r
+\r
+ bSizer151->Add( sbSizerLeft, 1, wxEXPAND, 1 );\r
+\r
+ wxStaticBoxSizer* sbSizerRight;\r
+ sbSizerRight = new wxStaticBoxSizer( new wxStaticBox( m_audioInfo, wxID_ANY, _("label") ), wxVERTICAL );\r
+\r
+ m_textTopRight = new wxTextCtrl( m_audioInfo, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_DONTWRAP|wxTE_MULTILINE );\r
+ m_textTopRight->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVEBORDER ) );\r
+\r
+ sbSizerRight->Add( m_textTopRight, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 3 );\r
+\r
+\r
+ bSizer151->Add( sbSizerRight, 1, wxEXPAND, 1 );\r
+\r
+\r
+ bSizer17->Add( bSizer151, 1, wxEXPAND, 5 );\r
+\r
+ wxBoxSizer* bSizer15;\r
+ bSizer15 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ wxBoxSizer* bSizer9;\r
+ bSizer9 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ m_listBoxMidLeft = new wxListBox( m_audioInfo, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );\r
+ bSizer9->Add( m_listBoxMidLeft, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );\r
+\r
+\r
+ bSizer15->Add( bSizer9, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 1 );\r
+\r
+ wxBoxSizer* bSizer18;\r
+ bSizer18 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ m_listBoxMidRight = new wxListBox( m_audioInfo, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );\r
+ bSizer18->Add( m_listBoxMidRight, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );\r
+\r
+\r
+ bSizer15->Add( bSizer18, 1, wxEXPAND, 5 );\r
+\r
+\r
+ bSizer17->Add( bSizer15, 1, wxEXPAND, 1 );\r
+\r
+ wxBoxSizer* bSizer91;\r
+ bSizer91 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ wxBoxSizer* bSizer71;\r
+ bSizer71 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ m_listBoxBottomLeft = new wxListBox( m_audioInfo, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );\r
+ bSizer71->Add( m_listBoxBottomLeft, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );\r
+\r
+\r
+ bSizer91->Add( bSizer71, 1, wxEXPAND, 5 );\r
+\r
+ wxBoxSizer* bSizer31;\r
+ bSizer31 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ bSizer31->SetMinSize( wxSize( 65,65 ) );\r
+ m_listBoxBottomRight = new wxListBox( m_audioInfo, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );\r
+ bSizer31->Add( m_listBoxBottomRight, 1, wxALIGN_CENTER|wxALL|wxEXPAND, 5 );\r
+\r
+\r
+ bSizer91->Add( bSizer31, 1, wxEXPAND, 5 );\r
+\r
+\r
+ bSizer17->Add( bSizer91, 1, wxEXPAND, 1 );\r
+\r
+ wxBoxSizer* bSizer14;\r
+ bSizer14 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ wxBoxSizer* bSizer13;\r
+ bSizer13 = new wxBoxSizer( wxHORIZONTAL );\r
+\r
+ wxBoxSizer* bSizer12;\r
+ bSizer12 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ m_btnLeft = new wxButton( m_audioInfo, wxID_ANY, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ bSizer12->Add( m_btnLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 1 );\r
+\r
+\r
+ bSizer13->Add( bSizer12, 1, 0, 1 );\r
+\r
+ wxBoxSizer* bSizer11;\r
+ bSizer11 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ m_btnRight = new wxButton( m_audioInfo, wxID_ANY, _("On / Off"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ bSizer11->Add( m_btnRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 1 );\r
+\r
+\r
+ bSizer13->Add( bSizer11, 1, 0, 1 );\r
+\r
+\r
+ bSizer14->Add( bSizer13, 1, wxALIGN_BOTTOM|wxALIGN_RIGHT, 1 );\r
+\r
+\r
+ bSizer17->Add( bSizer14, 0, wxEXPAND, 5 );\r
+\r
+ wxBoxSizer* bSizer16;\r
+ bSizer16 = new wxBoxSizer( wxVERTICAL );\r
+\r
+ m_button1 = new wxButton( m_audioInfo, wxID_ANY, _("Exit"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_button1->SetDefault();\r
+ bSizer16->Add( m_button1, 0, 0, 1 );\r
+\r
+\r
+ bSizer17->Add( bSizer16, 0, wxALIGN_BOTTOM|wxALIGN_RIGHT, 1 );\r
+\r
+\r
+ m_audioInfo->SetSizer( bSizer17 );\r
+ m_audioInfo->Layout();\r
+ bSizer17->Fit( m_audioInfo );\r
+ mainSizer->Add( m_audioInfo, 1, wxALIGN_CENTER|wxEXPAND, 1 );\r
+\r
+\r
+ this->SetSizer( mainSizer );\r
+ this->Layout();\r
+ m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );\r
+\r
+ this->Centre( wxBOTH );\r
+\r
+ // Connect Events\r
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\r
+ this->Connect( menuFileExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) );\r
+ m_listBoxTopLeft->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxTopLeftBox ), NULL, this );\r
+ m_listBoxTopLeft->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxTopLeftDClick ), NULL, this );\r
+ m_listBoxMidLeft->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListMidLeftBoxClick ), NULL, this );\r
+ m_listBoxMidLeft->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListMidLeftBoxDClick ), NULL, this );\r
+ m_listBoxMidRight->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListMidRightBoxClick ), NULL, this );\r
+ m_listBoxMidRight->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListMidRightBoxDClick ), NULL, this );\r
+ m_listBoxBottomLeft->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomLeftClick ), NULL, this );\r
+ m_listBoxBottomLeft->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomLeftDClick ), NULL, this );\r
+ m_listBoxBottomRight->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomRIghtClick ), NULL, this );\r
+ m_listBoxBottomRight->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomRIghtDClick ), NULL, this );\r
+ m_btnLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnBtnLeft ), NULL, this );\r
+ m_btnRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnBtnRight ), NULL, this );\r
+ m_button1->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnExitClick ), NULL, this );\r
+}\r
+\r
+MainFrameBase::~MainFrameBase()\r
+{\r
+ // Disconnect Events\r
+ this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\r
+ this->Disconnect( wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) );\r
+ m_listBoxTopLeft->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxTopLeftBox ), NULL, this );\r
+ m_listBoxTopLeft->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxTopLeftDClick ), NULL, this );\r
+ m_listBoxMidLeft->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListMidLeftBoxClick ), NULL, this );\r
+ m_listBoxMidLeft->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListMidLeftBoxDClick ), NULL, this );\r
+ m_listBoxMidRight->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListMidRightBoxClick ), NULL, this );\r
+ m_listBoxMidRight->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListMidRightBoxDClick ), NULL, this );\r
+ m_listBoxBottomLeft->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomLeftClick ), NULL, this );\r
+ m_listBoxBottomLeft->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomLeftDClick ), NULL, this );\r
+ m_listBoxBottomRight->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomRIghtClick ), NULL, this );\r
+ m_listBoxBottomRight->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainFrameBase::OnListBoxBottomRIghtDClick ), NULL, this );\r
+ m_btnLeft->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnBtnLeft ), NULL, this );\r
+ m_btnRight->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnBtnRight ), NULL, this );\r
+ m_button1->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnExitClick ), NULL, this );\r
+\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\r
+<wxFormBuilder_Project>\r
+ <FileVersion major="1" minor="11" />\r
+ <object class="Project" expanded="1">\r
+ <property name="class_decoration"></property>\r
+ <property name="code_generation">C++|Python|XRC</property>\r
+ <property name="disconnect_events">1</property>\r
+ <property name="disconnect_mode">source_name</property>\r
+ <property name="disconnect_php_events">0</property>\r
+ <property name="disconnect_python_events">0</property>\r
+ <property name="embedded_files_path">res</property>\r
+ <property name="encoding">UTF-8</property>\r
+ <property name="event_generation">connect</property>\r
+ <property name="file">gui</property>\r
+ <property name="first_id">1000</property>\r
+ <property name="help_provider">none</property>\r
+ <property name="internationalize">1</property>\r
+ <property name="name">gui</property>\r
+ <property name="namespace"></property>\r
+ <property name="path">.</property>\r
+ <property name="precompiled_header"></property>\r
+ <property name="relative_path">1</property>\r
+ <property name="skip_php_events">1</property>\r
+ <property name="skip_python_events">1</property>\r
+ <property name="use_enum">0</property>\r
+ <property name="use_microsoft_bom">0</property>\r
+ <object class="Frame" 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_managed">0</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">wxBOTH</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="event_handler">impl_virtual</property>\r
+ <property name="extra_style"></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="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">MainFrameBase</property>\r
+ <property name="pane_border">1</property>\r
+ <property name="pane_position"></property>\r
+ <property name="pane_size"></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">651,445</property>\r
+ <property name="style">wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER</property>\r
+ <property name="subclass"></property>\r
+ <property name="title">Test PortAudio CPP Binding </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">wxTAB_TRAVERSAL</property>\r
+ <property name="xrc_skip_sizer">1</property>\r
+ <event name="OnActivate"></event>\r
+ <event name="OnActivateApp"></event>\r
+ <event name="OnAuiFindManager"></event>\r
+ <event name="OnAuiPaneButton"></event>\r
+ <event name="OnAuiPaneClose"></event>\r
+ <event name="OnAuiPaneMaximize"></event>\r
+ <event name="OnAuiPaneRestore"></event>\r
+ <event name="OnAuiRender"></event>\r
+ <event name="OnChar"></event>\r
+ <event name="OnClose">OnCloseFrame</event>\r
+ <event name="OnEnterWindow"></event>\r
+ <event name="OnEraseBackground"></event>\r
+ <event name="OnHibernate"></event>\r
+ <event name="OnIconize"></event>\r
+ <event name="OnIdle"></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="wxMenuBar" expanded="0">\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="0">\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="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxPanel" 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="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">65,65</property>\r
+ <property name="moveable">1</property>\r
+ <property name="name">m_audioInfo</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="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">wxTAB_TRAVERSAL</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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer17</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer151</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">label</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizerLeft</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">3</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListBox" 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="choices"></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="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_listBoxTopLeft</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="OnListBox">OnListBoxTopLeftBox</event>\r
+ <event name="OnListBoxDClick">OnListBoxTopLeftDClick</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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">label</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizerRight</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">3</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxTextCtrl" 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">wxSYS_COLOUR_INACTIVEBORDER</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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textTopRight</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">wxHSCROLL|wxTE_DONTWRAP|wxTE_MULTILINE</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer15</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer9</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListBox" 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="choices"></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="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_listBoxMidLeft</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="OnListBox">OnListMidLeftBoxClick</event>\r
+ <event name="OnListBoxDClick">OnListMidLeftBoxDClick</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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer18</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListBox" 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="choices"></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="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_listBoxMidRight</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="OnListBox">OnListMidRightBoxClick</event>\r
+ <event name="OnListBoxDClick">OnListMidRightBoxDClick</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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer91</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer71</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListBox" 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="choices"></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="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_listBoxBottomLeft</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="OnListBox">OnListBoxBottomLeftClick</event>\r
+ <event name="OnListBoxDClick">OnListBoxBottomLeftDClick</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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size">65,65</property>\r
+ <property name="name">bSizer31</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListBox" 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="choices"></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="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_listBoxBottomRight</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="OnListBox">OnListBoxBottomRIghtClick</event>\r
+ <event name="OnListBoxDClick">OnListBoxBottomRIghtDClick</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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer14</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_BOTTOM|wxALIGN_RIGHT</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer13</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag"></property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer12</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxButton" 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">0</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">Ok</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_btnLeft</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="OnButtonClick">OnBtnLeft</event>\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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag"></property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer11</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxButton" 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">0</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">On / Off</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_btnRight</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="OnButtonClick">OnBtnRight</event>\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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_BOTTOM|wxALIGN_RIGHT</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer16</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag"></property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxButton" expanded="0">\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">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">Exit</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_button1</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="OnButtonClick">OnExitClick</event>\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>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="wxStatusBar" 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="fields">1</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="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_statusBar</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">wxST_SIZEGRIP</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>\r
+ </object>\r
+ </object>\r
+</wxFormBuilder_Project>\r
--- /dev/null
+///////////////////////////////////////////////////////////////////////////\r
+// C++ code generated with wxFormBuilder (version Mar 17 2012)\r
+// http://www.wxformbuilder.org/\r
+//\r
+// PLEASE DO "NOT" EDIT THIS FILE!\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+#ifndef __GUI_H__\r
+#define __GUI_H__\r
+\r
+#include <wx/artprov.h>\r
+#include <wx/xrc/xmlres.h>\r
+#include <wx/intl.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/listbox.h>\r
+#include <wx/sizer.h>\r
+#include <wx/statbox.h>\r
+#include <wx/textctrl.h>\r
+#include <wx/button.h>\r
+#include <wx/panel.h>\r
+#include <wx/statusbr.h>\r
+#include <wx/frame.h>\r
+\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+/// Class MainFrameBase\r
+///////////////////////////////////////////////////////////////////////////////\r
+class MainFrameBase : public wxFrame\r
+{\r
+ private:\r
+\r
+ protected:\r
+ wxMenuBar* m_menuBar;\r
+ wxMenu* m_menuFile;\r
+ wxPanel* m_audioInfo;\r
+ wxListBox* m_listBoxTopLeft;\r
+ wxTextCtrl* m_textTopRight;\r
+ wxListBox* m_listBoxMidLeft;\r
+ wxListBox* m_listBoxMidRight;\r
+ wxListBox* m_listBoxBottomLeft;\r
+ wxListBox* m_listBoxBottomRight;\r
+ wxButton* m_btnLeft;\r
+ wxButton* m_btnRight;\r
+ wxButton* m_button1;\r
+ wxStatusBar* m_statusBar;\r
+\r
+ // Virtual event handlers, overide them in your derived class\r
+ virtual void OnCloseFrame( wxCloseEvent& event ) { event.Skip(); }\r
+ virtual void OnExitClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxTopLeftBox( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxTopLeftDClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListMidLeftBoxClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListMidLeftBoxDClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListMidRightBoxClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListMidRightBoxDClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxBottomLeftClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxBottomLeftDClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxBottomRIghtClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnListBoxBottomRIghtDClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnBtnLeft( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnBtnRight( wxCommandEvent& event ) { event.Skip(); }\r
+\r
+\r
+ public:\r
+\r
+ MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Test PortAudio CPP Binding "), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 651,445 ), long style = wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
+\r
+ ~MainFrameBase();\r
+\r
+};\r
+\r
+#endif //__GUI_H__\r
--- /dev/null
+# -*- coding: utf-8 -*- \r
+\r
+###########################################################################\r
+## Python code generated with wxFormBuilder (version Mar 17 2012)\r
+## http://www.wxformbuilder.org/\r
+##\r
+## PLEASE DO "NOT" EDIT THIS FILE!\r
+###########################################################################\r
+\r
+import wx\r
+import wx.xrc\r
+\r
+import gettext\r
+_ = gettext.gettext\r
+\r
+###########################################################################\r
+## Class MainFrameBase\r
+###########################################################################\r
+\r
+class MainFrameBase ( wx.Frame ):\r
+ \r
+ def __init__( self, parent ):\r
+ wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"Test PortAudio CPP Binding "), pos = wx.DefaultPosition, size = wx.Size( 651,445 ), style = 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_audioInfo = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
+ self.m_audioInfo.SetMinSize( wx.Size( 65,65 ) )\r
+ \r
+ bSizer17 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ bSizer151 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ sbSizerLeft = wx.StaticBoxSizer( wx.StaticBox( self.m_audioInfo, wx.ID_ANY, _(u"label") ), wx.VERTICAL )\r
+ \r
+ m_listBoxTopLeftChoices = []\r
+ self.m_listBoxTopLeft = wx.ListBox( self.m_audioInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBoxTopLeftChoices, 0 )\r
+ sbSizerLeft.Add( self.m_listBoxTopLeft, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 3 )\r
+ \r
+ \r
+ bSizer151.Add( sbSizerLeft, 1, wx.EXPAND, 1 )\r
+ \r
+ sbSizerRight = wx.StaticBoxSizer( wx.StaticBox( self.m_audioInfo, wx.ID_ANY, _(u"label") ), wx.VERTICAL )\r
+ \r
+ self.m_textTopRight = wx.TextCtrl( self.m_audioInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.TE_DONTWRAP|wx.TE_MULTILINE )\r
+ self.m_textTopRight.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INACTIVEBORDER ) )\r
+ \r
+ sbSizerRight.Add( self.m_textTopRight, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 3 )\r
+ \r
+ \r
+ bSizer151.Add( sbSizerRight, 1, wx.EXPAND, 1 )\r
+ \r
+ \r
+ bSizer17.Add( bSizer151, 1, wx.EXPAND, 5 )\r
+ \r
+ bSizer15 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ bSizer9 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ m_listBoxMidLeftChoices = []\r
+ self.m_listBoxMidLeft = wx.ListBox( self.m_audioInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBoxMidLeftChoices, 0 )\r
+ bSizer9.Add( self.m_listBoxMidLeft, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer15.Add( bSizer9, 1, wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 1 )\r
+ \r
+ bSizer18 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ m_listBoxMidRightChoices = []\r
+ self.m_listBoxMidRight = wx.ListBox( self.m_audioInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBoxMidRightChoices, 0 )\r
+ bSizer18.Add( self.m_listBoxMidRight, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer15.Add( bSizer18, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer17.Add( bSizer15, 1, wx.EXPAND, 1 )\r
+ \r
+ bSizer91 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ bSizer71 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ m_listBoxBottomLeftChoices = []\r
+ self.m_listBoxBottomLeft = wx.ListBox( self.m_audioInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBoxBottomLeftChoices, 0 )\r
+ bSizer71.Add( self.m_listBoxBottomLeft, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer91.Add( bSizer71, 1, wx.EXPAND, 5 )\r
+ \r
+ bSizer31 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ bSizer31.SetMinSize( wx.Size( 65,65 ) ) \r
+ m_listBoxBottomRightChoices = []\r
+ self.m_listBoxBottomRight = wx.ListBox( self.m_audioInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBoxBottomRightChoices, 0 )\r
+ bSizer31.Add( self.m_listBoxBottomRight, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer91.Add( bSizer31, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer17.Add( bSizer91, 1, wx.EXPAND, 1 )\r
+ \r
+ bSizer14 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ bSizer13 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ bSizer12 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_btnLeft = wx.Button( self.m_audioInfo, wx.ID_ANY, _(u"Ok"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ bSizer12.Add( self.m_btnLeft, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 1 )\r
+ \r
+ \r
+ bSizer13.Add( bSizer12, 1, 0, 1 )\r
+ \r
+ bSizer11 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_btnRight = wx.Button( self.m_audioInfo, wx.ID_ANY, _(u"On / Off"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ bSizer11.Add( self.m_btnRight, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT|wx.ALL, 1 )\r
+ \r
+ \r
+ bSizer13.Add( bSizer11, 1, 0, 1 )\r
+ \r
+ \r
+ bSizer14.Add( bSizer13, 1, wx.ALIGN_BOTTOM|wx.ALIGN_RIGHT, 1 )\r
+ \r
+ \r
+ bSizer17.Add( bSizer14, 0, wx.EXPAND, 5 )\r
+ \r
+ bSizer16 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_button1 = wx.Button( self.m_audioInfo, wx.ID_ANY, _(u"Exit"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_button1.SetDefault() \r
+ bSizer16.Add( self.m_button1, 0, 0, 1 )\r
+ \r
+ \r
+ bSizer17.Add( bSizer16, 0, wx.ALIGN_BOTTOM|wx.ALIGN_RIGHT, 1 )\r
+ \r
+ \r
+ self.m_audioInfo.SetSizer( bSizer17 )\r
+ self.m_audioInfo.Layout()\r
+ bSizer17.Fit( self.m_audioInfo )\r
+ mainSizer.Add( self.m_audioInfo, 1, wx.ALIGN_CENTER|wx.EXPAND, 1 )\r
+ \r
+ \r
+ self.SetSizer( mainSizer )\r
+ self.Layout()\r
+ self.m_statusBar = self.CreateStatusBar( 1, wx.ST_SIZEGRIP, wx.ID_ANY )\r
+ \r
+ self.Centre( wx.BOTH )\r
+ \r
+ # Connect Events\r
+ self.Bind( wx.EVT_CLOSE, self.OnCloseFrame )\r
+ self.Bind( wx.EVT_MENU, self.OnExitClick, id = self.menuFileExit.GetId() )\r
+ self.m_listBoxTopLeft.Bind( wx.EVT_LISTBOX, self.OnListBoxTopLeftBox )\r
+ self.m_listBoxTopLeft.Bind( wx.EVT_LISTBOX_DCLICK, self.OnListBoxTopLeftDClick )\r
+ self.m_listBoxMidLeft.Bind( wx.EVT_LISTBOX, self.OnListMidLeftBoxClick )\r
+ self.m_listBoxMidLeft.Bind( wx.EVT_LISTBOX_DCLICK, self.OnListMidLeftBoxDClick )\r
+ self.m_listBoxMidRight.Bind( wx.EVT_LISTBOX, self.OnListMidRightBoxClick )\r
+ self.m_listBoxMidRight.Bind( wx.EVT_LISTBOX_DCLICK, self.OnListMidRightBoxDClick )\r
+ self.m_listBoxBottomLeft.Bind( wx.EVT_LISTBOX, self.OnListBoxBottomLeftClick )\r
+ self.m_listBoxBottomLeft.Bind( wx.EVT_LISTBOX_DCLICK, self.OnListBoxBottomLeftDClick )\r
+ self.m_listBoxBottomRight.Bind( wx.EVT_LISTBOX, self.OnListBoxBottomRIghtClick )\r
+ self.m_listBoxBottomRight.Bind( wx.EVT_LISTBOX_DCLICK, self.OnListBoxBottomRIghtDClick )\r
+ self.m_btnLeft.Bind( wx.EVT_BUTTON, self.OnBtnLeft )\r
+ self.m_btnRight.Bind( wx.EVT_BUTTON, self.OnBtnRight )\r
+ self.m_button1.Bind( wx.EVT_BUTTON, self.OnExitClick )\r
+ \r
+ def __del__( self ):\r
+ pass\r
+ \r
+ \r
+ # Virtual event handlers, overide them in your derived class\r
+ def OnCloseFrame( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnExitClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxTopLeftBox( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxTopLeftDClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListMidLeftBoxClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListMidLeftBoxDClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListMidRightBoxClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListMidRightBoxDClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxBottomLeftClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxBottomLeftDClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxBottomRIghtClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnListBoxBottomRIghtDClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnBtnLeft( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnBtnRight( self, event ):\r
+ event.Skip()\r
+ \r
+ \r
+\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\r
+<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">\r
+ <object class="wxFrame" name="MainFrameBase">\r
+ <style>wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL</style>\r
+ <size>651,445</size>\r
+ <title>Test PortAudio CPP Binding </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="wxPanel" name="m_audioInfo">\r
+ <style>wxTAB_TRAVERSAL</style>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>label</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>3</border>\r
+ <object class="wxListBox" name="m_listBoxTopLeft">\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>label</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>3</border>\r
+ <object class="wxTextCtrl" name="m_textTopRight">\r
+ <style>wxHSCROLL|wxTE_DONTWRAP|wxTE_MULTILINE</style>\r
+ <bg>#f4f7fc</bg>\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxListBox" name="m_listBoxMidLeft">\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxListBox" name="m_listBoxMidRight">\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxListBox" name="m_listBoxBottomLeft">\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <minsize>65,65</minsize>\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER|wxALL|wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxListBox" name="m_listBoxBottomRight">\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_BOTTOM|wxALIGN_RIGHT</flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag></flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxButton" name="m_btnLeft">\r
+ <label>Ok</label>\r
+ <default>0</default>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag></flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxButton" name="m_btnRight">\r
+ <label>On / Off</label>\r
+ <default>0</default>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_BOTTOM|wxALIGN_RIGHT</flag>\r
+ <border>1</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag></flag>\r
+ <border>1</border>\r
+ <object class="wxButton" name="m_button1">\r
+ <label>Exit</label>\r
+ <default>1</default>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="wxStatusBar" name="m_statusBar">\r
+ <style>wxST_SIZEGRIP</style>\r
+ <fields>1</fields>\r
+ </object>\r
+ </object>\r
+</resource>\r
--- /dev/null
+/*********************************************************************\r
+ * Name: main.cpp\r
+ * Purpose: Implements simple wxWidgets application with GUI\r
+ * created using wxFormBuilder.\r
+ * Author:\r
+ * Created:\r
+ * Copyright:\r
+ * License: wxWidgets license (www.wxwidgets.org)\r
+ *\r
+ * Notes: Note that all GUI creation code is implemented in\r
+ * gui.cpp source file which is generated by wxFormBuilder.\r
+ *********************************************************************/\r
+\r
+#include "main.h"\r
+\r
+// initialize the application\r
+IMPLEMENT_APP(MainApp);\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+// application class implementation\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+bool MainApp::OnInit()\r
+{\r
+ SetTopWindow(new MainFrame(NULL));\r
+ GetTopWindow()->Show();\r
+\r
+ // true = enter the main loop\r
+ return true;\r
+}\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+// main application frame implementation\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+MainFrame::MainFrame(wxWindow *parent) : MainFrameBase(parent)\r
+{\r
+}\r
+\r
+MainFrame::~MainFrame()\r
+{\r
+}\r
+\r
+void MainFrame::OnCloseFrame(wxCloseEvent& event)\r
+{\r
+ Destroy();\r
+}\r
+\r
+void MainFrame::OnExitClick(wxCommandEvent& event)\r
+{\r
+ Destroy();\r
+}\r
+\r
+void MainFrame::OnComboLeft( wxCommandEvent& event )\r
+{\r
+ event.Skip();\r
+}\r
+\r
+void MainFrame::OnComboRight( wxCommandEvent& event )\r
+{\r
+ event.Skip();\r
+}\r
+\r
+void MainFrame::OnScroll( wxScrollEvent& event )\r
+{\r
+ event.Skip();\r
+}\r
+\r
+void MainFrame::OnBtnLeft( wxCommandEvent& event )\r
+{\r
+ populateAudioInfo();\r
+ event.Skip();\r
+}\r
+\r
+void MainFrame::OnBtnRight( wxCommandEvent& event )\r
+{\r
+ event.Skip();\r
+}\r
+\r
+void MainFrame::populateStandardSampleRates(\r
+ wxListBox* target,
+ const portaudio::DirectionSpecificStreamParameters &inputParameters,
+ const portaudio::DirectionSpecificStreamParameters &outputParameters)
+{
+ static double STANDARD_SAMPLE_RATES[] = {
+ 8000.0,
+ 9600.0,
+ 11025.0,
+ 12000.0,
+ 16000.0,
+ 22050.0,
+ 24000.0,
+ 32000.0,
+ 44100.0,
+ 48000.0,
+ 88200.0,
+ 96000.0,
+ 192000.0,
+ -1
+ }; // negative terminated list
+
+ int printCount = 0;
+ wxString tStr;\r
+
+ for (int i = 0; STANDARD_SAMPLE_RATES[i] > 0; ++i)
+ {
+ portaudio::StreamParameters tmp = portaudio::StreamParameters(inputParameters, outputParameters, STANDARD_SAMPLE_RATES[i], 0, paNoFlag);
+ if (tmp.isSupported())
+ {
+ tStr.Printf("%8.2f", STANDARD_SAMPLE_RATES[i]);\r
+ if (printCount == 0)
+ {
+ target->InsertItems(1, &tStr, 0);
+ printCount = 1;
+ }
+ else if (printCount == 4)
+ {
+ target->InsertItems(1, &tStr, 0);
+ printCount = 1;
+ }
+ else
+ {
+ target->InsertItems(1, &tStr, 0);
+ ++printCount;
+ }
+ }
+ }
+ if (printCount == 0)
+ {
+ //std::cout << "None" << std::endl;\r
+ tStr = "None\n";
+ target->InsertItems(1, &tStr, 0);
+ }
+\r
+/*\r
+ else
+ {
+ std::cout << std::endl;
+ }\r
+*/\r
+}
+
+int MainFrame::populateAudioInfo()
+{
+ wxString tStr;\r
+ wxString ttStr;\r
+ try
+ {
+ portaudio::AutoSystem autoSys;
+ portaudio::System &sys = portaudio::System::instance();
+
+ tStr.Printf("PortAudio version number: %i\n", sys.version());
+ m_textTopRight->AppendText(tStr);\r
+
+ tStr.Printf("PortAudio version number: %s\n", sys.versionText());
+ m_textTopRight->AppendText(tStr);
+\r
+ int numDevices = sys.deviceCount();
+ tStr.Printf("Number of devices: %i\n\n", numDevices);
+ m_textTopRight->AppendText(tStr);
+
+ for (portaudio::System::DeviceIterator i = sys.devicesBegin(); i != sys.devicesEnd(); ++i)
+ {
+ tStr.Printf("---------- device #: %i ----------\n", (*i).index());
+ m_textTopRight->AppendText(tStr);
+
+ bool defaultDisplayed = false;
+
+ if ((*i).isSystemDefaultInputDevice())
+ {
+ tStr.Printf("[ System Default Input %s", (*i).hostApi().name());
+ m_textTopRight->AppendText(tStr);
+ defaultDisplayed = true;
+ }
+ else if ((*i).isHostApiDefaultInputDevice())
+ {
+ tStr.Printf("[ HostApi Default %s Input", (*i).hostApi().name());
+ m_textTopRight->AppendText(tStr);
+ defaultDisplayed = true;
+ }
+ if ((*i).isSystemDefaultOutputDevice())
+ {
+ tStr.Printf(defaultDisplayed ? "," : "[");
+ m_textTopRight->AppendText(tStr);
+ tStr = (" System Default Output");
+ m_textTopRight->AppendText(tStr);
+ defaultDisplayed = true;
+ }
+ else if ((*i).isHostApiDefaultOutputDevice())
+ {
+ tStr.Printf(defaultDisplayed ? "," : "[");
+ m_textTopRight->AppendText(tStr);
+ tStr.Printf(" HostApi Default %s Output", (*i).hostApi().name());
+ m_textTopRight->AppendText(tStr);
+ defaultDisplayed = true;
+ }\r
+
+ if (defaultDisplayed)
+ {
+ tStr = " ]\n";
+ m_textTopRight->AppendText(tStr);
+ }
+\r
+ ttStr.Printf("Name : %s\n", (*i).name());
+ tStr += ttStr;
+ ttStr.Printf("Host API : %s\n", (*i).hostApi().name());
+ tStr += ttStr;
+ ttStr.Printf("Max inputs : %i\n", (*i).maxInputChannels());\r
+ tStr += ttStr;
+ ttStr.Printf("Max outputs : %i\n\n", (*i).maxOutputChannels());\r
+ tStr += ttStr;
+
+ ttStr.Printf("Default low input latency : %8.3f\n", (*i).defaultLowInputLatency());\r
+ tStr += ttStr;
+ ttStr.Printf("Default low output latency : %8.3f\n", (*i).defaultLowOutputLatency());\r
+ tStr += ttStr;
+ ttStr.Printf("Default high input latency : %8.3f\n", (*i).defaultHighInputLatency());\r
+ tStr += ttStr;
+ ttStr.Printf("Default high output latency : %8.3f\n\n", (*i).defaultHighOutputLatency());\r
+ tStr += ttStr;
+ m_textTopRight->AppendText(tStr);
+
+#ifdef WIN32_ASIO
+ // ASIO specific latency information:
+ if ((*i).hostApi().typeId() == paASIO)
+ {
+ portaudio::AsioDeviceAdapter asioDevice((*i));
+
+ //std::cout << "ASIO minimum buffer size = " << asioDevice.minBufferSize() << std::endl;
+ //std::cout << "ASIO maximum buffer size = " << asioDevice.maxBufferSize() << std::endl;
+ //std::cout << "ASIO preferred buffer size = " << asioDevice.preferredBufferSize() << std::endl;
+
+ if (asioDevice.granularity() == -1)
+ {
+ //std::cout << "ASIO buffer granularity = power of 2" << std::endl;
+ }
+ else
+ {
+ //std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl;
+ }
+ }
+#endif // WIN32_ASIO
+
+ tStr.Printf("Default sample rate : %8.2f\n", (*i).defaultSampleRate());
+ m_textTopRight->AppendText(tStr);
+
+ // Poll for standard sample rates:
+ portaudio::DirectionSpecificStreamParameters inputParameters((*i), (*i).maxInputChannels(), portaudio::INT16, true, 0.0, NULL);
+ portaudio::DirectionSpecificStreamParameters outputParameters((*i), (*i).maxOutputChannels(), portaudio::INT16, true, 0.0, NULL);
+ if (inputParameters.numChannels() > 0)
+ {
+ tStr = "Supported standard Input sample rates\n";\r
+ m_listBoxTopLeft->InsertItems(1, &tStr, 0);
+ tStr.Printf(" for half-duplex 16 bit %i channel input = ", inputParameters.numChannels());
+ m_listBoxTopLeft->InsertItems(1, &tStr, 0);
+ populateStandardSampleRates(m_listBoxTopLeft, inputParameters, portaudio::DirectionSpecificStreamParameters::null());
+ }
+ if (outputParameters.numChannels() > 0)
+ {
+ tStr = "Supported standard Output sample rates\n";\r
+ m_listBoxMidLeft->InsertItems(1, &tStr, 0);
+ tStr.Printf(" for half-duplex 16 bit %i channel output = ", outputParameters.numChannels());
+ m_listBoxMidLeft->InsertItems(1, &tStr, 0);
+ populateStandardSampleRates(m_listBoxMidLeft, portaudio::DirectionSpecificStreamParameters::null(), outputParameters);
+ }
+ if (inputParameters.numChannels() > 0 && outputParameters.numChannels() > 0)
+ {
+ tStr = "Supported full-duplex sample rates\n";\r
+ m_listBoxMidRight->InsertItems(1, &tStr, 0);
+ tStr.Printf(" for full-duplex 16 bit %i channel input, %i", inputParameters.numChannels(), outputParameters.numChannels());
+ m_listBoxMidRight->InsertItems(1, &tStr, 0);
+ populateStandardSampleRates(m_listBoxMidRight, inputParameters, outputParameters);
+ }
+ tStr.Printf("---------------------------------\n");
+ m_textTopRight->AppendText(tStr);
+ }
+ }
+ catch (const portaudio::PaException &e)
+ {
+ tStr.Printf("A PortAudio error occured: %s\n", e.paErrorText());
+ m_textTopRight->AppendText(tStr);
+ }
+ catch (const portaudio::PaCppException &e)
+ {
+ tStr.Printf("A PortAudioCpp error occured: %s\n", e.what());
+ m_textTopRight->AppendText(tStr);
+ }
+ catch (const std::exception &e)
+ {
+ tStr.Printf("A generic exception occured: %s\n", e.what());
+ m_textTopRight->AppendText(tStr);
+ }
+ catch (...)
+ {
+ tStr.Printf("An unknown exception occured.\n");
+ m_textTopRight->AppendText(tStr);
+ }
+ return 0;
+}
+
+void MainFrame::OnListBoxTopLeftBox( wxCommandEvent& event )\r
+{\r
+ //wxMessageBox(wxT("Got OnListBoxTopLeftBox()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListBoxTopLeftDClick( wxCommandEvent& event )\r
+{\r
+ wxMessageBox(wxT("Got OnListBoxTopLeftDClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListMidLeftBoxClick( wxCommandEvent& event )\r
+{\r
+// wxMessageBox(wxT("Got OnListMidLeftBoxClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListMidLeftBoxDClick( wxCommandEvent& event )\r
+{\r
+ wxMessageBox(wxT("Got OnListMidLeftBoxDClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListMidRightBoxClick( wxCommandEvent& event )\r
+{\r
+// wxMessageBox(wxT("Got OnListMidRightBoxClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListMidRightBoxDClick( wxCommandEvent& event )\r
+{\r
+ wxMessageBox(wxT("Got OnListMidRightBoxDClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListBoxBottomLeftClick( wxCommandEvent& event )\r
+{\r
+// wxMessageBox(wxT("Got OnListBoxBottomLeftClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListBoxBottomLeftDClick( wxCommandEvent& event )\r
+{\r
+ wxMessageBox(wxT("Got OnListBoxBottomLeftDClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListBoxBottomRIghtClick( wxCommandEvent& event )\r
+{\r
+// wxMessageBox(wxT("Got OnListBoxBottomRIghtClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+void MainFrame::OnListBoxBottomRIghtDClick( wxCommandEvent& event )\r
+{\r
+ wxMessageBox(wxT("Got OnListBoxBottomRIghtDClick()"), wxT("Interface Test"), wxOK);\r
+}\r
+\r
+\r
--- /dev/null
+/*********************************************************************
+ * Name: main.h
+ * Purpose: Declares simple wxWidgets application with GUI
+ * created using wxFormBuilder.
+ * Author:
+ * Created:
+ * Copyright:
+ * License: wxWidgets license (www.wxwidgets.org)
+ *
+ * Notes: Note that all GUI creation code is declared in
+ * gui.h source file which is generated by wxFormBuilder.
+ *********************************************************************/
+#ifndef __main__
+#define __main__
+
+// main wxWidgets header file
+#include <wx/wx.h>
+#include <portaudio.h>
+#include "portaudiocpp/PortAudioCpp.hxx"
+#ifdef WIN32
+#include "portaudiocpp/AsioDeviceAdapter.hxx"
+#endif
+
+// gui classes generated by wxFormBuilder
+#include "gui.h"
+
+////////////////////////////////////////////////////////////////////////////////
+// application class declaration
+////////////////////////////////////////////////////////////////////////////////
+
+class MainApp : public wxApp
+{
+ public:
+ virtual bool OnInit();
+};
+
+// declare global static function wxGetApp()
+DECLARE_APP(MainApp)
+
+////////////////////////////////////////////////////////////////////////////////
+// main application frame declaration
+////////////////////////////////////////////////////////////////////////////////
+
+class MainFrame : public MainFrameBase
+{
+ public:
+ MainFrame(wxWindow *parent);
+ virtual ~MainFrame();
+
+ protected:
+ // protected event handlers
+ virtual void OnCloseFrame(wxCloseEvent& event);
+ virtual void OnExitClick(wxCommandEvent& event);
+ void populateStandardSampleRates(
+ wxListBox* target,
+ const portaudio::DirectionSpecificStreamParameters &inputParameters,
+ const portaudio::DirectionSpecificStreamParameters &outputParameters);
+ int populateAudioInfo();
+ void OnComboLeft( wxCommandEvent& event );\r
+ void OnComboRight( wxCommandEvent& event );\r
+ void OnScroll( wxScrollEvent& event );\r
+ void OnBtnLeft( wxCommandEvent& event );\r
+ void OnBtnRight( wxCommandEvent& event );\r
+ void OnListBoxTopLeftBox( wxCommandEvent& event );\r
+ void OnListBoxTopLeftDClick( wxCommandEvent& event );\r
+ void OnListMidLeftBoxClick( wxCommandEvent& event );\r
+ void OnListMidLeftBoxDClick( wxCommandEvent& event );\r
+ void OnListMidRightBoxClick( wxCommandEvent& event );\r
+ void OnListMidRightBoxDClick( wxCommandEvent& event );\r
+ void OnListBoxBottomLeftClick( wxCommandEvent& event );\r
+ void OnListBoxBottomLeftDClick( wxCommandEvent& event );\r
+ void OnListBoxBottomRIghtClick( wxCommandEvent& event );\r
+ void OnListBoxBottomRIghtDClick( wxCommandEvent& event );\r
+};
+
+#endif //__main__
--- /dev/null
+##\r
+## Auto Generated makefile by CodeLite IDE\r
+## any manual changes will be erased \r
+##\r
+## Release\r
+ProjectName :=pa_cppbinding_test\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_cppbinding_test"\r
+CurrentFileName :=\r
+CurrentFilePath :=\r
+CurrentFileFullPath :=\r
+User :=wittend\r
+Date :=6/18/2012\r
+CodeLitePath :="C:\Program Files\CodeLite"\r
+LinkerName :=g++\r
+ArchiveTool :=ar rcus\r
+SharedObjectLinkerName :=g++ -shared -fPIC\r
+ObjectSuffix :=.o\r
+DependSuffix :=.o.d\r
+PreprocessSuffix :=.o.i\r
+DebugSwitch :=-gstab\r
+IncludeSwitch :=-I\r
+LibrarySwitch :=-l\r
+OutputSwitch :=-o \r
+LibraryPathSwitch :=-L\r
+PreprocessorSwitch :=-D\r
+SourceSwitch :=-c \r
+CompilerName :=g++\r
+C_CompilerName :=gcc\r
+OutputFile :=$(IntermediateDirectory)/$(ProjectName)\r
+Preprocessors :=$(PreprocessorSwitch)__WX__ \r
+ObjectSwitch :=-o \r
+ArchiveOutputSwitch := \r
+PreprocessOnlySwitch :=-E \r
+ObjectsFileList :="C:\Users\wittend\Projects\Radio\fdmdv2\pa_cppbinding_test\pa_cppbinding_test.txt"\r
+PCHCompileFlags :=\r
+MakeDirCommand :=makedir\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)./ $(IncludeSwitch)C:/bin/MinGW/msys/1.0/local/include $(IncludeSwitch)./portaudiocpp \r
+IncludePCH := \r
+RcIncludePath := \r
+Libs := $(LibrarySwitch)portaudiocpp-0 $(LibrarySwitch)portaudio-2 \r
+LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch). \r
+\r
+\r
+##\r
+## User defined environment variables\r
+##\r
+CodeLiteDir:=C:\Program Files\CodeLite\r
+WXWIN:=C:\bin\wxWidgets-2.9.4\r
+PATH:=$(WXWIN)\lib\gcc_dll;$(PATH)\r
+WXCFG:=gcc_dll\mswu\r
+UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3\r
+Objects=$(IntermediateDirectory)/gui$(ObjectSuffix) $(IntermediateDirectory)/main$(ObjectSuffix) \r
+\r
+##\r
+## Main Build Targets \r
+##\r
+.PHONY: all clean PreBuild PrePreBuild PostBuild\r
+all: $(OutputFile)\r
+\r
+$(OutputFile): $(IntermediateDirectory)/.d $(Objects) \r
+ @$(MakeDirCommand) $(@D)\r
+ @echo "" > $(IntermediateDirectory)/.d\r
+ @echo $(Objects) > $(ObjectsFileList)\r
+ $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)\r
+\r
+$(IntermediateDirectory)/.d:\r
+ @$(MakeDirCommand) "./Release"\r
+\r
+PreBuild:\r
+\r
+\r
+##\r
+## Objects\r
+##\r
+$(IntermediateDirectory)/gui$(ObjectSuffix): gui.cpp $(IntermediateDirectory)/gui$(DependSuffix)\r
+ $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/gui.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/gui$(ObjectSuffix) $(IncludePath)\r
+$(IntermediateDirectory)/gui$(DependSuffix): gui.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/gui$(ObjectSuffix) -MF$(IntermediateDirectory)/gui$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/gui.cpp"\r
+\r
+$(IntermediateDirectory)/gui$(PreprocessSuffix): gui.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/gui$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/gui.cpp"\r
+\r
+$(IntermediateDirectory)/main$(ObjectSuffix): main.cpp $(IntermediateDirectory)/main$(DependSuffix)\r
+ $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/main.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/main$(ObjectSuffix) $(IncludePath)\r
+$(IntermediateDirectory)/main$(DependSuffix): main.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/main$(ObjectSuffix) -MF$(IntermediateDirectory)/main$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/main.cpp"\r
+\r
+$(IntermediateDirectory)/main$(PreprocessSuffix): main.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/main$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_cppbinding_test/main.cpp"\r
+\r
+\r
+-include $(IntermediateDirectory)/*$(DependSuffix)\r
+##\r
+## Clean\r
+##\r
+clean:\r
+ $(RM) $(IntermediateDirectory)/gui$(ObjectSuffix)\r
+ $(RM) $(IntermediateDirectory)/gui$(DependSuffix)\r
+ $(RM) $(IntermediateDirectory)/gui$(PreprocessSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(ObjectSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(DependSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(PreprocessSuffix)\r
+ $(RM) $(OutputFile)\r
+ $(RM) $(OutputFile).exe\r
+ $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\pa_cppbinding_test"\r
+\r
+\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<CodeLite_Project Name="pa_cppbinding_test" InternalType="GUI">
+ <Plugins>
+ <Plugin Name="qmake">
+ <![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
+ </Plugin>
+ </Plugins>
+ <Description/>
+ <Dependencies/>
+ <VirtualDirectory Name="src">
+ <File Name="gui.cpp"/>
+ <File Name="main.cpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="include">
+ <File Name="gui.h"/>
+ <File Name="main.h"/>
+ <VirtualDirectory Name="cpp_binding">
+ <File Name="../extern/include/portaudiocpp/AsioDeviceAdapter.hxx"/>
+ <File Name="../extern/include/portaudiocpp/AutoSystem.hxx"/>
+ <File Name="../extern/include/portaudiocpp/BlockingStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/CallbackInterface.hxx"/>
+ <File Name="../extern/include/portaudiocpp/CallbackStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/CFunCallbackStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/CppFunCallbackStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/Device.hxx"/>
+ <File Name="../extern/include/portaudiocpp/DirectionSpecificStreamParameters.hxx"/>
+ <File Name="../extern/include/portaudiocpp/Exception.hxx"/>
+ <File Name="../extern/include/portaudiocpp/HostApi.hxx"/>
+ <File Name="../extern/include/portaudiocpp/InterfaceCallbackStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/MemFunCallbackStream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/PortAudioCpp.hxx"/>
+ <File Name="../extern/include/portaudiocpp/SampleDataFormat.hxx"/>
+ <File Name="../extern/include/portaudiocpp/Stream.hxx"/>
+ <File Name="../extern/include/portaudiocpp/StreamParameters.hxx"/>
+ <File Name="../extern/include/portaudiocpp/System.hxx"/>
+ <File Name="../extern/include/portaudiocpp/SystemDeviceIterator.hxx"/>
+ <File Name="../extern/include/portaudiocpp/SystemHostApiIterator.hxx"/>
+ </VirtualDirectory>
+ </VirtualDirectory>
+ <VirtualDirectory Name="resources">
+ <File Name="gui.fbp"/>
+ </VirtualDirectory>
+ <Settings Type="Executable">
+ <GlobalSettings>
+ <Compiler Options="" C_Options="">
+ <IncludePath Value="."/>
+ </Compiler>
+ <Linker Options="">
+ <LibraryPath Value="."/>
+ </Linker>
+ <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="">
+ <Preprocessor Value="__WX__"/>
+ </Compiler>
+ <Linker Options="-mwindows;$(shell wx-config --debug=yes --libs --unicode=yes)" Required="yes">
+ <LibraryPath Value="."/>
+ <Library Value="libportaudiocpp.la"/>
+ <Library Value="libportaudio.la"/>
+ </Linker>
+ <ResourceCompiler Options="$(shell wx-config --rcflags)" Required="no"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion>
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ <Configuration Name="Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
+ <Compiler Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" C_Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+ <IncludePath Value="./"/>
+ <IncludePath Value="C:/bin/MinGW/msys/1.0/local/include"/>
+ <IncludePath Value="./portaudiocpp"/>
+ <Preprocessor Value="__WX__"/>
+ </Compiler>
+ <Linker Options="-mwindows;-s;$(shell wx-config --debug=no --libs --unicode=yes)" Required="yes">
+ <LibraryPath Value="."/>
+ <Library Value="libportaudiocpp-0"/>
+ <Library Value="libportaudio-2"/>
+ </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"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion>
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ </Settings>
+ <Dependencies Name="Debug"/>
+ <Dependencies Name="Release"/>
+</CodeLite_Project>
--- /dev/null
+./Release/gui.o ./Release/main.o \r
--- /dev/null
+/* XPM */\r
+static char * outArrow16x16_xpm[] = {\r
+"16 16 4 1",\r
+" c None",\r
+". c #C0C0C0",\r
+"+ c #808080",\r
+"@ c #000000",\r
+" ",\r
+" ",\r
+" . ",\r
+" .. ",\r
+" ... ",\r
+" .... ",\r
+".............. ",\r
+"+.............. ",\r
+"+++.............",\r
+"++++@@@@@@@@@@@@",\r
+"+++@@@@@@@@@@@@@",\r
+"++@@@@@@@@@@@@@ ",\r
+" @@@@ ",\r
+" @@@ ",\r
+" @@ ",\r
+" @ "};\r
--- /dev/null
+/* XPM */\r
+static const char *const small1_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"16 16 6 1",\r
+". c Black",\r
+"o c #FFFFFF",\r
+"X c #000080",\r
+"O c #FFFF00",\r
+" c None",\r
+"+ c #FF0000",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ",\r
+" ....... ",\r
+" .XXXXX. ",\r
+" .oXXXX. ",\r
+" .oXXX.......",\r
+".....oXXX.OOOOO.",\r
+".+++.XXXX.oOOOO.",\r
+".o++......oOOOO.",\r
+".o++++. .oOOOO.",\r
+".o++++. .OOOOO.",\r
+".+++++. .......",\r
+"....... ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolbrai_xpm[] = {\r
+/* width height ncolors chars_per_pixel */\r
+"32 32 4 1",\r
+/* colors */\r
+" s None c None",\r
+". c #000080",\r
+"+ c #ff0000",\r
+"@ c #00ffff",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ..... ",\r
+" ..... .+++++. ",\r
+" .+++++. .+++++. ",\r
+" .+++++++. .+++++. ",\r
+" .+++++. ..... ",\r
+" ..... @ ",\r
+" @ @ ",\r
+" @ @ ",\r
+" @ @ ",\r
+" @ ..... ",\r
+" ..+++++.. ",\r
+" .+++++++++. ",\r
+" .+++++++++. ",\r
+" .+++++++++. ",\r
+" @..+++++.. ",\r
+" @ .....@ ",\r
+" @ @ @ ",\r
+" @ @ @ ...... ",\r
+" @ @ @.++++++. ",\r
+" @ @ .++++++. ",\r
+" @ @ .++++++. ",\r
+" ...... @ .++++++. ",\r
+" .++++++. @ ...... ",\r
+" .++++++. .... ",\r
+" .++++++. .++++. ",\r
+" .++++++. .++++. ",\r
+" ...... .++++. ",\r
+" .++++. ",\r
+" .... ",\r
+" "};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolchar_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 4 1",\r
+". c Black",\r
+"X c #FFFF00",\r
+" c None",\r
+"o c #C00000",\r
+/* pixels */\r
+" ",\r
+" ..... ",\r
+" ...XXXXX... ",\r
+" ..XXXXXXXXXXX.. ",\r
+" .XXXXXXXXXXXXXXX. ",\r
+" ..XXXXXXXXXXXXXXXXX.. ",\r
+" .XXXXXXXXXXXXXXXXXXXX. ",\r
+" .XXXXXX.XXXXXXX.XXXXXX. ",\r
+" .XXXXXX.X.XXXXX.X.XXXXXX. ",\r
+" .XXXXX.XXX.XXX.XXX.XXXXXX. ",\r
+" .XXXXX.XXXXXXXXXXXXX.XXXXX. ",\r
+" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",\r
+" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",\r
+" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",\r
+" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",\r
+" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",\r
+" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",\r
+" .XXXXXXX.XXXXXXXXXXX.XXXXXXX. ",\r
+" .XXXXXX...XXXXXXX...XXXXXX. ",\r
+" .XXXXXX.oo..XXX..oo.XXXXXX. ",\r
+" .XXXXXXX.ooo...ooo.XXXXXXX. ",\r
+" .XXXXXXX.ooooooo.XXXXXXXX. ",\r
+" .XXXXXXXX..ooo..XXXXXXXX. ",\r
+" .XXXXXXXXX...XXXXXXXXX. ",\r
+" .XXXXXXXXXXXXXXXXXXXX. ",\r
+" ..XXXXXXXXXXXXXXXXX.. ",\r
+" .XXXXXXXXXXXXXXX. ",\r
+" ..XXXXXXXXXXX.. ",\r
+" ...XXXXX... ",\r
+" ..... ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolchec_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 16 1",\r
+"X c Black",\r
+". c #4B4B4B",\r
+"% c #696969",\r
+": c #353535",\r
+"o c #181818",\r
+"O c #CCCCCC",\r
+"@ c #0B0B0B",\r
+" c None",\r
+"+ c #292929",\r
+"= c #383838",\r
+"; c #747474",\r
+"# c #8B8B8B",\r
+"& c #A9A9A9",\r
+"- c #575757",\r
+"* c #B2B2B2",\r
+"$ c #959595",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" .XX ",\r
+" oXXO ",\r
+" .XX+ ",\r
+" oXX@# ",\r
+" oXX@ ",\r
+" oXX# ",\r
+" @XX$ ",\r
+" oXX$ ",\r
+" oXX. ",\r
+" +XXX ",\r
+" %XXX ",\r
+" &XXX* ",\r
+" .XXX= ",\r
+" XXXo ",\r
+" . @XXX ",\r
+" -XXo +XXX. ",\r
+" XXXXX; $XXXX ",\r
+" .+XXXXX XXXX. ",\r
+" +XXXX= XXXX= ",\r
+" @XXXX *XXXX ",\r
+" XXXX$XXXX$ ",\r
+" +XXXXXXXX ",\r
+" XXXXXXX. ",\r
+" oXXXXX: ",\r
+" ;XXXXX. ",\r
+" XXXX# ",\r
+" @XX ",\r
+" = ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const tooldata_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 3 1",\r
+" c Black",\r
+"X c #FFFFFF",\r
+". c #C0C0C0",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ............................ ",\r
+" ............................ ",\r
+" .. .. .. .. ",\r
+" .. .. .. .. ",\r
+" ............................ ",\r
+" ............................ ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XX XX XX XX ",\r
+" XX XX XX XX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XX XX XX XX ",\r
+" XX XX XX XX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XX XX XX XX ",\r
+" XX XX XX XX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XX XX XX XX ",\r
+" XX XX XX XX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XX XX XX XX ",\r
+" XX XX XX XX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolgame_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 3 1",\r
+"X c #808080",\r
+" c None",\r
+". c #FF0000",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" .. ",\r
+" .... ",\r
+" ...... ",\r
+" ........ ",\r
+" .......... ",\r
+" ............ ",\r
+" .............. ",\r
+" ................ ",\r
+" .................. ",\r
+" .................... ",\r
+" ...................... ",\r
+" ........................ ",\r
+" .......................... ",\r
+" ........................X ",\r
+" ......................X ",\r
+" ....................X ",\r
+" ..................X ",\r
+" ................X ",\r
+" ..............X ",\r
+" ............X ",\r
+" ..........X ",\r
+" ........X ",\r
+" ......X ",\r
+" ....X ",\r
+" ..X ",\r
+" ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolnote_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 5 1",\r
+"O c Black",\r
+"o c #FFFFFF",\r
+". c #808080",\r
+" c None",\r
+"X c #C0C0C0",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ",\r
+" . . . . . ",\r
+" XXX.XX.XX.XX.XX.XXX ",\r
+" Xoo.oo.oo.oo.oo.ooX ",\r
+" XoooooooooooooooooX. ",\r
+" XooOOO..OOOO.OOOooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XooOOOOOOoooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XooOOO.OOOOOOOooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XooOOOOOO.OOOoooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XooOO.OOOO.OOOOOooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XooOOO.OOOOO.OOOOoX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XoooooooooooooooooX. ",\r
+" XXXXXXXXXXXXXXXXXXX. ",\r
+" .................. ",\r
+" ",\r
+" ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const tooltime_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 4 1",\r
+". c Black",\r
+"o c #FFFFFF",\r
+" c None",\r
+"X c #C0C0C0",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ..... ",\r
+" ...XX.oo... ",\r
+" .XXXoo.ooooo. ",\r
+" ..Xoooooooooooo.. ",\r
+" .Xoooooo.ooooooo. ",\r
+" .Xooooooo.Xooooooo. ",\r
+" .Xoooooooo.Xoooooooo. ",\r
+" .Xoooooooo.Xoooooooo. ",\r
+" .Xoooooooo.Xoooooooo. ",\r
+" .Xooooooooo.Xooooooooo. ",\r
+" .Xooooooooo.Xooooooooo.X ",\r
+" ...oo.......Xooooooo...X ",\r
+" .oooooXXXXXXXooooooooo.X ",\r
+" .ooooooooooooooooooooo.X ",\r
+" .ooooooooooooooooooo.XX ",\r
+" .ooooooooooooooooooo.XX ",\r
+" .ooooooooooooooooooo.X ",\r
+" .ooooooooooooooooo.XX ",\r
+" .ooooooooooooooo.XX ",\r
+" ..ooooooooooooo..X ",\r
+" .ooooo.ooooo.XX ",\r
+" ...oo.oo...XX ",\r
+" XX.....XXXX ",\r
+" XXXXXXX ",\r
+" ",\r
+" ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const tooltodo_xpm[] = {\r
+/* columns rows colors chars-per-pixel */\r
+"32 32 156 2",\r
+"0 c #A08020",\r
+"+. c #D0C066",\r
+"q c #A08022",\r
+"T c #98752D",\r
+"6. c #D0C072",\r
+"w c #A88B28",\r
+"@. c #987540",\r
+"l c #A08037",\r
+"~ c #A0803F",\r
+"4. c #A08048",\r
+"7 c #808080",\r
+"m c #704012",\r
+"P c #704013",\r
+"] c #704014",\r
+"B c #704016",\r
+"{ c #704017",\r
+":. c #704019",\r
+"k c #70401B",\r
+"A c #70401C",\r
+"W c #70401D",\r
+".. c #70401E",\r
+"F c #70401F",\r
+"1. c #704020",\r
+"H c #704022",\r
+"s c #EFEA37",\r
+") c #704024",\r
+"5. c #704025",\r
+"} c #784B1E",\r
+"z c #784B22",\r
+"2. c #784B26",\r
+"/ c #784B28",\r
+"Y c #EFEA55",\r
+"N c #E0D547",\r
+"D c #EFEA6C",\r
+"X. c #EFEA70",\r
+"o. c #EFEA74",\r
+"R c #E0D554",\r
+"| c #E0D558",\r
+"#. c #EFEA83",\r
+"y c #E8E05D",\r
+"3. c #E0D570",\r
+"x c #E8E069",\r
+"G c #BFAA57",\r
+"J c #BFAA5D",\r
+">. c #B0953D",\r
+" c None",\r
+"<. c #B8A04D",\r
+"^ c #B8A052",\r
+"X c #FFFF30",\r
+"o c #FFFF34",\r
+"O c #FFFF38",\r
+"+ c #FFFF3C",\r
+"b c #FFFF40",\r
+"@ c #FFFF41",\r
+"' c #FFFF43",\r
+"n c #FFFF44",\r
+"# c #FFFF45",\r
+"*. c #FFFF47",\r
+"L c #FFFF48",\r
+"$ c #FFFF49",\r
+"8. c #FFFF4B",\r
+"M c #FFFF4C",\r
+"V c #906B27",\r
+"% c #FFFF4D",\r
+"p. c #FFFF4F",\r
+"I c #FFFF50",\r
+"& c #FFFF51",\r
+"a. c #FFFF53",\r
+"U c #FFFF54",\r
+"e c #FFFF55",\r
+"* c #FFFF56",\r
+"g. c #FFFF57",\r
+"[ c #FFFF58",\r
+"r c #FFFF59",\r
+"= c #FFFF5A",\r
+"l. c #FFFF5B",\r
+". c #C0C0C0",\r
+"-. c #FFFF5C",\r
+"j c #FFFF5D",\r
+"- c #FFFF5E",\r
+"b. c #FFFF5F",\r
+"9. c #FFFF60",\r
+"C c #FFFF61",\r
+"; c #FFFF62",\r
+"n. c #FFFF63",\r
+"0. c #FFFF64",\r
+": c #FFFF66",\r
+"N. c #FFFF67",\r
+"s. c #FFFF68",\r
+"E c #FFFF69",\r
+"Z c #FFFF6A",\r
+"> c #FFFF6B",\r
+"h. c #FFFF6C",\r
+" . c #FFFF6D",\r
+"u c #FFFF6E",\r
+", c #FFFF6F",\r
+"z. c #FFFF70",\r
+",. c #FFFF71",\r
+"S c #FFFF72",\r
+"< c #FFFF73",\r
+"x. c #FFFF74",\r
+"q. c #FFFF75",\r
+"Q c #FFFF76",\r
+"f c #602B0B",\r
+"1 c #FFFF77",\r
+"m. c #FFFF78",\r
+"w. c #FFFF79",\r
+"! c #FFFF7A",\r
+"2 c #FFFF7B",\r
+"B. c #FFFF7C",\r
+"d. c #FFFF7D",\r
+"e. c #FFFF7E",\r
+"i c #FFFF7F",\r
+"3 c #FFFF80",\r
+"j. c #FFFF81",\r
+"r. c #FFFF82",\r
+"p c #FFFF83",\r
+"4 c #FFFF84",\r
+"c. c #FFFF85",\r
+"k. c #FFFF86",\r
+"c c #FFFF87",\r
+"5 c #FFFF88",\r
+"v. c #FFFF89",\r
+"y. c #FFFF8A",\r
+"( c #FFFF8B",\r
+"6 c #FFFF8C",\r
+"t. c #FFFF8D",\r
+"u. c #FFFF8E",\r
+"O. c #68361C",\r
+"a c #FFFF90",\r
+"V. c #FFFF91",\r
+"f. c #FFFF92",\r
+"$. c #68361F",\r
+"_ c #FFFF93",\r
+"v c #FFFF94",\r
+"Z. c #FFFF95",\r
+"M. c #FFFF96",\r
+"%. c #FFFF97",\r
+"K c #FFFF98",\r
+"A. c #FFFF99",\r
+"C. c #FFFF9A",\r
+"7. c #FFFF9B",\r
+"` c #FFFF9C",\r
+"D. c #FFFF9D",\r
+"S. c #FFFF9E",\r
+"i. c #FFFF9F",\r
+"&. c #FFFFA0",\r
+"F. c #FFFFA1",\r
+"8 c #D0C02A",\r
+"d c #D0C030",\r
+"g c #D0C036",\r
+"h c #D0C03A",\r
+";. c #C8B545",\r
+"t c #C8B548",\r
+"=. c #987527",\r
+"9 c #A0801E",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" . . . . . . . . . . . . . . . . . . . . . . . . . ",\r
+" . X o O + @ # $ % & * = - ; : > , < 1 2 3 4 5 6 . 7 ",\r
+" . o 8 9 0 q w % & e r - ; t y u < 1 2 i p 5 6 a . 7 ",\r
+" . O s d f g h & e r j ; : k l z x 2 i p c 6 a v . 7 ",\r
+" . + b n m M & N B V C : Z A S D F i G H J a v K . 7 ",\r
+" . b n L P I U B Y T R E u W Q ! ~ ^ / ( ) _ K ` . 7 ",\r
+" . ' L M ] U [ { C } | .S ..X.o.O.+.@.#.$.%.` &.. 7 ",\r
+" . *.M I =.[ -.;.:.>. .,.Q <.1.2.3.( 4.5.6.7.&.. . 7 ",\r
+" . 8.I U [ -.9.0.E .,.q.w.e.r.t.y.u._ %.7.i.. . . 7 ",\r
+" . p.a.[ -.9.0.s. .,.q.w.d.r.t.t.u.f.%.7.. . . o . 7 ",\r
+" . a.g.-.9.0.s.h.,.q.w.d.j.k.y.t.. . . . . o o . 7 ",\r
+" . g.l.9.0.s.h.z.x.w.d.j.c.v.u.f.. o o o o o . 7 ",\r
+" . l.b.n.s.h.z.x.m.d.j.c.v.t.f.M.. o o o o . 7 ",\r
+" . b.n.N.h.z.x.m.B.j.c.v.t.V.M.C.. o o o . 7 ",\r
+" . n.N.> z.x.m.B.3 4 v.t.V.Z.A.S.. o o . 7 ",\r
+" . N.> , < m.B.3 4 5 t.V.Z.A.D.. o o . 7 ",\r
+" . > , < 1 B.3 4 5 6 V.Z.A.D.. . o . 7 ",\r
+" . , < 1 2 3 4 5 6 a v A.D.F.. o . 7 ",\r
+" . < 1 2 i p 5 6 a v K D.F.. o . 7 ",\r
+" . . . . . . . . . . . . . . . 7 ",\r
+" 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" "\r
+};\r
--- /dev/null
+/* XPM */\r
+static const char *const toolword_xpm[] = {\r
+/* width height ncolors chars_per_pixel */\r
+"32 32 3 1",\r
+/* colors */\r
+" s None c None",\r
+". c #000000",\r
+"+ c #ffffff",\r
+/* pixels */\r
+" ",\r
+" ",\r
+" ........ ........ ",\r
+" .++++++. ...........++++++. ",\r
+" .++++++. .++++++++..++++++. ",\r
+" ........ .++++++++......... ",\r
+" .++++++++. ",\r
+" .......... ",\r
+" ",\r
+" ",\r
+" ",\r
+" ..... ",\r
+"...... ......... .+++. .........",\r
+".++++. .+++++++. .+++. .+++++++.",\r
+".++++. .+++++++. .+++. .+++++++.",\r
+".++++. .+++++++. ..... .+++++++.",\r
+"...... ......... .........",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" .......... ",\r
+" .. .++++++++. ",\r
+" .++. .++++++++. ",\r
+" .++++. .++++++++. ",\r
+" .++++. .......... ",\r
+" ...........+++. ",\r
+" .++++++++. .+. ",\r
+" .++++++++. . ",\r
+" .......... ",\r
+" ",\r
+" "};\r
--- /dev/null
+/* XPM */\r
+static char * transparent_xpm[] = {\r
+"32 32 1 1",\r
+" c None",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" ",\r
+" "};\r
--- /dev/null
+///////////////////////////////////////////////////////////////////////////\r
+// C++ code generated with wxFormBuilder (version Mar 17 2012)\r
+// http://www.wxformbuilder.org/\r
+//\r
+// PLEASE DO "NOT" EDIT THIS FILE!\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+#include "gui.h"\r
+\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )\r
+{\r
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
+ \r
+ wxBoxSizer* mainSizer;\r
+ mainSizer = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_panel1 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
+ wxBoxSizer* bSizer4;\r
+ bSizer4 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_notebook1 = new wxNotebook( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_BOTTOM );\r
+ m_panelRx = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
+ wxBoxSizer* bSizer20;\r
+ bSizer20 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ wxGridSizer* gSizer4;\r
+ gSizer4 = new wxGridSizer( 2, 1, 0, 0 );\r
+ \r
+ wxStaticBoxSizer* sbSizer2;\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, 1 );\r
+ \r
+ wxBoxSizer* bSizer811;\r
+ bSizer811 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ m_staticText51 = new wxStaticText( m_panelRx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText51->Wrap( -1 );\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, 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, 1 );\r
+ \r
+ \r
+ sbSizer2->Add( bSizer811, 0, wxEXPAND, 5 );\r
+ \r
+ \r
+ gSizer4->Add( sbSizer2, 1, wxEXPAND, 5 );\r
+ \r
+ wxStaticBoxSizer* sbSizer3;\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, 1 );\r
+ \r
+ wxBoxSizer* bSizer81;\r
+ bSizer81 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ m_staticText9 = new wxStaticText( m_panelRx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText9->Wrap( -1 );\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, 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, 1 );\r
+ \r
+ \r
+ sbSizer3->Add( bSizer81, 0, wxEXPAND, 2 );\r
+ \r
+ \r
+ gSizer4->Add( sbSizer3, 1, wxEXPAND, 2 );\r
+ \r
+ \r
+ bSizer20->Add( gSizer4, 1, wxEXPAND, 1 );\r
+ \r
+ \r
+ m_panelRx->SetSizer( bSizer20 );\r
+ m_panelRx->Layout();\r
+ bSizer20->Fit( m_panelRx );\r
+ m_notebook1->AddPage( m_panelRx, _("Receive"), true );\r
+ m_panelTx = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
+ wxBoxSizer* bSizer18;\r
+ bSizer18 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ wxGridSizer* gSizer2;\r
+ gSizer2 = new wxGridSizer( 2, 1, 0, 0 );\r
+ \r
+ wxStaticBoxSizer* sbSizer22;\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, 1 );\r
+ \r
+ wxBoxSizer* bSizer83;\r
+ bSizer83 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ m_staticText12 = new wxStaticText( m_panelTx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText12->Wrap( -1 );\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, 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, 1 );\r
+ \r
+ \r
+ sbSizer22->Add( bSizer83, 0, wxEXPAND, 2 );\r
+ \r
+ \r
+ gSizer2->Add( sbSizer22, 1, wxEXPAND, 5 );\r
+ \r
+ wxStaticBoxSizer* sbSizer21;\r
+ sbSizer21 = new wxStaticBoxSizer( new wxStaticBox( m_panelTx, wxID_ANY, _("Tx Radio Stream") ), wxVERTICAL );\r
+ \r
+ m_listCtrlTxOutDevices = new wxListCtrl( m_panelTx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES );\r
+ sbSizer21->Add( m_listCtrlTxOutDevices, 1, wxALL|wxEXPAND, 2 );\r
+ \r
+ wxBoxSizer* bSizer82;\r
+ bSizer82 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ m_staticText81 = new wxStaticText( m_panelTx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText81->Wrap( -1 );\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, 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, 1 );\r
+ \r
+ \r
+ sbSizer21->Add( bSizer82, 0, wxEXPAND, 2 );\r
+ \r
+ \r
+ gSizer2->Add( sbSizer21, 1, wxEXPAND, 5 );\r
+ \r
+ \r
+ bSizer18->Add( gSizer2, 1, wxEXPAND, 1 );\r
+ \r
+ \r
+ m_panelTx->SetSizer( bSizer18 );\r
+ m_panelTx->Layout();\r
+ bSizer18->Fit( m_panelTx );\r
+ m_notebook1->AddPage( m_panelTx, _("Transmit"), false );\r
+ m_panelAPI = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
+ wxBoxSizer* bSizer12;\r
+ bSizer12 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ wxGridSizer* gSizer31;\r
+ gSizer31 = new wxGridSizer( 2, 1, 0, 0 );\r
+ \r
+ wxStaticBoxSizer* sbSizer1;\r
+ sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panelAPI, wxID_ANY, _("PortAudio") ), wxVERTICAL );\r
+ \r
+ wxGridSizer* gSizer3;\r
+ gSizer3 = new wxGridSizer( 4, 2, 0, 0 );\r
+ \r
+ m_staticText7 = new wxStaticText( m_panelAPI, wxID_ANY, _("PortAudio Version String:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText7->Wrap( -1 );\r
+ gSizer3->Add( m_staticText7, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 1 );\r
+ \r
+ wxBoxSizer* bSizer151;\r
+ bSizer151 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_textStringVer = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );\r
+ bSizer151->Add( m_textStringVer, 0, wxALL|wxEXPAND, 1 );\r
+ \r
+ \r
+ gSizer3->Add( bSizer151, 1, wxEXPAND, 2 );\r
+ \r
+ m_staticText8 = new wxStaticText( m_panelAPI, wxID_ANY, _("PortAudio Int Version:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText8->Wrap( -1 );\r
+ gSizer3->Add( m_staticText8, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 1 );\r
+ \r
+ wxBoxSizer* bSizer13;\r
+ bSizer13 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_textIntVer = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );\r
+ bSizer13->Add( m_textIntVer, 0, wxALL|wxALIGN_CENTER_VERTICAL, 1 );\r
+ \r
+ \r
+ gSizer3->Add( bSizer13, 1, wxEXPAND, 5 );\r
+ \r
+ m_staticText5 = new wxStaticText( m_panelAPI, wxID_ANY, _("Device Count:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText5->Wrap( -1 );\r
+ gSizer3->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 1 );\r
+ \r
+ wxBoxSizer* bSizer14;\r
+ bSizer14 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_textCDevCount = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );\r
+ m_textCDevCount->SetMaxSize( wxSize( 45,-1 ) );\r
+ \r
+ bSizer14->Add( m_textCDevCount, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+ \r
+ \r
+ gSizer3->Add( bSizer14, 1, wxEXPAND, 5 );\r
+ \r
+ m_staticText4 = new wxStaticText( m_panelAPI, wxID_ANY, _("API Count:"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ m_staticText4->Wrap( -1 );\r
+ gSizer3->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 1 );\r
+ \r
+ wxBoxSizer* bSizer15;\r
+ bSizer15 = new wxBoxSizer( wxVERTICAL );\r
+ \r
+ m_textAPICount = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY );\r
+ m_textAPICount->SetMaxSize( wxSize( 45,-1 ) );\r
+ \r
+ bSizer15->Add( m_textAPICount, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 );\r
+ \r
+ \r
+ gSizer3->Add( bSizer15, 1, wxEXPAND, 5 );\r
+ \r
+ \r
+ sbSizer1->Add( gSizer3, 1, wxEXPAND, 2 );\r
+ \r
+ \r
+ gSizer31->Add( sbSizer1, 1, wxEXPAND, 2 );\r
+ \r
+ wxStaticBoxSizer* sbSizer6;\r
+ sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_panelAPI, wxID_ANY, _("Other") ), wxVERTICAL );\r
+ \r
+ \r
+ gSizer31->Add( sbSizer6, 1, wxEXPAND, 5 );\r
+ \r
+ \r
+ bSizer12->Add( gSizer31, 1, wxEXPAND, 5 );\r
+ \r
+ \r
+ m_panelAPI->SetSizer( bSizer12 );\r
+ m_panelAPI->Layout();\r
+ bSizer12->Fit( m_panelAPI );\r
+ m_notebook1->AddPage( m_panelAPI, _("API Info"), false );\r
+ \r
+ bSizer4->Add( m_notebook1, 1, wxEXPAND | wxALL, 0 );\r
+ \r
+ \r
+ m_panel1->SetSizer( bSizer4 );\r
+ m_panel1->Layout();\r
+ bSizer4->Fit( m_panel1 );\r
+ mainSizer->Add( m_panel1, 1, wxEXPAND | wxALL, 1 );\r
+ \r
+ wxBoxSizer* bSizer6;\r
+ bSizer6 = new wxBoxSizer( wxHORIZONTAL );\r
+ \r
+ m_btnRefresh = new wxButton( this, wxID_ANY, _("Refresh"), wxDefaultPosition, wxDefaultSize, 0 );\r
+ bSizer6->Add( m_btnRefresh, 0, wxALIGN_CENTER|wxALL, 2 );\r
+ \r
+ m_sdbSizer1 = new wxStdDialogButtonSizer();\r
+ m_sdbSizer1OK = new wxButton( this, wxID_OK );\r
+ m_sdbSizer1->AddButton( m_sdbSizer1OK );\r
+ m_sdbSizer1Apply = new wxButton( this, wxID_APPLY );\r
+ m_sdbSizer1->AddButton( m_sdbSizer1Apply );\r
+ m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );\r
+ m_sdbSizer1->AddButton( m_sdbSizer1Cancel );\r
+ m_sdbSizer1->Realize();\r
+ \r
+ bSizer6->Add( m_sdbSizer1, 1, wxALIGN_CENTER_VERTICAL, 2 );\r
+ \r
+ \r
+ mainSizer->Add( bSizer6, 0, wxEXPAND, 2 );\r
+ \r
+ \r
+ this->SetSizer( mainSizer );\r
+ this->Layout();\r
+ \r
+ this->Centre( wxBOTH );\r
+ \r
+ // Connect Events\r
+ this->Connect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) );\r
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\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
+ m_listCtrlTxOutDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxOutDeviceSelect ), NULL, this );\r
+ m_btnRefresh->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnRefreshClick ), NULL, this );\r
+ m_sdbSizer1Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnApplyAudioParameters ), NULL, this );\r
+ m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCancelAudioParameters ), NULL, this );\r
+ m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnOkAudioParameters ), NULL, this );\r
+}\r
+\r
+MainFrameBase::~MainFrameBase()\r
+{\r
+ // Disconnect Events\r
+ this->Disconnect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) );\r
+ this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) );\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
+ m_listCtrlTxOutDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxOutDeviceSelect ), NULL, this );\r
+ m_btnRefresh->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnRefreshClick ), NULL, this );\r
+ m_sdbSizer1Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnApplyAudioParameters ), NULL, this );\r
+ m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCancelAudioParameters ), NULL, this );\r
+ m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnOkAudioParameters ), NULL, this );\r
+ \r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\r
+<wxFormBuilder_Project>\r
+ <FileVersion major="1" minor="11" />\r
+ <object class="Project" expanded="1">\r
+ <property name="class_decoration"></property>\r
+ <property name="code_generation">C++|Python|XRC</property>\r
+ <property name="disconnect_events">1</property>\r
+ <property name="disconnect_mode">source_name</property>\r
+ <property name="disconnect_php_events">0</property>\r
+ <property name="disconnect_python_events">0</property>\r
+ <property name="embedded_files_path">res</property>\r
+ <property name="encoding">UTF-8</property>\r
+ <property name="event_generation">connect</property>\r
+ <property name="file">gui</property>\r
+ <property name="first_id">1000</property>\r
+ <property name="help_provider">none</property>\r
+ <property name="internationalize">1</property>\r
+ <property name="name">PA_Enum</property>\r
+ <property name="namespace"></property>\r
+ <property name="path">.</property>\r
+ <property name="precompiled_header"></property>\r
+ <property name="relative_path">1</property>\r
+ <property name="skip_php_events">1</property>\r
+ <property name="skip_python_events">1</property>\r
+ <property name="use_enum">0</property>\r
+ <property name="use_microsoft_bom">0</property>\r
+ <object class="Frame" 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_managed">0</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">wxBOTH</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="event_handler">impl_virtual</property>\r
+ <property name="extra_style"></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="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">MainFrameBase</property>\r
+ <property name="pane_border">1</property>\r
+ <property name="pane_position"></property>\r
+ <property name="pane_size"></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">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
+ <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">wxTAB_TRAVERSAL</property>\r
+ <property name="xrc_skip_sizer">1</property>\r
+ <event name="OnActivate"></event>\r
+ <event name="OnActivateApp">OnActivateApp</event>\r
+ <event name="OnAuiFindManager"></event>\r
+ <event name="OnAuiPaneButton"></event>\r
+ <event name="OnAuiPaneClose"></event>\r
+ <event name="OnAuiPaneMaximize"></event>\r
+ <event name="OnAuiPaneRestore"></event>\r
+ <event name="OnAuiRender"></event>\r
+ <event name="OnChar"></event>\r
+ <event name="OnClose">OnCloseFrame</event>\r
+ <event name="OnEnterWindow"></event>\r
+ <event name="OnEraseBackground"></event>\r
+ <event name="OnHibernate"></event>\r
+ <event name="OnIconize"></event>\r
+ <event name="OnIdle"></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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">mainSizer</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND | wxALL</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxPanel" 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="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_panel1</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="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">wxTAB_TRAVERSAL</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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer4</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">0</property>\r
+ <property name="flag">wxEXPAND | wxALL</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxNotebook" 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="bitmapsize"></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="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_notebook1</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">wxNB_BOTTOM</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="OnNotebookPageChanged"></event>\r
+ <event name="OnNotebookPageChanging"></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="notebookpage" expanded="1">\r
+ <property name="bitmap"></property>\r
+ <property name="label">Receive</property>\r
+ <property name="select">1</property>\r
+ <object class="wxPanel" 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="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_panelRx</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="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">wxTAB_TRAVERSAL</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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer20</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxGridSizer" expanded="1">\r
+ <property name="cols">1</property>\r
+ <property name="hgap">0</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">gSizer4</property>\r
+ <property name="permission">none</property>\r
+ <property name="rows">2</property>\r
+ <property name="vgap">0</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">Rx Radio Device</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer2</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="0">\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="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">0</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="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_listCtrlRxInDevices</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">wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</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="OnListBeginDrag"></event>\r
+ <event name="OnListBeginLabelEdit"></event>\r
+ <event name="OnListBeginRDrag"></event>\r
+ <event name="OnListCacheHint"></event>\r
+ <event name="OnListColBeginDrag"></event>\r
+ <event name="OnListColClick"></event>\r
+ <event name="OnListColDragging"></event>\r
+ <event name="OnListColEndDrag"></event>\r
+ <event name="OnListColRightClick"></event>\r
+ <event name="OnListDeleteAllItems"></event>\r
+ <event name="OnListDeleteItem"></event>\r
+ <event name="OnListEndLabelEdit"></event>\r
+ <event name="OnListInsertItem"></event>\r
+ <event name="OnListItemActivated"></event>\r
+ <event name="OnListItemDeselected"></event>\r
+ <event name="OnListItemFocused"></event>\r
+ <event name="OnListItemMiddleClick"></event>\r
+ <event name="OnListItemRightClick"></event>\r
+ <event name="OnListItemSelected">OnRxInDeviceSelect</event>\r
+ <event name="OnListKeyDown"></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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer811</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Device:</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_staticText51</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\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
+ <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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textCtrlRxIn</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Sample Rate:</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_staticText6</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\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="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="choices"></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="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_cbSampleRateRxIn</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="selection">-1</property>\r
+ <property name="show">1</property>\r
+ <property name="size"></property>\r
+ <property name="style">wxCB_DROPDOWN</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="value"></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="OnCombobox"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">Rx Speaker Stream</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer3</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="0">\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="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="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_listCtrlRxOutDevices</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">wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</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="OnListBeginDrag"></event>\r
+ <event name="OnListBeginLabelEdit"></event>\r
+ <event name="OnListBeginRDrag"></event>\r
+ <event name="OnListCacheHint"></event>\r
+ <event name="OnListColBeginDrag"></event>\r
+ <event name="OnListColClick"></event>\r
+ <event name="OnListColDragging"></event>\r
+ <event name="OnListColEndDrag"></event>\r
+ <event name="OnListColRightClick"></event>\r
+ <event name="OnListDeleteAllItems"></event>\r
+ <event name="OnListDeleteItem"></event>\r
+ <event name="OnListEndLabelEdit"></event>\r
+ <event name="OnListInsertItem"></event>\r
+ <event name="OnListItemActivated"></event>\r
+ <event name="OnListItemDeselected"></event>\r
+ <event name="OnListItemFocused"></event>\r
+ <event name="OnListItemMiddleClick"></event>\r
+ <event name="OnListItemRightClick"></event>\r
+ <event name="OnListItemSelected">OnRxOutDeviceSelect</event>\r
+ <event name="OnListKeyDown"></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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer81</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Device:</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_staticText9</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\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
+ <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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textRxOut</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Sample Rate:</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_staticText10</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\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="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="choices"></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="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_cbSampleRateRxOut</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="selection">-1</property>\r
+ <property name="show">1</property>\r
+ <property name="size"></property>\r
+ <property name="style">wxCB_DROPDOWN</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="value"></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="OnCombobox"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="notebookpage" expanded="1">\r
+ <property name="bitmap"></property>\r
+ <property name="label">Transmit</property>\r
+ <property name="select">0</property>\r
+ <object class="wxPanel" 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="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_panelTx</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="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">wxTAB_TRAVERSAL</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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer18</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxGridSizer" expanded="1">\r
+ <property name="cols">1</property>\r
+ <property name="hgap">0</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">gSizer2</property>\r
+ <property name="permission">none</property>\r
+ <property name="rows">2</property>\r
+ <property name="vgap">0</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="0">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">Tx Microphone Stream</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer22</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="0">\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="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="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_listCtrlTxInDevices</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">wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</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="OnListBeginDrag"></event>\r
+ <event name="OnListBeginLabelEdit"></event>\r
+ <event name="OnListBeginRDrag"></event>\r
+ <event name="OnListCacheHint"></event>\r
+ <event name="OnListColBeginDrag"></event>\r
+ <event name="OnListColClick"></event>\r
+ <event name="OnListColDragging"></event>\r
+ <event name="OnListColEndDrag"></event>\r
+ <event name="OnListColRightClick"></event>\r
+ <event name="OnListDeleteAllItems"></event>\r
+ <event name="OnListDeleteItem"></event>\r
+ <event name="OnListEndLabelEdit"></event>\r
+ <event name="OnListInsertItem"></event>\r
+ <event name="OnListItemActivated"></event>\r
+ <event name="OnListItemDeselected"></event>\r
+ <event name="OnListItemFocused"></event>\r
+ <event name="OnListItemMiddleClick"></event>\r
+ <event name="OnListItemRightClick"></event>\r
+ <event name="OnListItemSelected">OnTxInDeviceSelect</event>\r
+ <event name="OnListKeyDown"></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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="0">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer83</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Device:</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_staticText12</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\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
+ <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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textCtrlTxIn</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Sample Rate:</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_staticText11</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\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="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="choices"></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="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_cbSampleRateTxIn</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="selection">-1</property>\r
+ <property name="show">1</property>\r
+ <property name="size"></property>\r
+ <property name="style">wxCB_DROPDOWN</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="value"></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="OnCombobox"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">Tx Radio Stream</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer21</property>\r
+ <property name="orient">wxVERTICAL</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="flag">wxALL|wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxListCtrl" expanded="0">\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="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_listCtrlTxOutDevices</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">wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</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="OnListBeginDrag"></event>\r
+ <event name="OnListBeginLabelEdit"></event>\r
+ <event name="OnListBeginRDrag"></event>\r
+ <event name="OnListCacheHint"></event>\r
+ <event name="OnListColBeginDrag"></event>\r
+ <event name="OnListColClick"></event>\r
+ <event name="OnListColDragging"></event>\r
+ <event name="OnListColEndDrag"></event>\r
+ <event name="OnListColRightClick"></event>\r
+ <event name="OnListDeleteAllItems"></event>\r
+ <event name="OnListDeleteItem"></event>\r
+ <event name="OnListEndLabelEdit"></event>\r
+ <event name="OnListInsertItem"></event>\r
+ <event name="OnListItemActivated"></event>\r
+ <event name="OnListItemDeselected"></event>\r
+ <event name="OnListItemFocused"></event>\r
+ <event name="OnListItemMiddleClick"></event>\r
+ <event name="OnListItemRightClick"></event>\r
+ <event name="OnListItemSelected">OnTxOutDeviceSelect</event>\r
+ <event name="OnListKeyDown"></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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer82</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Device:</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_staticText81</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\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
+ <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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textCtrTxOut</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" 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">Sample Rate:</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_staticText71</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\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="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="choices"></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="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_cbSampleRateTxOut</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="selection">-1</property>\r
+ <property name="show">1</property>\r
+ <property name="size"></property>\r
+ <property name="style">wxCB_DROPDOWN</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="value"></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="OnCombobox"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="notebookpage" expanded="1">\r
+ <property name="bitmap"></property>\r
+ <property name="label">API Info</property>\r
+ <property name="select">0</property>\r
+ <object class="wxPanel" 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="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_panelAPI</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="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">wxTAB_TRAVERSAL</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="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer12</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxGridSizer" expanded="1">\r
+ <property name="cols">1</property>\r
+ <property name="hgap">0</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">gSizer31</property>\r
+ <property name="permission">none</property>\r
+ <property name="rows">2</property>\r
+ <property name="vgap">0</property>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="1">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">PortAudio</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer1</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxGridSizer" expanded="1">\r
+ <property name="cols">2</property>\r
+ <property name="hgap">0</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">gSizer3</property>\r
+ <property name="permission">none</property>\r
+ <property name="rows">4</property>\r
+ <property name="vgap">0</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" expanded="0">\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">PortAudio Version String:</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_staticText7</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="0">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer151</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALL|wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxTextCtrl" expanded="0">\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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textStringVer</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">wxTE_READONLY</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" expanded="0">\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">PortAudio Int Version:</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_staticText8</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="0">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer13</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALL|wxALIGN_CENTER_VERTICAL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxTextCtrl" expanded="0">\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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size"></property>\r
+ <property name="maxlength">0</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_textIntVer</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">wxTE_READONLY</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" expanded="0">\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">Device Count:</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_staticText5</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="0">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer14</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxTextCtrl" expanded="0">\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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size">45,-1</property>\r
+ <property name="maxlength">0</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_textCDevCount</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">45,-1</property>\r
+ <property name="style">wxTE_READONLY</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxStaticText" expanded="0">\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">API Count:</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_staticText4</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
+ <property name="wrap">-1</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>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxBoxSizer" expanded="0">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer15</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">1</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxTextCtrl" expanded="0">\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="max_size"></property>\r
+ <property name="maximize_button">0</property>\r
+ <property name="maximum_size">45,-1</property>\r
+ <property name="maxlength">0</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_textAPICount</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">45,-1</property>\r
+ <property name="style">wxTE_READONLY</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="value"></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="OnText"></event>\r
+ <event name="OnTextEnter"></event>\r
+ <event name="OnTextMaxLen"></event>\r
+ <event name="OnTextURL"></event>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">5</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStaticBoxSizer" expanded="0">\r
+ <property name="id">wxID_ANY</property>\r
+ <property name="label">Other</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">sbSizer6</property>\r
+ <property name="orient">wxVERTICAL</property>\r
+ <property name="permission">none</property>\r
+ <event name="OnUpdateUI"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxEXPAND</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxBoxSizer" expanded="1">\r
+ <property name="minimum_size"></property>\r
+ <property name="name">bSizer6</property>\r
+ <property name="orient">wxHORIZONTAL</property>\r
+ <property name="permission">none</property>\r
+ <object class="sizeritem" expanded="0">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxALIGN_CENTER|wxALL</property>\r
+ <property name="proportion">0</property>\r
+ <object class="wxButton" expanded="0">\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">0</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">Refresh</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_btnRefresh</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="OnButtonClick">OnRefreshClick</event>\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>\r
+ </object>\r
+ <object class="sizeritem" expanded="1">\r
+ <property name="border">2</property>\r
+ <property name="flag">wxALIGN_CENTER_VERTICAL</property>\r
+ <property name="proportion">1</property>\r
+ <object class="wxStdDialogButtonSizer" expanded="1">\r
+ <property name="Apply">1</property>\r
+ <property name="Cancel">1</property>\r
+ <property name="ContextHelp">0</property>\r
+ <property name="Help">0</property>\r
+ <property name="No">0</property>\r
+ <property name="OK">1</property>\r
+ <property name="Save">0</property>\r
+ <property name="Yes">0</property>\r
+ <property name="minimum_size"></property>\r
+ <property name="name">m_sdbSizer1</property>\r
+ <property name="permission">protected</property>\r
+ <event name="OnApplyButtonClick">OnApplyAudioParameters</event>\r
+ <event name="OnCancelButtonClick">OnCancelAudioParameters</event>\r
+ <event name="OnContextHelpButtonClick"></event>\r
+ <event name="OnHelpButtonClick"></event>\r
+ <event name="OnNoButtonClick"></event>\r
+ <event name="OnOKButtonClick">OnOkAudioParameters</event>\r
+ <event name="OnSaveButtonClick"></event>\r
+ <event name="OnYesButtonClick"></event>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+</wxFormBuilder_Project>\r
--- /dev/null
+///////////////////////////////////////////////////////////////////////////\r
+// C++ code generated with wxFormBuilder (version Mar 17 2012)\r
+// http://www.wxformbuilder.org/\r
+//\r
+// PLEASE DO "NOT" EDIT THIS FILE!\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+#ifndef __GUI_H__\r
+#define __GUI_H__\r
+\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/gdicmn.h>\r
+#include <wx/font.h>\r
+#include <wx/colour.h>\r
+#include <wx/settings.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
+\r
+///////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+///////////////////////////////////////////////////////////////////////////////\r
+/// Class MainFrameBase\r
+///////////////////////////////////////////////////////////////////////////////\r
+class MainFrameBase : public wxFrame \r
+{\r
+ private:\r
+ \r
+ protected:\r
+ wxPanel* m_panel1;\r
+ wxNotebook* m_notebook1;\r
+ wxPanel* m_panelRx;\r
+ wxListCtrl* m_listCtrlRxInDevices;\r
+ wxStaticText* m_staticText51;\r
+ wxTextCtrl* m_textCtrlRxIn;\r
+ wxStaticText* m_staticText6;\r
+ wxComboBox* m_cbSampleRateRxIn;\r
+ wxListCtrl* m_listCtrlRxOutDevices;\r
+ wxStaticText* m_staticText9;\r
+ wxTextCtrl* m_textRxOut;\r
+ wxStaticText* m_staticText10;\r
+ wxComboBox* m_cbSampleRateRxOut;\r
+ wxPanel* m_panelTx;\r
+ wxListCtrl* m_listCtrlTxInDevices;\r
+ wxStaticText* m_staticText12;\r
+ wxTextCtrl* m_textCtrlTxIn;\r
+ wxStaticText* m_staticText11;\r
+ wxComboBox* m_cbSampleRateTxIn;\r
+ wxListCtrl* m_listCtrlTxOutDevices;\r
+ wxStaticText* m_staticText81;\r
+ wxTextCtrl* m_textCtrTxOut;\r
+ wxStaticText* m_staticText71;\r
+ wxComboBox* m_cbSampleRateTxOut;\r
+ wxPanel* m_panelAPI;\r
+ wxStaticText* m_staticText7;\r
+ wxTextCtrl* m_textStringVer;\r
+ wxStaticText* m_staticText8;\r
+ wxTextCtrl* m_textIntVer;\r
+ wxStaticText* m_staticText5;\r
+ wxTextCtrl* m_textCDevCount;\r
+ wxStaticText* m_staticText4;\r
+ wxTextCtrl* m_textAPICount;\r
+ wxButton* m_btnRefresh;\r
+ wxStdDialogButtonSizer* m_sdbSizer1;\r
+ wxButton* m_sdbSizer1OK;\r
+ wxButton* m_sdbSizer1Apply;\r
+ wxButton* m_sdbSizer1Cancel;\r
+ \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 OnRxInDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
+ virtual void OnRxOutDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
+ virtual void OnTxInDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
+ virtual void OnTxOutDeviceSelect( wxListEvent& event ) { event.Skip(); }\r
+ virtual void OnRefreshClick( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnApplyAudioParameters( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnCancelAudioParameters( wxCommandEvent& event ) { event.Skip(); }\r
+ virtual void OnOkAudioParameters( wxCommandEvent& event ) { event.Skip(); }\r
+ \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( 790,400 ), long style = wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL );\r
+ \r
+ ~MainFrameBase();\r
+ \r
+};\r
+\r
+#endif //__GUI_H__\r
--- /dev/null
+# -*- coding: utf-8 -*- \r
+\r
+###########################################################################\r
+## Python code generated with wxFormBuilder (version Mar 17 2012)\r
+## http://www.wxformbuilder.org/\r
+##\r
+## PLEASE DO "NOT" EDIT THIS FILE!\r
+###########################################################################\r
+\r
+import wx\r
+import wx.xrc\r
+\r
+import gettext\r
+_ = gettext.gettext\r
+\r
+###########################################################################\r
+## Class MainFrameBase\r
+###########################################################################\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( 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
+ mainSizer = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
+ bSizer4 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_notebook1 = wx.Notebook( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.NB_BOTTOM )\r
+ self.m_panelRx = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
+ bSizer20 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ gSizer4 = wx.GridSizer( 2, 1, 0, 0 )\r
+ \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, 1 )\r
+ \r
+ bSizer811 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ self.m_staticText51 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText51.Wrap( -1 )\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, 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
+ bSizer811.Add( self.m_staticText6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\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, 1 )\r
+ \r
+ \r
+ sbSizer2.Add( bSizer811, 0, wx.EXPAND, 5 )\r
+ \r
+ \r
+ gSizer4.Add( sbSizer2, 1, wx.EXPAND, 5 )\r
+ \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, 1 )\r
+ \r
+ bSizer81 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ self.m_staticText9 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText9.Wrap( -1 )\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, 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
+ bSizer81.Add( self.m_staticText10, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\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, 1 )\r
+ \r
+ \r
+ sbSizer3.Add( bSizer81, 0, wx.EXPAND, 2 )\r
+ \r
+ \r
+ gSizer4.Add( sbSizer3, 1, wx.EXPAND, 2 )\r
+ \r
+ \r
+ bSizer20.Add( gSizer4, 1, wx.EXPAND, 1 )\r
+ \r
+ \r
+ self.m_panelRx.SetSizer( bSizer20 )\r
+ self.m_panelRx.Layout()\r
+ bSizer20.Fit( self.m_panelRx )\r
+ self.m_notebook1.AddPage( self.m_panelRx, _(u"Receive"), True )\r
+ self.m_panelTx = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
+ bSizer18 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ gSizer2 = wx.GridSizer( 2, 1, 0, 0 )\r
+ \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, 1 )\r
+ \r
+ bSizer83 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ self.m_staticText12 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText12.Wrap( -1 )\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, 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
+ bSizer83.Add( self.m_staticText11, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\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, 1 )\r
+ \r
+ \r
+ sbSizer22.Add( bSizer83, 0, wx.EXPAND, 2 )\r
+ \r
+ \r
+ gSizer2.Add( sbSizer22, 1, wx.EXPAND, 5 )\r
+ \r
+ sbSizer21 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelTx, wx.ID_ANY, _(u"Tx Radio Stream") ), wx.VERTICAL )\r
+ \r
+ self.m_listCtrlTxOutDevices = wx.ListCtrl( self.m_panelTx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES )\r
+ sbSizer21.Add( self.m_listCtrlTxOutDevices, 1, wx.ALL|wx.EXPAND, 2 )\r
+ \r
+ bSizer82 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ self.m_staticText81 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText81.Wrap( -1 )\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, 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
+ bSizer82.Add( self.m_staticText71, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 )\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, 1 )\r
+ \r
+ \r
+ sbSizer21.Add( bSizer82, 0, wx.EXPAND, 2 )\r
+ \r
+ \r
+ gSizer2.Add( sbSizer21, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer18.Add( gSizer2, 1, wx.EXPAND, 1 )\r
+ \r
+ \r
+ self.m_panelTx.SetSizer( bSizer18 )\r
+ self.m_panelTx.Layout()\r
+ bSizer18.Fit( self.m_panelTx )\r
+ self.m_notebook1.AddPage( self.m_panelTx, _(u"Transmit"), False )\r
+ self.m_panelAPI = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )\r
+ bSizer12 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ gSizer31 = wx.GridSizer( 2, 1, 0, 0 )\r
+ \r
+ sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio") ), wx.VERTICAL )\r
+ \r
+ gSizer3 = wx.GridSizer( 4, 2, 0, 0 )\r
+ \r
+ self.m_staticText7 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio Version String:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText7.Wrap( -1 )\r
+ gSizer3.Add( self.m_staticText7, 0, wx.ALIGN_RIGHT|wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 )\r
+ \r
+ bSizer151 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_textStringVer = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY )\r
+ bSizer151.Add( self.m_textStringVer, 0, wx.ALL|wx.EXPAND, 1 )\r
+ \r
+ \r
+ gSizer3.Add( bSizer151, 1, wx.EXPAND, 2 )\r
+ \r
+ self.m_staticText8 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio Int Version:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText8.Wrap( -1 )\r
+ gSizer3.Add( self.m_staticText8, 0, wx.ALIGN_RIGHT|wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 )\r
+ \r
+ bSizer13 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_textIntVer = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY )\r
+ bSizer13.Add( self.m_textIntVer, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 )\r
+ \r
+ \r
+ gSizer3.Add( bSizer13, 1, wx.EXPAND, 5 )\r
+ \r
+ self.m_staticText5 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"Device Count:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText5.Wrap( -1 )\r
+ gSizer3.Add( self.m_staticText5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 1 )\r
+ \r
+ bSizer14 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_textCDevCount = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_READONLY )\r
+ self.m_textCDevCount.SetMaxSize( wx.Size( 45,-1 ) )\r
+ \r
+ bSizer14.Add( self.m_textCDevCount, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
+ \r
+ \r
+ gSizer3.Add( bSizer14, 1, wx.EXPAND, 5 )\r
+ \r
+ self.m_staticText4 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"API Count:"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ self.m_staticText4.Wrap( -1 )\r
+ gSizer3.Add( self.m_staticText4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 1 )\r
+ \r
+ bSizer15 = wx.BoxSizer( wx.VERTICAL )\r
+ \r
+ self.m_textAPICount = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_READONLY )\r
+ self.m_textAPICount.SetMaxSize( wx.Size( 45,-1 ) )\r
+ \r
+ bSizer15.Add( self.m_textAPICount, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 )\r
+ \r
+ \r
+ gSizer3.Add( bSizer15, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ sbSizer1.Add( gSizer3, 1, wx.EXPAND, 2 )\r
+ \r
+ \r
+ gSizer31.Add( sbSizer1, 1, wx.EXPAND, 2 )\r
+ \r
+ sbSizer6 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelAPI, wx.ID_ANY, _(u"Other") ), wx.VERTICAL )\r
+ \r
+ \r
+ gSizer31.Add( sbSizer6, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ bSizer12.Add( gSizer31, 1, wx.EXPAND, 5 )\r
+ \r
+ \r
+ self.m_panelAPI.SetSizer( bSizer12 )\r
+ self.m_panelAPI.Layout()\r
+ bSizer12.Fit( self.m_panelAPI )\r
+ self.m_notebook1.AddPage( self.m_panelAPI, _(u"API Info"), False )\r
+ \r
+ bSizer4.Add( self.m_notebook1, 1, wx.EXPAND |wx.ALL, 0 )\r
+ \r
+ \r
+ self.m_panel1.SetSizer( bSizer4 )\r
+ self.m_panel1.Layout()\r
+ bSizer4.Fit( self.m_panel1 )\r
+ mainSizer.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 1 )\r
+ \r
+ bSizer6 = wx.BoxSizer( wx.HORIZONTAL )\r
+ \r
+ self.m_btnRefresh = wx.Button( self, wx.ID_ANY, _(u"Refresh"), wx.DefaultPosition, wx.DefaultSize, 0 )\r
+ bSizer6.Add( self.m_btnRefresh, 0, wx.ALIGN_CENTER|wx.ALL, 2 )\r
+ \r
+ m_sdbSizer1 = wx.StdDialogButtonSizer()\r
+ self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK )\r
+ m_sdbSizer1.AddButton( self.m_sdbSizer1OK )\r
+ self.m_sdbSizer1Apply = wx.Button( self, wx.ID_APPLY )\r
+ m_sdbSizer1.AddButton( self.m_sdbSizer1Apply )\r
+ self.m_sdbSizer1Cancel = wx.Button( self, wx.ID_CANCEL )\r
+ m_sdbSizer1.AddButton( self.m_sdbSizer1Cancel )\r
+ m_sdbSizer1.Realize();\r
+ \r
+ bSizer6.Add( m_sdbSizer1, 1, wx.ALIGN_CENTER_VERTICAL, 2 )\r
+ \r
+ \r
+ mainSizer.Add( bSizer6, 0, wx.EXPAND, 2 )\r
+ \r
+ \r
+ self.SetSizer( mainSizer )\r
+ self.Layout()\r
+ \r
+ self.Centre( wx.BOTH )\r
+ \r
+ # Connect Events\r
+ self.Bind( wx.EVT_ACTIVATE_APP, self.OnActivateApp )\r
+ self.Bind( wx.EVT_CLOSE, self.OnCloseFrame )\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
+ self.m_listCtrlTxOutDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnTxOutDeviceSelect )\r
+ self.m_btnRefresh.Bind( wx.EVT_BUTTON, self.OnRefreshClick )\r
+ self.m_sdbSizer1Apply.Bind( wx.EVT_BUTTON, self.OnApplyAudioParameters )\r
+ self.m_sdbSizer1Cancel.Bind( wx.EVT_BUTTON, self.OnCancelAudioParameters )\r
+ self.m_sdbSizer1OK.Bind( wx.EVT_BUTTON, self.OnOkAudioParameters )\r
+ \r
+ def __del__( self ):\r
+ pass\r
+ \r
+ \r
+ # Virtual event handlers, overide them in your derived class\r
+ def OnActivateApp( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnCloseFrame( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnRxInDeviceSelect( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnRxOutDeviceSelect( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnTxInDeviceSelect( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnTxOutDeviceSelect( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnRefreshClick( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnApplyAudioParameters( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnCancelAudioParameters( self, event ):\r
+ event.Skip()\r
+ \r
+ def OnOkAudioParameters( self, event ):\r
+ event.Skip()\r
+ \r
+\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\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>790,400</size>\r
+ <title>PortAudio Device Enumeration</title>\r
+ <centered>1</centered>\r
+ <aui_managed>0</aui_managed>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND | wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxPanel" name="m_panel1">\r
+ <style>wxTAB_TRAVERSAL</style>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND | wxALL</flag>\r
+ <border>0</border>\r
+ <object class="wxNotebook" name="m_notebook1">\r
+ <style>wxNB_BOTTOM</style>\r
+ <object class="notebookpage">\r
+ <label>Receive</label>\r
+ <selected>1</selected>\r
+ <object class="wxPanel" name="m_panelRx">\r
+ <style>wxTAB_TRAVERSAL</style>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxGridSizer">\r
+ <rows>2</rows>\r
+ <cols>1</cols>\r
+ <vgap>0</vgap>\r
+ <hgap>0</hgap>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>Rx Radio Device</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALL|wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxListCtrl" name="m_listCtrlRxInDevices">\r
+ <style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText51">\r
+ <label>Device:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textCtrlRxIn">\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText6">\r
+ <label>Sample Rate:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxComboBox" name="m_cbSampleRateRxIn">\r
+ <style>wxCB_DROPDOWN</style>\r
+ <value></value>\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>Rx Speaker Stream</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALL|wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxListCtrl" name="m_listCtrlRxOutDevices">\r
+ <style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText9">\r
+ <label>Device:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textRxOut">\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText10">\r
+ <label>Sample Rate:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxComboBox" name="m_cbSampleRateRxOut">\r
+ <style>wxCB_DROPDOWN</style>\r
+ <value></value>\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="notebookpage">\r
+ <label>Transmit</label>\r
+ <selected>0</selected>\r
+ <object class="wxPanel" name="m_panelTx">\r
+ <style>wxTAB_TRAVERSAL</style>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxGridSizer">\r
+ <rows>2</rows>\r
+ <cols>1</cols>\r
+ <vgap>0</vgap>\r
+ <hgap>0</hgap>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>Tx Microphone Stream</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALL|wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxListCtrl" name="m_listCtrlTxInDevices">\r
+ <style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText12">\r
+ <label>Device:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textCtrlTxIn">\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText11">\r
+ <label>Sample Rate:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxComboBox" name="m_cbSampleRateTxIn">\r
+ <style>wxCB_DROPDOWN</style>\r
+ <value></value>\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>Tx Radio Stream</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALL|wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxListCtrl" name="m_listCtrlTxOutDevices">\r
+ <style>wxLC_HRULES|wxLC_REPORT|wxLC_VRULES</style>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText81">\r
+ <label>Device:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textCtrTxOut">\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticText" name="m_staticText71">\r
+ <label>Sample Rate:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxComboBox" name="m_cbSampleRateTxOut">\r
+ <style>wxCB_DROPDOWN</style>\r
+ <value></value>\r
+ <content />\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="notebookpage">\r
+ <label>API Info</label>\r
+ <selected>0</selected>\r
+ <object class="wxPanel" name="m_panelAPI">\r
+ <style>wxTAB_TRAVERSAL</style>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxGridSizer">\r
+ <rows>2</rows>\r
+ <cols>1</cols>\r
+ <vgap>0</vgap>\r
+ <hgap>0</hgap>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>PortAudio</label>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxGridSizer">\r
+ <rows>4</rows>\r
+ <cols>2</cols>\r
+ <vgap>0</vgap>\r
+ <hgap>0</hgap>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticText" name="m_staticText7">\r
+ <label>PortAudio Version String:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALL|wxEXPAND</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textStringVer">\r
+ <style>wxTE_READONLY</style>\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticText" name="m_staticText8">\r
+ <label>PortAudio Int Version:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALL|wxALIGN_CENTER_VERTICAL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textIntVer">\r
+ <style>wxTE_READONLY</style>\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticText" name="m_staticText5">\r
+ <label>Device Count:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textCDevCount">\r
+ <style>wxTE_READONLY</style>\r
+ <size>45,-1</size>\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxStaticText" name="m_staticText4">\r
+ <label>API Count:</label>\r
+ <wrap>-1</wrap>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>\r
+ <border>1</border>\r
+ <object class="wxTextCtrl" name="m_textAPICount">\r
+ <style>wxTE_READONLY</style>\r
+ <size>45,-1</size>\r
+ <value></value>\r
+ <maxlength>0</maxlength>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>5</border>\r
+ <object class="wxStaticBoxSizer">\r
+ <orient>wxVERTICAL</orient>\r
+ <label>Other</label>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxEXPAND</flag>\r
+ <border>2</border>\r
+ <object class="wxBoxSizer">\r
+ <orient>wxHORIZONTAL</orient>\r
+ <object class="sizeritem">\r
+ <option>0</option>\r
+ <flag>wxALIGN_CENTER|wxALL</flag>\r
+ <border>2</border>\r
+ <object class="wxButton" name="m_btnRefresh">\r
+ <label>Refresh</label>\r
+ <default>0</default>\r
+ </object>\r
+ </object>\r
+ <object class="sizeritem">\r
+ <option>1</option>\r
+ <flag>wxALIGN_CENTER_VERTICAL</flag>\r
+ <border>2</border>\r
+ <object class="wxStdDialogButtonSizer">\r
+ <object class="button">\r
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxButton" name="wxID_OK">\r
+ <label>&OK</label>\r
+ </object>\r
+ </object>\r
+ <object class="button">\r
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxButton" name="wxID_APPLY">\r
+ <label>&Apply</label>\r
+ </object>\r
+ </object>\r
+ <object class="button">\r
+ <flag>wxALIGN_CENTER_HORIZONTAL|wxALL</flag>\r
+ <border>5</border>\r
+ <object class="wxButton" name="wxID_CANCEL">\r
+ <label>&Cancel</label>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+ </object>\r
+</resource>\r
--- /dev/null
+//=========================================================================\r
+// Name: main.cpp\r
+// Purpose: Implements simple wxWidgets application with GUI\r
+// created using wxFormBuilder.\r
+// Author:\r
+// Created:\r
+// Copyright:\r
+// License: wxWidgets license (www.wxwidgets.org)\r
+//\r
+// Notes: Note that all GUI creation code is implemented in\r
+// gui.cpp source file which is generated by wxFormBuilder.\r
+//=========================================================================\r
+#include "main.h"\r
+\r
+// initialize the application\r
+IMPLEMENT_APP(MainApp);\r
+\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// application class implementation\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+bool MainApp::OnInit()\r
+{\r
+ SetTopWindow(new MainFrame(NULL));\r
+ GetTopWindow()->Show();\r
+ // true = enter the main loop\r
+ return true;\r
+}\r
+\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// main application frame implementation\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+MainFrame::MainFrame(wxWindow *parent) : MainFrameBase(parent)\r
+{\r
+ m_isPaInitialized = false;\r
+ wxInitAllImageHandlers();\r
+ // Give it an icon\r
+ SetIcon(wxICON("../bitmaps/sample.ico"));\r
+\r
+ // Make an image list containing large icons\r
+ m_imageListNormal = new wxImageList(32, 32, true);\r
+ m_imageListSmall = new wxImageList(16, 16, true);\r
+\r
+#ifdef __WXMSW__\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolchec.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/transparent.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolchar.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/tooldata.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolgame.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolnote.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/tooltime.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/inArrow16x16.ico"), wxBITMAP_TYPE_ICO));\r
+ m_imageListSmall->Add(wxIcon(wxT("bitmaps/outArrow16x16.ico"), wxBITMAP_TYPE_ICO));\r
+#else\r
+ m_imageListNormal->Add(wxIcon( toolbrai_xpm ));\r
+ m_imageListNormal->Add(wxIcon( toolchar_xpm ));\r
+ m_imageListNormal->Add(wxIcon( tooldata_xpm ));\r
+ m_imageListNormal->Add(wxIcon( toolnote_xpm ));\r
+ m_imageListNormal->Add(wxIcon( tooltodo_xpm ));\r
+ m_imageListNormal->Add(wxIcon( toolchec_xpm ));\r
+ m_imageListNormal->Add(wxIcon( toolgame_xpm ));\r
+ m_imageListNormal->Add(wxIcon( tooltime_xpm ));\r
+ m_imageListNormal->Add(wxIcon( toolword_xpm ));\r
+ m_imageListSmall->Add(wxIcon(small1_xpm));\r
+#endif\r
+ if(!m_isPaInitialized)\r
+ {\r
+ if((pa_err = Pa_Initialize()) == paNoError)\r
+ {\r
+ m_isPaInitialized = true;\r
+ }\r
+ else\r
+ {\r
+ wxMessageBox(wxT("Port Audio failed to initialize"), wxT("Pa_Initialize"), wxOK);\r
+ return;\r
+ }\r
+ }\r
+ m_notebook1->SetSelection(0);\r
+ showAPIInfo();\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
+// ~MainFrame()\r
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+MainFrame::~MainFrame()\r
+{\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// OnCloseFrame()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::OnCloseFrame(wxCloseEvent& event)
+{\r
+ if(m_isPaInitialized)\r
+ {\r
+ if((pa_err = Pa_Terminate()) == paNoError)\r
+ {\r
+ m_isPaInitialized = false;\r
+ }\r
+ else\r
+ {\r
+ wxMessageBox(wxT("Port Audio failed to Terminate"), wxT("Pa_Terminate"), wxOK);\r
+ }\r
+ }\r
+ Destroy();
+}
+
+//-------------------------------------------------------------------------\r
+// OnExitClick()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::OnExitClick(wxCommandEvent& event)
+{\r
+ if(m_isPaInitialized)\r
+ {\r
+ if((pa_err = Pa_Terminate()) == paNoError)\r
+ {\r
+ m_isPaInitialized = false;\r
+ }\r
+ else\r
+ {\r
+ wxMessageBox(wxT("Port Audio failed to Terminate"), wxT("Pa_Terminate"), wxOK);\r
+ }\r
+ }\r
+ Destroy();
+}
+\r
+/*\r
+//-------------------------------------------------------------------------\r
+// getSelectedItems()\r
+//-------------------------------------------------------------------------\r
+long *MainFrame::getSelectedItems(wxListCtrl*listCtrl)\r
+{\r
+ long *items[];\r
+ long item = listCtrl->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);\r
+ items[0] = item;\r
+ while ( item != -1 )\r
+ {\r
+ wxLogMessage(wxT("\t%ld (%s)"), item, listCtrl->GetItemText(item).c_str());\r
+ if ( ++shownCount > 10 )\r
+ {\r
+ wxLogMessage(wxT("\t... more selected items snipped..."));\r
+ break;\r
+ }\r
+ item = listCtrl->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);\r
+ }\r
+} return items;\r
+*/\r
+\r
+//-------------------------------------------------------------------------\r
+// OnDeviceSelect()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::OnDeviceSelect( wxListEvent& event )\r
+{\r
+ wxListItem info;\r
+ long item;\r
+ item = m_listCtrlRxInDevices->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);\r
+ wxMessageBox(m_listCtrlRxInDevices->GetItemText(item, 2), wxT("Item"), wxOK);\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// DisplaySupportedSampleRates()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::DisplaySupportedSampleRates(const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters)\r
+{\r
+ static double standardSampleRates[] =\r
+ {\r
+ 8000.0, 9600.0,\r
+ 11025.0, 12000.0,\r
+ 16000.0, 22050.0,\r
+ 24000.0, 32000.0,\r
+ 44100.0, 48000.0,\r
+ 88200.0, 96000.0,\r
+ 192000.0, -1 // negative terminated list\r
+ };\r
+ int i;\r
+ int printCount;\r
+ PaError err;\r
+\r
+ printCount = 0;\r
+ for(i=0; standardSampleRates[i] > 0; i++)\r
+ {\r
+ err = Pa_IsFormatSupported(inputParameters, outputParameters, standardSampleRates[i]);\r
+ if(err == paFormatIsSupported)\r
+ {\r
+ if(printCount == 0)\r
+ {\r
+ printf("\t%8.2f", standardSampleRates[i]);\r
+ printCount = 1;\r
+ }\r
+ else if(printCount == 4)\r
+ {\r
+ printf(",\n\t%8.2f", standardSampleRates[i]);\r
+ printCount = 1;\r
+ }\r
+ else\r
+ {\r
+ printf(", %8.2f", standardSampleRates[i]);\r
+ ++printCount;\r
+ }\r
+ }\r
+ }\r
+ if(!printCount)\r
+ {\r
+ printf("None\n");\r
+ }\r
+ else\r
+ {\r
+ printf("\n");\r
+ }\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// OnRefreshClick()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::OnRefreshClick(wxCommandEvent& event)\r
+{\r
+ m_notebook1->SetSelection(0);\r
+ showAPIInfo();\r
+ populateParams(m_RxInDevices);\r
+ populateParams(m_RxOutDevices);\r
+ populateParams(m_TxInDevices);\r
+ populateParams(m_TxOutDevices);\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// GetAPIInfo()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::showAPIInfo()\r
+{\r
+ wxString strval;\r
+ int apiCount = 0;\r
+ int numDevices = 0;\r
+\r
+ strval = Pa_GetVersionText();\r
+ m_textStringVer->SetValue(strval);\r
+\r
+ numDevices = Pa_GetVersion();\r
+ strval.Printf(wxT("%d"), numDevices);\r
+ m_textIntVer->SetValue(strval);\r
+\r
+ apiCount = Pa_GetHostApiCount();\r
+ strval.Printf(wxT("%d"), apiCount);\r
+ m_textAPICount->SetValue(strval);\r
+\r
+ numDevices = Pa_GetDeviceCount();\r
+ strval.Printf(wxT("%d"), numDevices);\r
+ m_textCDevCount->SetValue(strval);\r
+}\r
+\r
+//-------------------------------------------------------------------------\r
+// populateParams()\r
+//-------------------------------------------------------------------------\r
+void MainFrame::populateParams(AudioInfoDisplay ai) //wxListCtrl* ctrl, int in_out)\r
+{\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 devn;\r
+\r
+ numDevices = Pa_GetDeviceCount();\r
+\r
+ if(ctrl->GetColumnCount() > 0)\r
+ {\r
+ ctrl->ClearAll();\r
+ }\r
+ ctrl->SetImageList(m_imageListSmall, wxIMAGE_LIST_SMALL);\r
+\r
+ listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
+ listItem.SetText(wxT("Sel"));\r
+ idx = ctrl->InsertColumn(0, listItem);\r
+ ctrl->SetColumnWidth(0, 37);\r
+\r
+ listItem.SetAlign(wxLIST_FORMAT_CENTRE);\r
+ listItem.SetText(wxT("Dflt"));\r
+ idx = ctrl->InsertColumn(1, listItem);\r
+ ctrl->SetColumnWidth(1, 37);\r
+\r
+ listItem.SetAlign(wxLIST_FORMAT_LEFT);\r
+ listItem.SetText(wxT("Device"));\r
+ idx = ctrl->InsertColumn(2, listItem);\r
+ ctrl->SetColumnWidth(2, 190);\r
+\r
+ listItem.SetAlign(wxLIST_FORMAT_LEFT);\r
+ listItem.SetText(wxT("API"));\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
+ 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("# Outputs"));\r
+ idx = ctrl->InsertColumn(4, listItem);\r
+ ctrl->SetColumnWidth(4, 75);\r
+ }\r
+\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
+ if(deviceInfo->maxInputChannels > 0)\r
+ {\r
+ idx = ctrl->InsertItem(j, ICON_TRANSPARENT);\r
+ defaultDisplayed = false;\r
+ if(devn == Pa_GetDefaultInputDevice())\r
+ {\r
+ buf.Printf("->>");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ defaultDisplayed = true;\r
+ }\r
+ else if(devn == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultInputDevice)\r
+ {\r
+ buf.Printf("-->");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ defaultDisplayed = true;\r
+ }\r
+ else\r
+ {\r
+ buf.Printf("---");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ }\r
+ buf.Printf(wxT("%s"), deviceInfo->name);\r
+ ctrl->SetItem(idx, 2, buf);\r
+\r
+ buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name);\r
+ ctrl->SetItem(idx, 3, buf);\r
+\r
+ buf.Printf(wxT("%i"), deviceInfo->maxInputChannels);\r
+ ctrl->SetItem(idx, 4, buf);\r
+\r
+ buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowInputLatency);\r
+ ctrl->SetItem(idx, 5, buf);\r
+\r
+ buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighInputLatency);\r
+ ctrl->SetItem(idx, 6, buf);\r
+ }\r
+ }\r
+ else if(in_out == AUDIO_OUT)\r
+ {\r
+ if(deviceInfo->maxOutputChannels > 0)\r
+ {\r
+ idx = ctrl->InsertItem(j, ICON_TRANSPARENT);\r
+ defaultDisplayed = false;\r
+ if(devn == Pa_GetDefaultOutputDevice())\r
+ {\r
+ buf.Printf("<<-");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ defaultDisplayed = true;\r
+ }\r
+ else if(devn == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultOutputDevice)\r
+ {\r
+ buf.Printf("<--");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ defaultDisplayed = true;\r
+ }\r
+ else\r
+ {\r
+ buf.Printf("---");\r
+ ctrl->SetItem(idx, 1, buf);\r
+ }\r
+ buf.Printf(wxT("%s"), deviceInfo->name);\r
+ ctrl->SetItem(idx, 2, buf);\r
+\r
+ buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name);\r
+ ctrl->SetItem(idx, 3, buf);\r
+\r
+ buf.Printf(wxT("%i"), deviceInfo->maxOutputChannels);\r
+ ctrl->SetItem(idx, 4, buf);\r
+\r
+ buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowOutputLatency);\r
+ ctrl->SetItem(idx, 5, buf);\r
+\r
+ buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighOutputLatency);\r
+ ctrl->SetItem(idx, 6, buf);\r
+ }\r
+ }\r
+ j++;\r
+ }\r
+}\r
+\r
--- /dev/null
+//=========================================================================\r
+// Name: main.h
+// Purpose: Declares simple wxWidgets application with GUI
+// created using wxFormBuilder.
+// Author:
+// Created:
+// Copyright:
+// License: wxWidgets license (www.wxwidgets.org)
+//
+// Notes: Note that all GUI creation code is declared in
+// gui.h source file which is generated by wxFormBuilder.
+//=========================================================================\r
+#ifndef __main__
+#define __main__
+
+// main wxWidgets header file
+#include <wx/wx.h>
+#include <wx/textctrl.h>\r
+#if !defined(__WXMSW__) && !defined(__WXPM__)
+ #include "../bitmaps/sample.xpm"
+#endif
+
+#ifndef __WXMSW__
+ #include "bitmaps/toolbrai.xpm"
+ #include "bitmaps/toolchar.xpm"
+ #include "bitmaps/tooldata.xpm"
+ #include "bitmaps/toolnote.xpm"
+ #include "bitmaps/tooltodo.xpm"
+ #include "bitmaps/toolchec.xpm"
+ #include "bitmaps/toolgame.xpm"
+ #include "bitmaps/tooltime.xpm"
+ #include "bitmaps/toolword.xpm"
+ #include "bitmaps/small1.xpm"
+#endif
+\r
+#define AUDIO_IN 0\r
+#define AUDIO_OUT 1\r
+\r
+#define ICON_TRANSPARENT 1\r
+#define ICON_CHECK 0\r
+#define ICON_toolchar 2\r
+#define ICON_tooldata 3\r
+#define ICON_toolgame 4\r
+#define ICON_toolnote 5\r
+#define ICON_TOOLTIME 6\r
+#define ICON_INARROW 7\r
+#define ICON_OUTARROW 8\r
+
+// gui classes generated by wxFormBuilder
+#include "gui.h"
+#include "portaudio.h"\r
+#ifdef WIN32
+#if PA_USE_ASIO
+#include "pa_asio.h"
+#endif
+#endif
+
+
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\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)
+
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+// main application frame declaration
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=\r
+class MainFrame : public MainFrameBase
+{
+ public:
+ MainFrame( wxWindow *parent );
+ virtual ~MainFrame();
+ PaError pa_err;
+ bool m_isPaInitialized;\r
+ wxImageList *m_imageListNormal;
+ wxImageList *m_imageListSmall;
+
+ protected:
+ // protected event handlers
+ void OnCloseFrame( wxCloseEvent& event );
+ void OnDeviceSelect( wxListEvent& event );\r
+
+ void OnExitClick( wxCommandEvent& event );
+ void OnRefreshClick( wxCommandEvent& event );\r
+ void DisplaySupportedSampleRates(const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters);\r
+ void populateParams(AudioInfoDisplay);
+ void showAPIInfo();\r
+ AudioInfoDisplay m_RxInDevices;\r
+ AudioInfoDisplay m_RxOutDevices;\r
+ AudioInfoDisplay m_TxInDevices;\r
+ AudioInfoDisplay m_TxOutDevices;\r
+};
+
+#endif //__main__
--- /dev/null
+##\r
+## Auto Generated makefile by CodeLite IDE\r
+## any manual changes will be erased \r
+##\r
+## Release\r
+ProjectName :=pa_enum\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
+CurrentFileName :=\r
+CurrentFilePath :=\r
+CurrentFileFullPath :=\r
+User :=wittend\r
+Date :=8/14/2012\r
+CodeLitePath :="C:\Program Files\CodeLite"\r
+LinkerName :=g++\r
+ArchiveTool :=ar rcus\r
+SharedObjectLinkerName :=g++ -shared -fPIC\r
+ObjectSuffix :=.o\r
+DependSuffix :=.o.d\r
+PreprocessSuffix :=.o.i\r
+DebugSwitch :=-gstab\r
+IncludeSwitch :=-I\r
+LibrarySwitch :=-l\r
+OutputSwitch :=-o \r
+LibraryPathSwitch :=-L\r
+PreprocessorSwitch :=-D\r
+SourceSwitch :=-c \r
+CompilerName :=g++\r
+C_CompilerName :=gcc\r
+OutputFile :=$(IntermediateDirectory)/$(ProjectName)\r
+Preprocessors :=$(PreprocessorSwitch)__WX__ \r
+ObjectSwitch :=-o \r
+ArchiveOutputSwitch := \r
+PreprocessOnlySwitch :=-E \r
+ObjectsFileList :="C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum\pa_enum.txt"\r
+PCHCompileFlags :=\r
+MakeDirCommand :=makedir\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
+Libs := $(LibrarySwitch)portaudio $(LibrarySwitch)portaudiocpp \r
+LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch)/bin/MinGW/msys/1.0/local/lib \r
+\r
+\r
+##\r
+## User defined environment variables\r
+##\r
+CodeLiteDir:=C:\Program Files\CodeLite\r
+WXWIN:=C:\bin\wxWidgets-2.9.4\r
+PATH:=$(WXWIN)\lib\gcc_dll;$(PATH)\r
+WXCFG:=gcc_dll\mswu\r
+UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3\r
+Objects=$(IntermediateDirectory)/gui$(ObjectSuffix) $(IntermediateDirectory)/main$(ObjectSuffix) \r
+\r
+##\r
+## Main Build Targets \r
+##\r
+.PHONY: all clean PreBuild PrePreBuild PostBuild\r
+all: $(OutputFile)\r
+\r
+$(OutputFile): $(IntermediateDirectory)/.d $(Objects) \r
+ @$(MakeDirCommand) $(@D)\r
+ @echo "" > $(IntermediateDirectory)/.d\r
+ @echo $(Objects) > $(ObjectsFileList)\r
+ $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)\r
+\r
+$(IntermediateDirectory)/.d:\r
+ @$(MakeDirCommand) "./Release"\r
+\r
+PreBuild:\r
+\r
+\r
+##\r
+## Objects\r
+##\r
+$(IntermediateDirectory)/gui$(ObjectSuffix): gui.cpp $(IntermediateDirectory)/gui$(DependSuffix)\r
+ $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/gui$(ObjectSuffix) $(IncludePath)\r
+$(IntermediateDirectory)/gui$(DependSuffix): gui.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/gui$(ObjectSuffix) -MF$(IntermediateDirectory)/gui$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp"\r
+\r
+$(IntermediateDirectory)/gui$(PreprocessSuffix): gui.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/gui$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp"\r
+\r
+$(IntermediateDirectory)/main$(ObjectSuffix): main.cpp $(IntermediateDirectory)/main$(DependSuffix)\r
+ $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/main$(ObjectSuffix) $(IncludePath)\r
+$(IntermediateDirectory)/main$(DependSuffix): main.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/main$(ObjectSuffix) -MF$(IntermediateDirectory)/main$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp"\r
+\r
+$(IntermediateDirectory)/main$(PreprocessSuffix): main.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/main$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp"\r
+\r
+\r
+-include $(IntermediateDirectory)/*$(DependSuffix)\r
+##\r
+## Clean\r
+##\r
+clean:\r
+ $(RM) $(IntermediateDirectory)/gui$(ObjectSuffix)\r
+ $(RM) $(IntermediateDirectory)/gui$(DependSuffix)\r
+ $(RM) $(IntermediateDirectory)/gui$(PreprocessSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(ObjectSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(DependSuffix)\r
+ $(RM) $(IntermediateDirectory)/main$(PreprocessSuffix)\r
+ $(RM) $(OutputFile)\r
+ $(RM) $(OutputFile).exe\r
+ $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\pa_enum"\r
+\r
+\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<CodeLite_Project Name="pa_enum" InternalType="GUI">
+ <Plugins>
+ <Plugin Name="qmake">
+ <![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
+ </Plugin>
+ </Plugins>
+ <Description/>
+ <Dependencies/>
+ <VirtualDirectory Name="src">
+ <File Name="gui.cpp"/>
+ <File Name="main.cpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="include">
+ <File Name="gui.h"/>
+ <File Name="main.h"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="resources">
+ <File Name="gui.fbp"/>
+ </VirtualDirectory>
+ <Dependencies Name="Debug"/>
+ <Dependencies Name="Release"/>
+ <Settings Type="Executable">
+ <GlobalSettings>
+ <Compiler Options="" C_Options="">
+ <IncludePath Value="."/>
+ </Compiler>
+ <Linker Options="">
+ <LibraryPath Value="."/>
+ </Linker>
+ <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="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>
+ <Linker Options="-mwindows;$(shell wx-config --debug=yes --libs --unicode=yes)" Required="yes">
+ <LibraryPath Value="/bin/MinGW/msys/1.0/local/lib"/>
+ <Library Value="libportaudio.a"/>
+ <Library Value="libportaudiocpp.a"/>
+ </Linker>
+ <ResourceCompiler Options="$(shell wx-config --rcflags)" Required="no"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion EnableCpp11="no">
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ <Configuration Name="Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
+ <Compiler Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" C_Options="-O2;-Wall;$(shell wx-config --cxxflags --unicode=yes --debug=no)" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+ <IncludePath Value="/bin/MinGW/msys/1.0/local/include"/>
+ <Preprocessor Value="__WX__"/>
+ </Compiler>
+ <Linker Options="-mwindows;-s;$(shell wx-config --debug=no --libs --unicode=yes)" Required="yes">
+ <LibraryPath Value="/bin/MinGW/msys/1.0/local/lib"/>
+ <Library Value="libportaudio.a"/>
+ <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="no"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion EnableCpp11="no">
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ </Settings>
+</CodeLite_Project>
--- /dev/null
+./Release/gui.o ./Release/main.o \r
--- /dev/null
+#include <iostream>
+#include "portaudiocpp/PortAudioCpp.hxx"
+
+#ifdef WIN32
+#include "portaudiocpp/AsioDeviceAdapter.hxx"
+#endif
+
+// ---------------------------------------------------------------------------------------
+
+void printSupportedStandardSampleRates(
+ const portaudio::DirectionSpecificStreamParameters &inputParameters,
+ const portaudio::DirectionSpecificStreamParameters &outputParameters)
+{
+ static double STANDARD_SAMPLE_RATES[] = {
+ 8000.0, 9600.0, 11025.0, 12000.0, 16000.0, 22050.0, 24000.0, 32000.0,
+ 44100.0, 48000.0, 88200.0, 96000.0, -1 }; // negative terminated list
+
+ int printCount = 0;
+
+ for (int i = 0; STANDARD_SAMPLE_RATES[i] > 0; ++i)
+ {
+ portaudio::StreamParameters tmp = portaudio::StreamParameters(inputParameters, outputParameters, STANDARD_SAMPLE_RATES[i], 0, paNoFlag);
+
+ if (tmp.isSupported())
+ {
+ if (printCount == 0)
+ {
+ std::cout << " " << STANDARD_SAMPLE_RATES[i]; // 8.2
+ printCount = 1;
+ }
+ else if (printCount == 4)
+ {
+ std::cout << "," << std::endl;
+ std::cout << " " << STANDARD_SAMPLE_RATES[i]; // 8.2
+ printCount = 1;
+ }
+ else
+ {
+ std::cout << ", " << STANDARD_SAMPLE_RATES[i]; // 8.2
+ ++printCount;
+ }
+ }
+ }
+
+ if (printCount == 0)
+ std::cout << "None" << std::endl;
+ else
+ std::cout << std::endl;
+}
+
+// ---------------------------------------------------------------------------------------
+
+int main(int, char*[]);
+int main(int, char*[])
+{
+ try
+ {
+ portaudio::AutoSystem autoSys;
+
+ portaudio::System &sys = portaudio::System::instance();
+
+ std::cout << "PortAudio version number = " << sys.version() << std::endl;
+ std::cout << "PortAudio version text = '" << sys.versionText() << "'" << std::endl;
+
+ int numDevices = sys.deviceCount();
+ std::cout << "Number of devices = " << numDevices << std::endl;
+
+ for (portaudio::System::DeviceIterator i = sys.devicesBegin(); i != sys.devicesEnd(); ++i)
+ {
+ std::cout << "--------------------------------------- device #" << (*i).index() << std::endl;
+
+ // Mark global and API specific default devices:
+ bool defaultDisplayed = false;
+
+ if ((*i).isSystemDefaultInputDevice())
+ {
+ std::cout << "[ Default Input";
+ defaultDisplayed = true;
+ }
+ else if ((*i).isHostApiDefaultInputDevice())
+ {
+ std::cout << "[ Default " << (*i).hostApi().name() << " Input";
+ defaultDisplayed = true;
+ }
+
+ if ((*i).isSystemDefaultOutputDevice())
+ {
+ std::cout << (defaultDisplayed ? "," : "[");
+ std::cout << " Default Output";
+ defaultDisplayed = true;
+ }
+ else if ((*i).isHostApiDefaultOutputDevice())
+ {
+ std::cout << (defaultDisplayed ? "," : "[");
+ std::cout << " Default " << (*i).hostApi().name() << " Output";
+ defaultDisplayed = true;
+ }
+
+ if (defaultDisplayed)
+ std::cout << " ]" << std::endl;
+
+ // Print device info:
+ std::cout << "Name = " << (*i).name() << std::endl;
+ std::cout << "Host API = " << (*i).hostApi().name() << std::endl;
+ std::cout << "Max inputs = " << (*i).maxInputChannels() << ", Max outputs = " << (*i).maxOutputChannels() << std::endl;
+
+ std::cout << "Default low input latency = " << (*i).defaultLowInputLatency() << std::endl; // 8.3
+ std::cout << "Default low output latency = " << (*i).defaultLowOutputLatency() << std::endl; // 8.3
+ std::cout << "Default high input latency = " << (*i).defaultHighInputLatency() << std::endl; // 8.3
+ std::cout << "Default high output latency = " << (*i).defaultHighOutputLatency() << std::endl; // 8.3
+
+#ifdef WIN32
+ // ASIO specific latency information:
+ if ((*i).hostApi().typeId() == paASIO)
+ {
+ portaudio::AsioDeviceAdapter asioDevice((*i));
+
+ std::cout << "ASIO minimum buffer size = " << asioDevice.minBufferSize() << std::endl;
+ std::cout << "ASIO maximum buffer size = " << asioDevice.maxBufferSize() << std::endl;
+ std::cout << "ASIO preferred buffer size = " << asioDevice.preferredBufferSize() << std::endl;
+
+ if (asioDevice.granularity() == -1)
+ std::cout << "ASIO buffer granularity = power of 2" << std::endl;
+ else
+ std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl;
+ }
+#endif // WIN32
+
+ std::cout << "Default sample rate = " << (*i).defaultSampleRate() << std::endl; // 8.2
+
+ // Poll for standard sample rates:
+ portaudio::DirectionSpecificStreamParameters inputParameters((*i), (*i).maxInputChannels(), portaudio::INT16, true, 0.0, NULL);
+ portaudio::DirectionSpecificStreamParameters outputParameters((*i), (*i).maxOutputChannels(), portaudio::INT16, true, 0.0, NULL);
+
+ if (inputParameters.numChannels() > 0)
+ {
+ std::cout << "Supported standard sample rates" << std::endl;
+ std::cout << " for half-duplex 16 bit " << inputParameters.numChannels() << " channel input = " << std::endl;
+ printSupportedStandardSampleRates(inputParameters, portaudio::DirectionSpecificStreamParameters::null());
+ }
+
+ if (outputParameters.numChannels() > 0)
+ {
+ std::cout << "Supported standard sample rates" << std::endl;
+ std::cout << " for half-duplex 16 bit " << outputParameters.numChannels() << " channel output = " << std::endl;
+ printSupportedStandardSampleRates(portaudio::DirectionSpecificStreamParameters::null(), outputParameters);
+ }
+
+ if (inputParameters.numChannels() > 0 && outputParameters.numChannels() > 0)
+ {
+ std::cout << "Supported standard sample rates" << std::endl;
+ std::cout << " for full-duplex 16 bit " << inputParameters.numChannels() << " channel input, " << outputParameters.numChannels() << " channel output = " << std::endl;
+ printSupportedStandardSampleRates(inputParameters, outputParameters);
+ }
+ }
+
+ std::cout << "----------------------------------------------" << std::endl;
+ }
+ catch (const portaudio::PaException &e)
+ {
+ std::cout << "A PortAudio error occured: " << e.paErrorText() << std::endl;
+ }
+ catch (const portaudio::PaCppException &e)
+ {
+ std::cout << "A PortAudioCpp error occured: " << e.what() << std::endl;
+ }
+ catch (const std::exception &e)
+ {
+ std::cout << "A generic exception occured: " << e.what() << std::endl;
+ }
+ catch (...)
+ {
+ std::cout << "An unknown exception occured." << std::endl;
+ }
+
+ return 0;
+}
--- /dev/null
+#include "pa_class.h"
+
+PortAudioWrap::PortAudioWrap()
+{
+ stream = NULL;\r
+// inputBuffer = 0;
+// outputBuffer = NULL;
+ inputDevice = paNoDevice;
+ outputDevice = paNoDevice;
+ userData = NULL;\r
+ samplerate = 0;\r
+ framesPerBuffer = 0;
+ statusFlags = 0;\r
+ streamCallback = NULL;\r
+ streamFinishedCallback = NULL;\r
+ timeInfo = 0;
+}
+
+PortAudioWrap::~PortAudioWrap()
+{
+}
+
+PaError PortAudioWrap::init()
+{
+ return Pa_Initialize();
+}
+
+PaError PortAudioWrap::streamOpen()\r
+{
+ return Pa_OpenStream(
+ &stream,
+ &inputBuffer,
+ &outputBuffer,
+ samplerate,
+ framesPerBuffer,
+ statusFlags,
+ *streamCallback,
+ userData
+ );
+}
+
+PaError PortAudioWrap::streamStart()\r
+{
+ return Pa_StartStream(this->stream);
+}
+
+PaError PortAudioWrap::streamClose()\r
+{
+ if (isOpen())
+ {
+ return Pa_CloseStream(this->stream);
+ }
+ else
+ {
+ return 1;
+ }
+}
+\r
+void PortAudioWrap::terminate()\r
+{
+ Pa_Terminate();
+}
+\r
+void PortAudioWrap::stop()
+{
+ Pa_StopStream(stream);
+}
+
+void PortAudioWrap::abort()
+{
+ Pa_AbortStream(stream);
+}
+
+bool PortAudioWrap::isStopped() const
+{
+ PaError ret = Pa_IsStreamStopped(stream);
+ return ret;
+}
+
+bool PortAudioWrap::isActive() const
+{
+ PaError ret = Pa_IsStreamActive(stream);
+ return ret;
+}
+
+bool PortAudioWrap::isOpen() const\r
+{\r
+ return (stream != NULL);\r
+}\r
+
+PaDeviceIndex PortAudioWrap::getDefaultInputDevice()
+{
+ return Pa_GetDefaultInputDevice();
+}
+
+PaDeviceIndex PortAudioWrap::getDefaultOutputDevice()
+{
+ return Pa_GetDefaultOutputDevice();
+}
+
+PaError PortAudioWrap::setInputChannelCount(int count)
+{
+// if(!isActive())
+// {
+ inputBuffer.channelCount = count;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setInputSampleFormat(PaSampleFormat format)
+{
+// if(!isActive())
+// {
+ inputBuffer.sampleFormat = format;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setInputLatency(PaTime latency)
+{
+// if(!isActive())
+// {
+ inputBuffer.suggestedLatency = latency;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+\r
+void PortAudioWrap::setInputHostApiStreamInfo(void *info)
+{
+ inputBuffer.hostApiSpecificStreamInfo = info;
+}
+\r
+PaTime PortAudioWrap::getInputDefaultLowLatency()
+{
+ return Pa_GetDeviceInfo(inputBuffer.device)->defaultLowInputLatency;
+}
+
+PaError PortAudioWrap::setOutputChannelCount(int count)
+{
+// if(!isActive())
+// {
+ outputBuffer.channelCount = count;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setOutputSampleFormat(PaSampleFormat format)
+{
+// if(!isActive())
+// {
+ outputBuffer.sampleFormat = format;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setOutputLatency(PaTime latency)
+{
+// if(!isOpen())
+// {
+ outputBuffer.suggestedLatency = latency;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+void PortAudioWrap::setOutputHostApiStreamInfo(void *info)
+{
+ outputBuffer.hostApiSpecificStreamInfo = info;
+}
+
+PaTime PortAudioWrap::getOutputDefaultLowLatency()
+{
+ return Pa_GetDeviceInfo(inputBuffer.device)->defaultLowInputLatency;
+}
+
+PaError PortAudioWrap::setFramesPerBuffer(unsigned long size)
+{
+// if(!isOpen())
+// {
+ framesPerBuffer = size;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setSampleRate(unsigned long rate)\r
+{
+// if(!isOpen())
+// {
+ samplerate = rate;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setStreamFlags(PaStreamFlags flags)\r
+{
+// if(!isOpen())
+// {
+ statusFlags = flags;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setInputDevice(PaDeviceIndex flags)\r
+{
+// if(!isOpen())
+// {
+ inputDevice = flags;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setOutputDevice(PaDeviceIndex flags)\r
+{
+// if(!isOpen())
+// {
+ outputDevice = flags;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+PaError PortAudioWrap::setCallback(PaStreamCallback *callback)\r
+{
+// if(!isOpen())
+// {
+ streamCallback = callback;
+ return paNoError;
+// }
+// return paStreamIsNotStopped;
+}
+
+
+
+// Non-linear amplifier with soft distortion curve.
+float CubicAmplifier(float input)
+{
+ float output, temp;
+ if(input < 0.0)
+ {
+ temp = input + 1.0f;
+ output = (temp * temp * temp) - 1.0f;
+ }
+ else
+ {
+ temp = input - 1.0f;
+ output = (temp * temp * temp) + 1.0f;
+ }
+ return output;
+}
+
+#define FUZZ(x) CubicAmplifier(CubicAmplifier(CubicAmplifier(CubicAmplifier(x))))
+
+static int gNumNoInputs = 0;
+
+static int fuzzCallback(const void *inputBuffer,
+ void *outputBuffer,
+ unsigned long framesPerBuffer,
+ const PaStreamCallbackTimeInfo* timeInfo,
+ PaStreamCallbackFlags statusFlags,
+ void *userData)
+{
+ SAMPLE *out = (SAMPLE*)outputBuffer;
+ const SAMPLE *in = (const SAMPLE*)inputBuffer;
+ unsigned int i;
+ (void) timeInfo; // Prevent unused variable warnings.
+ (void) statusFlags;
+ (void) userData;
+
+ if(inputBuffer == NULL)
+ {
+ for(i = 0; i < framesPerBuffer; i++)
+ {
+ *out++ = 0; // left - silent
+ *out++ = 0; // right - silent
+ }
+ gNumNoInputs += 1;
+ }
+ else
+ {
+ for(i = 0; i < framesPerBuffer; i++)
+ {
+ *out++ = FUZZ(*in++); // left - distorted
+ *out++ = *in++; // right - clean
+ }
+ }
+ return paContinue;
+}
+
+
+#if 1
+int main(void)
+{
+ PaError err;
+ PaDeviceIndex inputDevice;
+ PaDeviceIndex outputDevice;
+
+ PortAudioWrap pa = PortAudioWrap();
+ err = pa.init();
+
+ inputDevice = pa.getDefaultInputDevice(); // default input device
+ if(inputDevice == paNoDevice)
+ {
+ fprintf(stderr, "Error: No default input device.\n");
+ goto error;
+ }
+ err = pa.setInputDevice(inputDevice);
+ err = pa.setInputChannelCount(2); // stereo input
+ err = pa.setInputSampleFormat(PA_SAMPLE_TYPE);
+ err = pa.setInputLatency(pa.getInputDefaultLowLatency());
+ pa.setInputHostApiStreamInfo(NULL);
+
+ outputDevice = pa.getDefaultOutputDevice(); // default output device
+ if (outputDevice == paNoDevice)
+ {
+ fprintf(stderr,"Error: No default output device.\n");
+ goto error;
+ }
+ err = pa.setOutputDevice(inputDevice);
+ err = pa.setOutputChannelCount(2); // stereo input
+ err = pa.setOutputSampleFormat(PA_SAMPLE_TYPE);
+ err = pa.setOutputLatency(pa.getOutputDefaultLowLatency());
+ pa.setOutputHostApiStreamInfo(NULL);
+
+ err = pa.setFramesPerBuffer(FRAMES_PER_BUFFER);
+ err = pa.setSampleRate(SAMPLE_RATE);
+ err = pa.setStreamFlags(0);
+ err = pa.setCallback(fuzzCallback);
+ err = pa.streamOpen();
+
+ if(err != paNoError)
+ {
+ goto error;
+ }
+ err = pa.streamStart();
+ if(err != paNoError)
+ {
+ goto error;
+ }
+
+ printf("Hit ENTER to stop program.\n");
+ getchar();
+ err = pa.streamClose();
+ if( err != paNoError )
+ {
+ goto error;
+ }
+ printf("Finished. gNumNoInputs = %d\n", gNumNoInputs );
+ pa.terminate();
+ return 0;
+
+error:
+ Pa_Terminate();
+ fprintf( stderr, "An error occured while using the portaudio stream\n" );
+ fprintf( stderr, "Error number: %d\n", err );
+ fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );
+ return -1;
+
+}
+
+#endif
+
--- /dev/null
+#include <stdio.h>
+#include <math.h>
+#include "portaudio.h"
+\r
+// Note that many of the older ISA sound cards on PCs do NOT support
+// full duplex audio (simultaneous record and playback).
+// And some only support full duplex at lower sample rates.
+#define SAMPLE_RATE (44100)
+#define PA_SAMPLE_TYPE paFloat32
+#define FRAMES_PER_BUFFER (64)
+
+typedef float SAMPLE;
+
+float CubicAmplifier(float input);
+
+class PortAudioWrap\r
+{\r
+ public:\r
+ PortAudioWrap();\r
+ ~PortAudioWrap();\r
+\r
+ private:\r
+ PaStream *stream;\r
+ PaStreamParameters inputBuffer;
+ PaStreamParameters outputBuffer;
+ void *userData;\r
+ int samplerate;\r
+ unsigned long framesPerBuffer;
+ PaStreamCallbackFlags statusFlags;\r
+ PaStreamCallback *streamCallback;\r
+ PaStreamFinishedCallback *streamFinishedCallback;\r
+ const PaStreamCallbackTimeInfo *timeInfo;
+ PaDeviceIndex inputDevice;
+ PaDeviceIndex outputDevice;
+\r
+ public:\r
+
+ PaError streamOpen();\r
+\r
+ PaDeviceIndex getDefaultInputDevice();
+ PaDeviceIndex getDefaultOutputDevice();\r
+\r
+ PaStreamParameters *getDeviceInfo(PaDeviceIndex idx);\r
+ PaError setFramesPerBuffer(unsigned long size);\r
+ PaError setSampleRate(unsigned long size);\r
+ PaError setStreamFlags(PaStreamFlags flags);\r
+ PaError setCallback(PaStreamCallback *streamCallback);\r
+ PaError setStreamCallback(PaStream *stream, PaStreamCallback* callback ) { streamCallback = callback; return 0;}
+ PaError setStreamFinishedCallback(PaStream *stream, PaStreamFinishedCallback* streamFinishedCallback );
+
+ PaError setInputDevice(PaDeviceIndex dev);\r
+ PaError setInputChannelCount(int count);
+ PaError setInputSampleFormat(PaSampleFormat format);
+ PaError setInputSampleRate(PaSampleFormat format);
+ PaError setInputLatency(PaTime latency);\r
+ void setInputHostApiStreamInfo(void *info = NULL);\r
+ PaTime getInputDefaultLowLatency();
+
+ PaError setOutputDevice(PaDeviceIndex dev);\r
+ PaError setOutputChannelCount(int count);
+ PaError setOutputSampleFormat(PaSampleFormat format);
+ PaError setOutputLatency(PaTime latency);
+ void setOutputHostApiStreamInfo(void *info = NULL);
+ PaTime getOutputDefaultLowLatency();
+\r
+ PaError init();\r
+ PaError streamStart();\r
+ PaError streamClose();\r
+ void terminate();\r
+ bool isOpen() const;\r
+ void stop();
+ void abort();
+ bool isStopped() const;
+ bool isActive() const;
+};\r
--- /dev/null
+##\r
+## Auto Generated makefile by CodeLite IDE\r
+## any manual changes will be erased \r
+##\r
+## Release\r
+ProjectName :=pa_test\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_test"\r
+CurrentFileName :=\r
+CurrentFilePath :=\r
+CurrentFileFullPath :=\r
+User :=wittend\r
+Date :=6/18/2012\r
+CodeLitePath :="C:\Program Files\CodeLite"\r
+LinkerName :=g++\r
+ArchiveTool :=ar rcus\r
+SharedObjectLinkerName :=g++ -shared -fPIC\r
+ObjectSuffix :=.o\r
+DependSuffix :=.o.d\r
+PreprocessSuffix :=.o.i\r
+DebugSwitch :=-gstab\r
+IncludeSwitch :=-I\r
+LibrarySwitch :=-l\r
+OutputSwitch :=-o \r
+LibraryPathSwitch :=-L\r
+PreprocessorSwitch :=-D\r
+SourceSwitch :=-c \r
+CompilerName :=g++\r
+C_CompilerName :=gcc\r
+OutputFile :=$(IntermediateDirectory)/$(ProjectName)\r
+Preprocessors :=\r
+ObjectSwitch :=-o \r
+ArchiveOutputSwitch := \r
+PreprocessOnlySwitch :=-E \r
+ObjectsFileList :="C:\Users\wittend\Projects\Radio\fdmdv2\pa_test\pa_test.txt"\r
+PCHCompileFlags :=\r
+MakeDirCommand :=makedir\r
+CmpOptions := -O2 -Wall $(Preprocessors)\r
+C_CmpOptions := -O2 -Wall $(Preprocessors)\r
+LinkOptions := \r
+IncludePath := $(IncludeSwitch). $(IncludeSwitch). $(IncludeSwitch)extern/include \r
+IncludePCH := \r
+RcIncludePath := \r
+Libs := $(LibrarySwitch)portaudio \r
+LibPath := $(LibraryPathSwitch). \r
+\r
+\r
+##\r
+## User defined environment variables\r
+##\r
+CodeLiteDir:=C:\Program Files\CodeLite\r
+WXWIN:=C:\bin\wxWidgets-2.9.4\r
+PATH:=$(WXWIN)\lib\gcc_dll;$(PATH)\r
+WXCFG:=gcc_dll\mswu\r
+UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3\r
+Objects=$(IntermediateDirectory)/pa_class$(ObjectSuffix) \r
+\r
+##\r
+## Main Build Targets \r
+##\r
+.PHONY: all clean PreBuild PrePreBuild PostBuild\r
+all: $(OutputFile)\r
+\r
+$(OutputFile): $(IntermediateDirectory)/.d $(Objects) \r
+ @$(MakeDirCommand) $(@D)\r
+ @echo "" > $(IntermediateDirectory)/.d\r
+ @echo $(Objects) > $(ObjectsFileList)\r
+ $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)\r
+\r
+$(IntermediateDirectory)/.d:\r
+ @$(MakeDirCommand) "./Release"\r
+\r
+PreBuild:\r
+\r
+\r
+##\r
+## Objects\r
+##\r
+$(IntermediateDirectory)/pa_class$(ObjectSuffix): pa_class.cpp $(IntermediateDirectory)/pa_class$(DependSuffix)\r
+ $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_test/pa_class.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/pa_class$(ObjectSuffix) $(IncludePath)\r
+$(IntermediateDirectory)/pa_class$(DependSuffix): pa_class.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/pa_class$(ObjectSuffix) -MF$(IntermediateDirectory)/pa_class$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_test/pa_class.cpp"\r
+\r
+$(IntermediateDirectory)/pa_class$(PreprocessSuffix): pa_class.cpp\r
+ @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/pa_class$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_test/pa_class.cpp"\r
+\r
+\r
+-include $(IntermediateDirectory)/*$(DependSuffix)\r
+##\r
+## Clean\r
+##\r
+clean:\r
+ $(RM) $(IntermediateDirectory)/pa_class$(ObjectSuffix)\r
+ $(RM) $(IntermediateDirectory)/pa_class$(DependSuffix)\r
+ $(RM) $(IntermediateDirectory)/pa_class$(PreprocessSuffix)\r
+ $(RM) $(OutputFile)\r
+ $(RM) $(OutputFile).exe\r
+ $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\pa_test"\r
+\r
+\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<CodeLite_Project Name="pa_test" InternalType="Console">
+ <Plugins>
+ <Plugin Name="qmake">
+ <![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
+ </Plugin>
+ </Plugins>
+ <Description/>
+ <Dependencies/>
+ <VirtualDirectory Name="src">
+ <File Name="pa_class.cpp"/>
+ </VirtualDirectory>
+ <VirtualDirectory Name="include">
+ <File Name="pa_class.h"/>
+ </VirtualDirectory>
+ <Settings Type="Executable">
+ <GlobalSettings>
+ <Compiler Options="" C_Options="">
+ <IncludePath Value="."/>
+ </Compiler>
+ <Linker Options="">
+ <LibraryPath Value="."/>
+ </Linker>
+ <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" C_Options="-g;-O0;-Wall" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+ <IncludePath Value="."/>
+ <IncludePath Value="../extern/include"/>
+ <IncludePath Value="../../../portaudio/include"/>
+ </Compiler>
+ <Linker Options="" Required="yes">
+ <Library Value="portaudio"/>
+ </Linker>
+ <ResourceCompiler Options="" Required="no"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion EnableCpp11="no">
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ <Configuration Name="Release" CompilerType="gnu g++" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
+ <Compiler Options="-O2;-Wall" C_Options="-O2;-Wall" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
+ <IncludePath Value="."/>
+ <IncludePath Value="extern/include"/>
+ </Compiler>
+ <Linker Options="" Required="yes">
+ <Library Value="portaudio"/>
+ </Linker>
+ <ResourceCompiler Options="" Required="no"/>
+ <General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes"/>
+ <Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
+ <![CDATA[]]>
+ </Environment>
+ <Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="">
+ <PostConnectCommands/>
+ <StartupCommands/>
+ </Debugger>
+ <PreBuild/>
+ <PostBuild/>
+ <CustomBuild Enabled="no">
+ <RebuildCommand/>
+ <CleanCommand/>
+ <BuildCommand/>
+ <PreprocessFileCommand/>
+ <SingleFileCommand/>
+ <MakefileGenerationCommand/>
+ <ThirdPartyToolName>None</ThirdPartyToolName>
+ <WorkingDirectory/>
+ </CustomBuild>
+ <AdditionalRules>
+ <CustomPostBuild/>
+ <CustomPreBuild/>
+ </AdditionalRules>
+ <Completion EnableCpp11="no">
+ <ClangCmpFlags/>
+ <ClangPP/>
+ <SearchPaths/>
+ </Completion>
+ </Configuration>
+ </Settings>
+ <Dependencies Name="Debug"/>
+ <Dependencies Name="Release"/>
+</CodeLite_Project>
--- /dev/null
+./Debug/pa_class.o \r
--- /dev/null
+// ---------------------------------------------------------------------------------------\r
+\r
+#include <iostream>\r
+#include <cmath>\r
+#include <cassert>\r
+#include <cstddef>\r
+#include "portaudiocpp/PortAudioCpp.hxx"\r
+\r
+// ---------------------------------------------------------------------------------------\r
+\r
+// Some constants:\r
+const int NUM_SECONDS = 5;\r
+const double SAMPLE_RATE = 44100.0;\r
+const int FRAMES_PER_BUFFER = 64;\r
+const int TABLE_SIZE = 200;\r
+\r
+// ---------------------------------------------------------------------------------------\r
+\r
+// SineGenerator class:\r
+class SineGenerator\r
+{\r
+public:\r
+ SineGenerator(int tableSize) : tableSize_(tableSize), leftPhase_(0), rightPhase_(0)\r
+ {\r
+ const double PI = 3.14159265;\r
+ table_ = new float[tableSize];\r
+ for (int i = 0; i < tableSize; ++i)\r
+ {\r
+ table_[i] = 0.125f * (float)sin(((double)i/(double)tableSize)*PI*2.);\r
+ }\r
+ }\r
+\r
+ ~SineGenerator()\r
+ {\r
+ delete[] table_;\r
+ }\r
+\r
+ int generate(const void *inputBuffer, void *outputBuffer, unsigned long framesPerBuffer, \r
+ const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags)\r
+ {\r
+ assert(outputBuffer != NULL);\r
+\r
+ float **out = static_cast<float **>(outputBuffer);\r
+\r
+ for (unsigned int i = 0; i < framesPerBuffer; ++i)\r
+ {\r
+ out[0][i] = table_[leftPhase_];\r
+ out[1][i] = table_[rightPhase_];\r
+\r
+ leftPhase_ += 1;\r
+ if (leftPhase_ >= tableSize_)\r
+ leftPhase_ -= tableSize_;\r
+\r
+ rightPhase_ += 3;\r
+ if (rightPhase_ >= tableSize_)\r
+ rightPhase_ -= tableSize_;\r
+ }\r
+\r
+ return paContinue;\r
+ }\r
+\r
+private:\r
+ float *table_;\r
+ int tableSize_;\r
+ int leftPhase_;\r
+ int rightPhase_;\r
+};\r
+\r
+// ---------------------------------------------------------------------------------------\r
+\r
+// main:\r
+int main(int, char *[]);\r
+int main(int, char *[])\r
+{\r
+ try\r
+ {\r
+ // Create a SineGenerator object:\r
+ SineGenerator sineGenerator(TABLE_SIZE);\r
+\r
+ std::cout << "Setting up PortAudio..." << std::endl;\r
+\r
+ // Set up the System:\r
+ portaudio::AutoSystem autoSys;\r
+ portaudio::System &sys = portaudio::System::instance();\r
+\r
+ // Set up the parameters required to open a (Callback)Stream:\r
+ portaudio::DirectionSpecificStreamParameters outParams(sys.defaultOutputDevice(), 2, portaudio::FLOAT32, false, sys.defaultOutputDevice().defaultLowOutputLatency(), NULL);\r
+ portaudio::StreamParameters params(portaudio::DirectionSpecificStreamParameters::null(), outParams, SAMPLE_RATE, FRAMES_PER_BUFFER, paClipOff);\r
+\r
+ std::cout << "Opening stereo output stream..." << std::endl;\r
+\r
+ // Create (and open) a new Stream, using the SineGenerator::generate function as a callback:\r
+ portaudio::MemFunCallbackStream<SineGenerator> stream(params, sineGenerator, &SineGenerator::generate);\r
+\r
+ std::cout << "Starting playback for " << NUM_SECONDS << " seconds." << std::endl;\r
+\r
+ // Start the Stream (audio playback starts):\r
+ stream.start();\r
+\r
+ // Wait for 5 seconds:\r
+ sys.sleep(NUM_SECONDS * 1000);\r
+\r
+ std::cout << "Closing stream..." <<std::endl;\r
+\r
+ // Stop the Stream (not strictly needed as termintating the System will also stop all open Streams):\r
+ stream.stop();\r
+\r
+ // Close the Stream (not strictly needed as terminating the System will also close all open Streams):\r
+ stream.close();\r
+\r
+ // Terminate the System (not strictly needed as the AutoSystem will also take care of this when it \r
+ // goes out of scope):\r
+ sys.terminate();\r
+\r
+ std::cout << "Test finished." << std::endl;\r
+ }\r
+ catch (const portaudio::PaException &e)\r
+ {\r
+ std::cout << "A PortAudio error occured: " << e.paErrorText() << std::endl;\r
+ }\r
+ catch (const portaudio::PaCppException &e)\r
+ {\r
+ std::cout << "A PortAudioCpp error occured: " << e.what() << std::endl;\r
+ }\r
+ catch (const std::exception &e)\r
+ {\r
+ std::cout << "A generic exception occured: " << e.what() << std::endl;\r
+ }\r
+ catch (...)\r
+ {\r
+ std::cout << "An unknown exception occured." << std::endl;\r
+ }\r
+\r
+ return 0;\r
+}\r
+\r
+\r