|
|
@ -54,16 +54,16 @@ FifoPlayerDlg::~FifoPlayerDlg()
|
|
|
|
Disconnect(FRAME_WRITTEN_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnFrameWritten), NULL, this);
|
|
|
|
Disconnect(FRAME_WRITTEN_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnFrameWritten), NULL, this);
|
|
|
|
|
|
|
|
|
|
|
|
// Disconnect Events
|
|
|
|
// Disconnect Events
|
|
|
|
this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( FifoPlayerDlg::OnPaint ), NULL, this );
|
|
|
|
Disconnect(wxEVT_PAINT, wxPaintEventHandler(FifoPlayerDlg::OnPaint), NULL, this);
|
|
|
|
m_FrameFromCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnFrameFrom ), NULL, this );
|
|
|
|
m_FrameFromCtrl->Disconnect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnFrameFrom), NULL, this);
|
|
|
|
m_FrameToCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnFrameTo ), NULL, this );
|
|
|
|
m_FrameToCtrl->Disconnect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnFrameTo), NULL, this);
|
|
|
|
m_ObjectFromCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnObjectFrom ), NULL, this );
|
|
|
|
m_ObjectFromCtrl->Disconnect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnObjectFrom), NULL, this);
|
|
|
|
m_ObjectToCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnObjectTo ), NULL, this );
|
|
|
|
m_ObjectToCtrl->Disconnect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnObjectTo), NULL, this);
|
|
|
|
m_EarlyMemoryUpdates->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnCheckEarlyMemoryUpdates ), NULL, this );
|
|
|
|
m_EarlyMemoryUpdates->Disconnect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnCheckEarlyMemoryUpdates), NULL, this);
|
|
|
|
m_RecordStop->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnRecordStop ), NULL, this );
|
|
|
|
m_RecordStop->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnRecordStop), NULL, this);
|
|
|
|
m_Save->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnSaveFile ), NULL, this );
|
|
|
|
m_Save->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnSaveFile), NULL, this);
|
|
|
|
m_FramesToRecordCtrl->Disconnect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnNumFramesToRecord ), NULL, this );
|
|
|
|
m_FramesToRecordCtrl->Disconnect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnNumFramesToRecord), NULL, this);
|
|
|
|
m_Close->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnCloseClick ), NULL, this );
|
|
|
|
m_Close->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnCloseClick), NULL, this);
|
|
|
|
|
|
|
|
|
|
|
|
FifoPlayer::GetInstance().SetFrameWrittenCallback(NULL);
|
|
|
|
FifoPlayer::GetInstance().SetFrameWrittenCallback(NULL);
|
|
|
|
|
|
|
|
|
|
|
@ -74,164 +74,164 @@ FifoPlayerDlg::~FifoPlayerDlg()
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::CreateGUIControls()
|
|
|
|
void FifoPlayerDlg::CreateGUIControls()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
SetSizeHints( wxDefaultSize, wxDefaultSize );
|
|
|
|
SetSizeHints(wxDefaultSize, wxDefaultSize);
|
|
|
|
|
|
|
|
|
|
|
|
wxBoxSizer* sMain;
|
|
|
|
wxBoxSizer* sMain;
|
|
|
|
sMain = new wxBoxSizer( wxVERTICAL );
|
|
|
|
sMain = new wxBoxSizer(wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_Notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_Notebook = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_PlayPage = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
|
|
|
m_PlayPage = new wxPanel(m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
|
|
|
wxBoxSizer* sPlayPage;
|
|
|
|
wxBoxSizer* sPlayPage;
|
|
|
|
sPlayPage = new wxBoxSizer( wxVERTICAL );
|
|
|
|
sPlayPage = new wxBoxSizer(wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sPlayInfo;
|
|
|
|
wxStaticBoxSizer* sPlayInfo;
|
|
|
|
sPlayInfo = new wxStaticBoxSizer( new wxStaticBox( m_PlayPage, wxID_ANY, _("File Info") ), wxVERTICAL );
|
|
|
|
sPlayInfo = new wxStaticBoxSizer(new wxStaticBox(m_PlayPage, wxID_ANY, _("File Info")), wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_NumFramesLabel = new wxStaticText( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_NumFramesLabel = new wxStaticText(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_NumFramesLabel->Wrap( -1 );
|
|
|
|
m_NumFramesLabel->Wrap(-1);
|
|
|
|
sPlayInfo->Add( m_NumFramesLabel, 0, wxALL, 5 );
|
|
|
|
sPlayInfo->Add(m_NumFramesLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_CurrentFrameLabel = new wxStaticText( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_CurrentFrameLabel = new wxStaticText(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_CurrentFrameLabel->Wrap( -1 );
|
|
|
|
m_CurrentFrameLabel->Wrap(-1);
|
|
|
|
sPlayInfo->Add( m_CurrentFrameLabel, 0, wxALL, 5 );
|
|
|
|
sPlayInfo->Add(m_CurrentFrameLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_NumObjectsLabel = new wxStaticText( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_NumObjectsLabel = new wxStaticText(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_NumObjectsLabel->Wrap( -1 );
|
|
|
|
m_NumObjectsLabel->Wrap(-1);
|
|
|
|
sPlayInfo->Add( m_NumObjectsLabel, 0, wxALL, 5 );
|
|
|
|
sPlayInfo->Add(m_NumObjectsLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sPlayPage->Add( sPlayInfo, 1, wxEXPAND, 5 );
|
|
|
|
sPlayPage->Add(sPlayInfo, 1, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sFrameRange;
|
|
|
|
wxStaticBoxSizer* sFrameRange;
|
|
|
|
sFrameRange = new wxStaticBoxSizer( new wxStaticBox( m_PlayPage, wxID_ANY, _("Frame Range") ), wxHORIZONTAL );
|
|
|
|
sFrameRange = new wxStaticBoxSizer(new wxStaticBox(m_PlayPage, wxID_ANY, _("Frame Range")), wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_FrameFromLabel = new wxStaticText( m_PlayPage, wxID_ANY, _("From"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_FrameFromLabel = new wxStaticText(m_PlayPage, wxID_ANY, _("From"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_FrameFromLabel->Wrap( -1 );
|
|
|
|
m_FrameFromLabel->Wrap(-1);
|
|
|
|
sFrameRange->Add( m_FrameFromLabel, 0, wxALL, 5 );
|
|
|
|
sFrameRange->Add(m_FrameFromLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_FrameFromCtrl = new wxSpinCtrl( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 );
|
|
|
|
m_FrameFromCtrl = new wxSpinCtrl(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0);
|
|
|
|
sFrameRange->Add( m_FrameFromCtrl, 0, wxALL, 5 );
|
|
|
|
sFrameRange->Add(m_FrameFromCtrl, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_FrameToLabel = new wxStaticText( m_PlayPage, wxID_ANY, _("To"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_FrameToLabel = new wxStaticText(m_PlayPage, wxID_ANY, _("To"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_FrameToLabel->Wrap( -1 );
|
|
|
|
m_FrameToLabel->Wrap(-1);
|
|
|
|
sFrameRange->Add( m_FrameToLabel, 0, wxALL, 5 );
|
|
|
|
sFrameRange->Add(m_FrameToLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_FrameToCtrl = new wxSpinCtrl( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxSP_ARROW_KEYS, 0, 10, 0 );
|
|
|
|
m_FrameToCtrl = new wxSpinCtrl(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS, 0, 10, 0);
|
|
|
|
sFrameRange->Add( m_FrameToCtrl, 0, wxALL, 5 );
|
|
|
|
sFrameRange->Add(m_FrameToCtrl, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sPlayPage->Add( sFrameRange, 0, wxEXPAND, 5 );
|
|
|
|
sPlayPage->Add(sFrameRange, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sObjectRange;
|
|
|
|
wxStaticBoxSizer* sObjectRange;
|
|
|
|
sObjectRange = new wxStaticBoxSizer( new wxStaticBox( m_PlayPage, wxID_ANY, _("Object Range") ), wxHORIZONTAL );
|
|
|
|
sObjectRange = new wxStaticBoxSizer(new wxStaticBox(m_PlayPage, wxID_ANY, _("Object Range")), wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_ObjectFromLabel = new wxStaticText( m_PlayPage, wxID_ANY, _("From"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_ObjectFromLabel = new wxStaticText(m_PlayPage, wxID_ANY, _("From"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_ObjectFromLabel->Wrap( -1 );
|
|
|
|
m_ObjectFromLabel->Wrap(-1);
|
|
|
|
sObjectRange->Add( m_ObjectFromLabel, 0, wxALL, 5 );
|
|
|
|
sObjectRange->Add(m_ObjectFromLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_ObjectFromCtrl = new wxSpinCtrl( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 0 );
|
|
|
|
m_ObjectFromCtrl = new wxSpinCtrl(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 0);
|
|
|
|
sObjectRange->Add( m_ObjectFromCtrl, 0, wxALL, 5 );
|
|
|
|
sObjectRange->Add(m_ObjectFromCtrl, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_ObjectToLabel = new wxStaticText( m_PlayPage, wxID_ANY, wxT("To"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_ObjectToLabel = new wxStaticText(m_PlayPage, wxID_ANY, _("To"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_ObjectToLabel->Wrap( -1 );
|
|
|
|
m_ObjectToLabel->Wrap(-1);
|
|
|
|
sObjectRange->Add( m_ObjectToLabel, 0, wxALL, 5 );
|
|
|
|
sObjectRange->Add(m_ObjectToLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_ObjectToCtrl = new wxSpinCtrl( m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 0 );
|
|
|
|
m_ObjectToCtrl = new wxSpinCtrl(m_PlayPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 0);
|
|
|
|
sObjectRange->Add( m_ObjectToCtrl, 0, wxALL, 5 );
|
|
|
|
sObjectRange->Add(m_ObjectToCtrl, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sPlayPage->Add( sObjectRange, 0, wxEXPAND, 5 );
|
|
|
|
sPlayPage->Add(sObjectRange, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sPlayOptions;
|
|
|
|
wxStaticBoxSizer* sPlayOptions;
|
|
|
|
sPlayOptions = new wxStaticBoxSizer( new wxStaticBox( m_PlayPage, wxID_ANY, _("Playback Options") ), wxVERTICAL );
|
|
|
|
sPlayOptions = new wxStaticBoxSizer(new wxStaticBox(m_PlayPage, wxID_ANY, _("Playback Options")), wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_EarlyMemoryUpdates = new wxCheckBox( m_PlayPage, wxID_ANY, _("Early Memory Updates"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_EarlyMemoryUpdates = new wxCheckBox(m_PlayPage, wxID_ANY, _("Early Memory Updates"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
sPlayOptions->Add( m_EarlyMemoryUpdates, 0, wxALL, 5 );
|
|
|
|
sPlayOptions->Add(m_EarlyMemoryUpdates, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sPlayPage->Add( sPlayOptions, 0, wxEXPAND, 5 );
|
|
|
|
sPlayPage->Add(sPlayOptions, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_PlayPage->SetSizer( sPlayPage );
|
|
|
|
m_PlayPage->SetSizer(sPlayPage);
|
|
|
|
m_PlayPage->Layout();
|
|
|
|
m_PlayPage->Layout();
|
|
|
|
sPlayPage->Fit( m_PlayPage );
|
|
|
|
sPlayPage->Fit(m_PlayPage);
|
|
|
|
m_Notebook->AddPage( m_PlayPage, wxT("Play"), true );
|
|
|
|
m_Notebook->AddPage(m_PlayPage, wxT("Play"), true);
|
|
|
|
m_RecordPage = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
|
|
|
m_RecordPage = new wxPanel(m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
|
|
|
|
wxBoxSizer* sRecordPage;
|
|
|
|
wxBoxSizer* sRecordPage;
|
|
|
|
sRecordPage = new wxBoxSizer( wxVERTICAL );
|
|
|
|
sRecordPage = new wxBoxSizer(wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sRecordInfo;
|
|
|
|
wxStaticBoxSizer* sRecordInfo;
|
|
|
|
sRecordInfo = new wxStaticBoxSizer( new wxStaticBox( m_RecordPage, wxID_ANY, _("Recording Info") ), wxVERTICAL );
|
|
|
|
sRecordInfo = new wxStaticBoxSizer(new wxStaticBox(m_RecordPage, wxID_ANY, _("Recording Info")), wxVERTICAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_RecordingFifoSizeLabel = new wxStaticText( m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_RecordingFifoSizeLabel = new wxStaticText(m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_RecordingFifoSizeLabel->Wrap( -1 );
|
|
|
|
m_RecordingFifoSizeLabel->Wrap(-1);
|
|
|
|
sRecordInfo->Add( m_RecordingFifoSizeLabel, 0, wxALL, 5 );
|
|
|
|
sRecordInfo->Add(m_RecordingFifoSizeLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_RecordingMemSizeLabel = new wxStaticText( m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_RecordingMemSizeLabel = new wxStaticText(m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_RecordingMemSizeLabel->Wrap( -1 );
|
|
|
|
m_RecordingMemSizeLabel->Wrap(-1);
|
|
|
|
sRecordInfo->Add( m_RecordingMemSizeLabel, 0, wxALL, 5 );
|
|
|
|
sRecordInfo->Add(m_RecordingMemSizeLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_RecordingFramesLabel = new wxStaticText( m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_RecordingFramesLabel = new wxStaticText(m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_RecordingFramesLabel->Wrap( -1 );
|
|
|
|
m_RecordingFramesLabel->Wrap(-1);
|
|
|
|
sRecordInfo->Add( m_RecordingFramesLabel, 0, wxALL, 5 );
|
|
|
|
sRecordInfo->Add(m_RecordingFramesLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sRecordPage->Add( sRecordInfo, 0, wxEXPAND, 5 );
|
|
|
|
sRecordPage->Add(sRecordInfo, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxBoxSizer* sRecordButtons;
|
|
|
|
wxBoxSizer* sRecordButtons;
|
|
|
|
sRecordButtons = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
sRecordButtons = new wxBoxSizer(wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_RecordStop = new wxButton( m_RecordPage, wxID_ANY, _("Record"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_RecordStop = new wxButton(m_RecordPage, wxID_ANY, _("Record"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
sRecordButtons->Add( m_RecordStop, 0, wxALL, 5 );
|
|
|
|
sRecordButtons->Add(m_RecordStop, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_Save = new wxButton( m_RecordPage, wxID_ANY, _("Save"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_Save = new wxButton(m_RecordPage, wxID_ANY, _("Save"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
sRecordButtons->Add( m_Save, 0, wxALL, 5 );
|
|
|
|
sRecordButtons->Add(m_Save, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sRecordPage->Add( sRecordButtons, 0, wxEXPAND, 5 );
|
|
|
|
sRecordPage->Add(sRecordButtons, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxStaticBoxSizer* sRecordingOptions;
|
|
|
|
wxStaticBoxSizer* sRecordingOptions;
|
|
|
|
sRecordingOptions = new wxStaticBoxSizer( new wxStaticBox( m_RecordPage, wxID_ANY, _("Recording Options") ), wxHORIZONTAL );
|
|
|
|
sRecordingOptions = new wxStaticBoxSizer(new wxStaticBox(m_RecordPage, wxID_ANY, _("Recording Options")), wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
m_FramesToRecordLabel = new wxStaticText( m_RecordPage, wxID_ANY, _("Frames To Record"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_FramesToRecordLabel = new wxStaticText(m_RecordPage, wxID_ANY, _("Frames To Record"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
m_FramesToRecordLabel->Wrap( -1 );
|
|
|
|
m_FramesToRecordLabel->Wrap(-1);
|
|
|
|
sRecordingOptions->Add( m_FramesToRecordLabel, 0, wxALL, 5 );
|
|
|
|
sRecordingOptions->Add(m_FramesToRecordLabel, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_FramesToRecordCtrl = new wxSpinCtrl( m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 1 );
|
|
|
|
m_FramesToRecordCtrl = new wxSpinCtrl(m_RecordPage, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10000, 1);
|
|
|
|
sRecordingOptions->Add( m_FramesToRecordCtrl, 0, wxALL, 5 );
|
|
|
|
sRecordingOptions->Add(m_FramesToRecordCtrl, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sRecordPage->Add( sRecordingOptions, 0, wxEXPAND, 5 );
|
|
|
|
sRecordPage->Add(sRecordingOptions, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_RecordPage->SetSizer( sRecordPage );
|
|
|
|
m_RecordPage->SetSizer(sRecordPage);
|
|
|
|
m_RecordPage->Layout();
|
|
|
|
m_RecordPage->Layout();
|
|
|
|
sRecordPage->Fit( m_RecordPage );
|
|
|
|
sRecordPage->Fit(m_RecordPage);
|
|
|
|
m_Notebook->AddPage( m_RecordPage, _("Record"), false );
|
|
|
|
m_Notebook->AddPage(m_RecordPage, _("Record"), false);
|
|
|
|
|
|
|
|
|
|
|
|
sMain->Add( m_Notebook, 1, wxEXPAND | wxALL, 5 );
|
|
|
|
sMain->Add(m_Notebook, 1, wxEXPAND | wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
wxBoxSizer* sButtons;
|
|
|
|
wxBoxSizer* sButtons;
|
|
|
|
sButtons = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
sButtons = new wxBoxSizer(wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
wxBoxSizer* sCloseButtonExpander;
|
|
|
|
wxBoxSizer* sCloseButtonExpander;
|
|
|
|
sCloseButtonExpander = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
sCloseButtonExpander = new wxBoxSizer(wxHORIZONTAL);
|
|
|
|
|
|
|
|
|
|
|
|
sButtons->Add( sCloseButtonExpander, 1, wxEXPAND, 5 );
|
|
|
|
sButtons->Add(sCloseButtonExpander, 1, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
m_Close = new wxButton( this, wxID_ANY, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
|
|
m_Close = new wxButton(this, wxID_ANY, _("Close"), wxDefaultPosition, wxDefaultSize, 0);
|
|
|
|
sButtons->Add( m_Close, 0, wxALL, 5 );
|
|
|
|
sButtons->Add(m_Close, 0, wxALL, 5);
|
|
|
|
|
|
|
|
|
|
|
|
sMain->Add( sButtons, 0, wxEXPAND, 5 );
|
|
|
|
sMain->Add(sButtons, 0, wxEXPAND, 5);
|
|
|
|
|
|
|
|
|
|
|
|
SetSizer( sMain );
|
|
|
|
SetSizer(sMain);
|
|
|
|
Layout();
|
|
|
|
Layout();
|
|
|
|
sMain->Fit( this );
|
|
|
|
sMain->Fit(this);
|
|
|
|
|
|
|
|
|
|
|
|
this->Center( wxBOTH );
|
|
|
|
Center(wxBOTH);
|
|
|
|
|
|
|
|
|
|
|
|
// Connect Events
|
|
|
|
// Connect Events
|
|
|
|
this->Connect( wxEVT_PAINT, wxPaintEventHandler( FifoPlayerDlg::OnPaint ) );
|
|
|
|
Connect(wxEVT_PAINT, wxPaintEventHandler(FifoPlayerDlg::OnPaint));
|
|
|
|
m_FrameFromCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnFrameFrom ), NULL, this );
|
|
|
|
m_FrameFromCtrl->Connect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnFrameFrom), NULL, this);
|
|
|
|
m_FrameToCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnFrameTo ), NULL, this );
|
|
|
|
m_FrameToCtrl->Connect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnFrameTo), NULL, this);
|
|
|
|
m_ObjectFromCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnObjectFrom ), NULL, this );
|
|
|
|
m_ObjectFromCtrl->Connect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnObjectFrom), NULL, this);
|
|
|
|
m_ObjectToCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnObjectTo ), NULL, this );
|
|
|
|
m_ObjectToCtrl->Connect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnObjectTo), NULL, this);
|
|
|
|
m_EarlyMemoryUpdates->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnCheckEarlyMemoryUpdates ), NULL, this );
|
|
|
|
m_EarlyMemoryUpdates->Connect(wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnCheckEarlyMemoryUpdates), NULL, this);
|
|
|
|
m_RecordStop->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnRecordStop ), NULL, this );
|
|
|
|
m_RecordStop->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnRecordStop), NULL, this);
|
|
|
|
m_Save->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnSaveFile ), NULL, this );
|
|
|
|
m_Save->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnSaveFile), NULL, this);
|
|
|
|
m_FramesToRecordCtrl->Connect( wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler( FifoPlayerDlg::OnNumFramesToRecord ), NULL, this );
|
|
|
|
m_FramesToRecordCtrl->Connect(wxEVT_COMMAND_SPINCTRL_UPDATED, wxSpinEventHandler(FifoPlayerDlg::OnNumFramesToRecord), NULL, this);
|
|
|
|
m_Close->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FifoPlayerDlg::OnCloseClick ), NULL, this );
|
|
|
|
m_Close->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(FifoPlayerDlg::OnCloseClick), NULL, this);
|
|
|
|
|
|
|
|
|
|
|
|
Connect(RECORDING_FINISHED_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnRecordingFinished), NULL, this);
|
|
|
|
Connect(RECORDING_FINISHED_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnRecordingFinished), NULL, this);
|
|
|
|
Connect(FRAME_WRITTEN_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnFrameWritten), NULL, this);
|
|
|
|
Connect(FRAME_WRITTEN_EVENT, wxCommandEventHandler(FifoPlayerDlg::OnFrameWritten), NULL, this);
|
|
|
@ -239,7 +239,7 @@ void FifoPlayerDlg::CreateGUIControls()
|
|
|
|
Show();
|
|
|
|
Show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnPaint( wxPaintEvent& event )
|
|
|
|
void FifoPlayerDlg::OnPaint(wxPaintEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
UpdatePlayGui();
|
|
|
|
UpdatePlayGui();
|
|
|
|
UpdateRecorderGui();
|
|
|
|
UpdateRecorderGui();
|
|
|
@ -247,7 +247,7 @@ void FifoPlayerDlg::OnPaint( wxPaintEvent& event )
|
|
|
|
event.Skip();
|
|
|
|
event.Skip();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnFrameFrom( wxSpinEvent& event )
|
|
|
|
void FifoPlayerDlg::OnFrameFrom(wxSpinEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoPlayer &player = FifoPlayer::GetInstance();
|
|
|
|
FifoPlayer &player = FifoPlayer::GetInstance();
|
|
|
|
player.SetFrameRangeStart(event.GetPosition());
|
|
|
|
player.SetFrameRangeStart(event.GetPosition());
|
|
|
@ -256,7 +256,7 @@ void FifoPlayerDlg::OnFrameFrom( wxSpinEvent& event )
|
|
|
|
m_FrameToCtrl->SetValue(player.GetFrameRangeEnd());
|
|
|
|
m_FrameToCtrl->SetValue(player.GetFrameRangeEnd());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnFrameTo( wxSpinEvent& event )
|
|
|
|
void FifoPlayerDlg::OnFrameTo(wxSpinEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoPlayer &player = FifoPlayer::GetInstance();
|
|
|
|
FifoPlayer &player = FifoPlayer::GetInstance();
|
|
|
|
player.SetFrameRangeEnd(event.GetPosition());
|
|
|
|
player.SetFrameRangeEnd(event.GetPosition());
|
|
|
@ -265,22 +265,22 @@ void FifoPlayerDlg::OnFrameTo( wxSpinEvent& event )
|
|
|
|
m_FrameToCtrl->SetValue(player.GetFrameRangeEnd());
|
|
|
|
m_FrameToCtrl->SetValue(player.GetFrameRangeEnd());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnObjectFrom( wxSpinEvent& event )
|
|
|
|
void FifoPlayerDlg::OnObjectFrom(wxSpinEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoPlayer::GetInstance().SetObjectRangeStart(event.GetPosition());
|
|
|
|
FifoPlayer::GetInstance().SetObjectRangeStart(event.GetPosition());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnObjectTo( wxSpinEvent& event )
|
|
|
|
void FifoPlayerDlg::OnObjectTo(wxSpinEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoPlayer::GetInstance().SetObjectRangeEnd(event.GetPosition());
|
|
|
|
FifoPlayer::GetInstance().SetObjectRangeEnd(event.GetPosition());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnCheckEarlyMemoryUpdates( wxCommandEvent& event )
|
|
|
|
void FifoPlayerDlg::OnCheckEarlyMemoryUpdates(wxCommandEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoPlayer::GetInstance().SetEarlyMemoryUpdates(event.IsChecked());
|
|
|
|
FifoPlayer::GetInstance().SetEarlyMemoryUpdates(event.IsChecked());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnSaveFile( wxCommandEvent& WXUNUSED (event) )
|
|
|
|
void FifoPlayerDlg::OnSaveFile(wxCommandEvent& WXUNUSED(event))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoDataFile *file = FifoRecorder::GetInstance().GetRecordedFile();
|
|
|
|
FifoDataFile *file = FifoRecorder::GetInstance().GetRecordedFile();
|
|
|
|
|
|
|
|
|
|
|
@ -300,7 +300,7 @@ void FifoPlayerDlg::OnSaveFile( wxCommandEvent& WXUNUSED (event) )
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnRecordStop( wxCommandEvent& WXUNUSED (event) )
|
|
|
|
void FifoPlayerDlg::OnRecordStop(wxCommandEvent& WXUNUSED(event))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FifoRecorder& recorder = FifoRecorder::GetInstance();
|
|
|
|
FifoRecorder& recorder = FifoRecorder::GetInstance();
|
|
|
|
|
|
|
|
|
|
|
@ -316,7 +316,7 @@ void FifoPlayerDlg::OnRecordStop( wxCommandEvent& WXUNUSED (event) )
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnNumFramesToRecord( wxSpinEvent& event )
|
|
|
|
void FifoPlayerDlg::OnNumFramesToRecord(wxSpinEvent& event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_FramesToRecord = event.GetPosition();
|
|
|
|
m_FramesToRecord = event.GetPosition();
|
|
|
|
|
|
|
|
|
|
|
@ -326,12 +326,12 @@ void FifoPlayerDlg::OnNumFramesToRecord( wxSpinEvent& event )
|
|
|
|
m_FramesToRecord = -1;
|
|
|
|
m_FramesToRecord = -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnCloseClick( wxCommandEvent& WXUNUSED (event) )
|
|
|
|
void FifoPlayerDlg::OnCloseClick(wxCommandEvent& WXUNUSED(event))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Hide();
|
|
|
|
Hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnRecordingFinished(wxCommandEvent& WXUNUSED (event) )
|
|
|
|
void FifoPlayerDlg::OnRecordingFinished(wxCommandEvent& WXUNUSED(event))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_RecordStop->SetLabel(_("Record"));
|
|
|
|
m_RecordStop->SetLabel(_("Record"));
|
|
|
|
m_RecordStop->Enable();
|
|
|
|
m_RecordStop->Enable();
|
|
|
@ -339,7 +339,7 @@ void FifoPlayerDlg::OnRecordingFinished(wxCommandEvent& WXUNUSED (event) )
|
|
|
|
UpdateRecorderGui();
|
|
|
|
UpdateRecorderGui();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void FifoPlayerDlg::OnFrameWritten(wxCommandEvent& WXUNUSED (event))
|
|
|
|
void FifoPlayerDlg::OnFrameWritten(wxCommandEvent& WXUNUSED(event))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_CurrentFrameLabel->SetLabel(CreateCurrentFrameLabel());
|
|
|
|
m_CurrentFrameLabel->SetLabel(CreateCurrentFrameLabel());
|
|
|
|
m_NumObjectsLabel->SetLabel(CreateFileObjectCountLabel());
|
|
|
|
m_NumObjectsLabel->SetLabel(CreateFileObjectCountLabel());
|
|
|
@ -472,11 +472,10 @@ void FifoPlayerDlg::RecordingFinished()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sMutex.lock();
|
|
|
|
sMutex.lock();
|
|
|
|
|
|
|
|
|
|
|
|
wxEvtHandler* evtHandler = m_EvtHandler;
|
|
|
|
if (m_EvtHandler)
|
|
|
|
if (evtHandler)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
wxCommandEvent event(RECORDING_FINISHED_EVENT);
|
|
|
|
wxCommandEvent event(RECORDING_FINISHED_EVENT);
|
|
|
|
evtHandler->AddPendingEvent( event );
|
|
|
|
m_EvtHandler->AddPendingEvent(event);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sMutex.unlock();
|
|
|
|
sMutex.unlock();
|
|
|
@ -486,11 +485,10 @@ void FifoPlayerDlg::FileLoaded()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sMutex.lock();
|
|
|
|
sMutex.lock();
|
|
|
|
|
|
|
|
|
|
|
|
wxEvtHandler* evtHandler = m_EvtHandler;
|
|
|
|
if (m_EvtHandler)
|
|
|
|
if (evtHandler)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
wxPaintEvent event;
|
|
|
|
wxPaintEvent event;
|
|
|
|
evtHandler->AddPendingEvent( event );
|
|
|
|
m_EvtHandler->AddPendingEvent(event);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sMutex.unlock();
|
|
|
|
sMutex.unlock();
|
|
|
@ -500,12 +498,11 @@ void FifoPlayerDlg::FrameWritten()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sMutex.lock();
|
|
|
|
sMutex.lock();
|
|
|
|
|
|
|
|
|
|
|
|
wxEvtHandler* evtHandler = m_EvtHandler;
|
|
|
|
if (m_EvtHandler)
|
|
|
|
if (evtHandler)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
wxCommandEvent event(FRAME_WRITTEN_EVENT);
|
|
|
|
wxCommandEvent event(FRAME_WRITTEN_EVENT);
|
|
|
|
evtHandler->AddPendingEvent( event );
|
|
|
|
m_EvtHandler->AddPendingEvent(event);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sMutex.unlock();
|
|
|
|
sMutex.unlock();
|
|
|
|
}
|
|
|
|
}
|
|
|
|