X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff3e84ffdc91ee8a52b3ab646e48d44d62de80e1..22015a02243ed14bab25961a28cc3a5f4dcfb0c5:/samples/sound/sound.cpp?ds=inline diff --git a/samples/sound/sound.cpp b/samples/sound/sound.cpp index a517d1a405..c82d84be90 100644 --- a/samples/sound/sound.cpp +++ b/samples/sound/sound.cpp @@ -73,6 +73,7 @@ public: void OnPlayAsyncOnStack(wxCommandEvent& event); void OnPlayLoop(wxCommandEvent& event); void OnStop(wxCommandEvent& event); + void OnPlayBell(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); @@ -114,6 +115,7 @@ enum Sound_PlayAsyncOnStack, Sound_PlayLoop, Sound_Stop, + Sound_PlayBell, Sound_Quit = wxID_EXIT, Sound_About = wxID_ABOUT @@ -139,6 +141,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(Sound_PlayAsyncOnStack, MyFrame::OnPlayAsyncOnStack) EVT_MENU(Sound_PlayLoop, MyFrame::OnPlayLoop) EVT_MENU(Sound_Stop, MyFrame::OnStop) + EVT_MENU(Sound_PlayBell, MyFrame::OnPlayBell) END_EVENT_TABLE() // Create a new application object: this macro will allow wxWidgets to create @@ -159,6 +162,9 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // create the main application window MyFrame *frame = new MyFrame(_T("wxWidgets Sound Sample")); @@ -191,8 +197,9 @@ MyFrame::MyFrame(const wxString& title) menuFile->Append(Sound_SelectFile, _T("Select WAV &file...\tCtrl-O"), _T("Select a new wav file to play")); #ifdef __WXMSW__ menuFile->Append(Sound_SelectResource, _T("Select WAV &resource...\tCtrl-R"), _T("Select a new resource to play")); -#endif // __WXMSW__ menuFile->Append(Sound_SelectMemory, _T("Select WAV &data\tCtrl-M"), _T("Choose to play from memory buffer")); +#endif // __WXMSW__ + menuFile->Append(Sound_Quit, _T("E&xit\tAlt-X"), _T("Quit this program")); wxMenu *playMenu = new wxMenu; @@ -202,6 +209,8 @@ MyFrame::MyFrame(const wxString& title) playMenu->Append(Sound_PlayLoop, _T("&Loop sound\tCtrl-L")); playMenu->AppendSeparator(); playMenu->Append(Sound_Stop, _T("&Stop playing\tCtrl-T")); + playMenu->AppendSeparator(); + playMenu->Append(Sound_PlayBell, _T("Play system bell")); wxMenu *helpMenu = new wxMenu; helpMenu->Append(Sound_About, _T("&About...\tF1"), _T("Show about dialog")); @@ -224,6 +233,7 @@ MyFrame::MyFrame(const wxString& title) bool MyFrame::CreateSound(wxSound& snd) const { +#ifdef __WXMSW__ if ( m_useMemory ) { // this is the dump of cuckoo.wav @@ -957,7 +967,6 @@ bool MyFrame::CreateSound(wxSound& snd) const return snd.Create(sizeof(data), data); } -#ifdef __WXMSW__ if ( !m_soundRes.empty() ) { return snd.Create(m_soundRes, true); @@ -1086,6 +1095,11 @@ void MyFrame::OnPlayLoop(wxCommandEvent& WXUNUSED(event)) m_sound->Play(wxSOUND_ASYNC | wxSOUND_LOOP); } +void MyFrame::OnPlayBell(wxCommandEvent& WXUNUSED(event)) +{ + wxBell(); +} + void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxString msg;