]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/sound/sound.cpp
Send mail notifications to wx-buildbot@googlegroups.com
[wxWidgets.git] / samples / sound / sound.cpp
index a517d1a4059b9cf1a4ff7282d77f10a5a5241d8d..c82d84be909dc5aad35d32c9ecea9126c1eb24de 100644 (file)
@@ -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;