]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/samples/mmedia/mmbman.cpp
Separate RESCOMP into WINDRES (for Win32) and REZ (for Mac OS).
[wxWidgets.git] / contrib / samples / mmedia / mmbman.cpp
index 85728e9ec1484eae4cd83ec97685cfad4a2a7eea..3014ef2a1a982c58cf79267479bb7ead672173eb 100644 (file)
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-  #pragma implementation "mmbman.cpp"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
@@ -72,29 +68,29 @@ class MMBoardSoundFile: public MMBoardFile {
 public:
     MMBoardSoundFile(const wxString& filename);
     ~MMBoardSoundFile();
-    
+
     bool NeedWindow();
-    
+
     void SetWindow(wxWindow *window);
-    
+
     void Play();
     void Pause();
     void Resume();
     void Stop();
-    
+
     MMBoardTime GetPosition();
     MMBoardTime GetLength();
     void SetPosition(MMBoardTime btime);
-    
+
     bool IsStopped();
     bool IsPaused();
-    
+
     wxString GetStringType();
     wxString GetStringInformation();
-    
+
 protected:
     wxSoundFileStream *GetDecoder();
-    
+
     wxSoundStream *m_output_stream;
     wxInputStream *m_input_stream;
     wxSoundFileStream *m_file_stream;
@@ -107,26 +103,26 @@ class MMBoardVideoFile: public MMBoardFile {
 public:
     MMBoardVideoFile(const wxString& filename);
     ~MMBoardVideoFile();
-    
+
     bool NeedWindow();
-    
+
     void SetWindow(wxWindow *window);
-    
+
     void Play();
     void Pause();
     void Resume();
     void Stop();
-    
+
     MMBoardTime GetPosition();
     MMBoardTime GetLength();
     void SetPosition(MMBoardTime btime);
-    
+
     bool IsStopped();
     bool IsPaused();
-    
+
     wxString GetStringType();
     wxString GetStringInformation();
-    
+
 protected:
     wxWindow *m_output_window;
     wxVideoBaseDriver *m_video_driver;
@@ -148,14 +144,14 @@ MMBoardSoundFile::MMBoardSoundFile(const wxString& filename)
 {
     m_input_stream = new wxFileInputStream(filename);
     m_output_stream = MMBoardManager::OpenSoundStream();
-    
+
     m_file_stream = GetDecoder();
-    
+
     if (!m_file_stream) {
         SetError(MMBoard_UnknownFile);
         return;
     }
-    
+
     // Compute length
     wxUint32 length, seconds;
 
@@ -177,25 +173,25 @@ MMBoardSoundFile::~MMBoardSoundFile()
 wxSoundFileStream *MMBoardSoundFile::GetDecoder()
 {
     wxSoundFileStream *f_stream;
-    
+
     // First, we try a Wave decoder
     f_stream = new wxSoundWave(*m_input_stream, *m_output_stream);
     m_file_type = MMBoard_WAVE;
     if (f_stream->CanRead())
         return f_stream;
     delete f_stream;
-    
+
     // Then, a AIFF decoder
     f_stream = new wxSoundAiff(*m_input_stream, *m_output_stream);
     m_file_type = MMBoard_AIFF;
     if (f_stream->CanRead())
         return f_stream;
     delete f_stream;
-    
+
     m_file_type = MMBoard_UNKNOWNTYPE;
-    
+
     // TODO: automate
-    
+
     return NULL;
 }
 
@@ -218,17 +214,17 @@ MMBoardTime MMBoardSoundFile::GetPosition()
 {
     wxUint32 length, seconds;
     MMBoardTime file_time;
-    
+
     file_time.seconds = file_time.minutes = file_time.hours = 0;
     if (m_file_stream->IsStopped())
         return file_time;
-    
+
     length = m_file_stream->GetPosition();
     seconds = m_file_stream->GetSoundFormat().GetTimeFromBytes(length);
     file_time.seconds = seconds % 60;
     file_time.minutes = (seconds / 60) % 60;
     file_time.hours   = seconds / 3600;
-    
+
     return file_time;
 }
 
@@ -245,7 +241,7 @@ void MMBoardSoundFile::SetPosition(MMBoardTime btime)
 
 bool MMBoardSoundFile::NeedWindow()
 {
-    return FALSE;
+    return false;
 }
 
 void MMBoardSoundFile::SetWindow(wxWindow *WXUNUSED(window))
@@ -302,25 +298,25 @@ wxString MMBoardSoundFile::GetStringInformation()
 {
     wxString info;
     wxSoundFormatBase *format;
-    
+
     format = &(m_file_stream->GetSoundFormat());
-    
+
     info = wxT("Data encoding: ");
     switch (format->GetType()) {
     case wxSOUND_PCM: {
         wxSoundFormatPcm *pcm_format = (wxSoundFormatPcm *)format;
-      
-       info += wxString::Format(wxT("PCM %s %s\n"),
+
+    info += wxString::Format(wxT("PCM %s %s\n"),
                                  pcm_format->Signed() ? wxT("signed") : wxT("unsigned"),
                                  pcm_format->GetOrder() == wxLITTLE_ENDIAN ? wxT("little endian") : wxT("big endian"));
-       info += wxString::Format(wxT("Sampling rate: %d\n")
-                                wxT("Bits per sample: %d\n")
-                                wxT("Number of channels: %d\n"),
-                                pcm_format->GetSampleRate(),
-                                pcm_format->GetBPS(),
-                                pcm_format->GetChannels());
-       
-       break;
+    info += wxString::Format(wxT("Sampling rate: %d\n")
+                 wxT("Bits per sample: %d\n")
+                 wxT("Number of channels: %d\n"),
+                 pcm_format->GetSampleRate(),
+                 pcm_format->GetBPS(),
+                 pcm_format->GetChannels());
+
+    break;
     }
     case wxSOUND_MSADPCM: {
         wxSoundFormatMSAdpcm *adpcm_format = (wxSoundFormatMSAdpcm *)format;
@@ -334,13 +330,13 @@ wxString MMBoardSoundFile::GetStringInformation()
     }
     case wxSOUND_ULAW: {
         wxSoundFormatUlaw *ulaw_format = (wxSoundFormatUlaw *)format;
-       info += wxT("ULAW\n");
-       info += wxString::Format(wxT("Sampling rate: %d\n"), ulaw_format->GetSampleRate());
-       break;
+        info += wxT("ULAW\n");
+        info += wxString::Format(wxT("Sampling rate: %d\n"), ulaw_format->GetSampleRate());
+        break;
     }
     default:
         info += wxT("Unknown");
-       break;
+        break;
     }
     return info;
 }
@@ -354,14 +350,15 @@ wxString MMBoardSoundFile::GetStringInformation()
 MMBoardVideoFile::MMBoardVideoFile(const wxString& filename)
 {
     m_output_window = NULL;
-  
-#if defined(__UNIX__)
+
+#if defined(__UNIX__) && !defined(__CYGWIN__)
     m_video_driver = new wxVideoXANIM(filename);
-#elif defined(__WINDOWS__) && !defined(__MINGW32__) && !defined(__WATCOMC__)
+#elif defined(__WINDOWS__) && !defined(__MINGW32__) && !defined(__WATCOMC__) && !defined(__CYGWIN__)
     // versions of Open Watcom and MinGW tested against this source does not
     // deliver "digitalv.h" required in this feature
     m_video_driver = new wxVideoWindows(filename);
 #else
+    wxUnusedVar(filename);
     m_video_driver = NULL;
     SetError(MMBoard_UnknownFile);
 #endif
@@ -375,7 +372,7 @@ MMBoardVideoFile::~MMBoardVideoFile()
 
 bool MMBoardVideoFile::NeedWindow()
 {
-    return TRUE;
+    return true;
 }
 
 void MMBoardVideoFile::SetWindow(wxWindow *window)
@@ -425,7 +422,7 @@ MMBoardTime MMBoardVideoFile::GetLength()
     int frameTime;
 
     frameTime = (int)( m_video_driver->GetNbFrames() / m_video_driver->GetFrameRate());
-    
+
     btime.seconds = frameTime % 60;
     btime.minutes = (frameTime / 60) % 60;
     btime.hours   = frameTime / 3600;
@@ -509,7 +506,10 @@ DECLARE_APP(MMBoardApp)
 
 wxSoundStream *MMBoardManager::OpenSoundStream()
 {
-#ifdef __UNIX__
+#ifdef __WIN32__
+  if ((wxGetApp().m_caps & MM_SOUND_WIN) != 0)
+    return new wxSoundStreamWin();
+#elif __UNIX__
   if ((wxGetApp().m_caps & MM_SOUND_ESD) != 0)
     return new wxSoundStreamESD();
 
@@ -517,11 +517,6 @@ wxSoundStream *MMBoardManager::OpenSoundStream()
     return new wxSoundStreamOSS();
 #endif
 
-#ifdef __WIN32__
-  if ((wxGetApp().m_caps & MM_SOUND_WIN) != 0)
-    return new wxSoundStreamWin();
-#endif
-
   wxMessageBox(_T("You are trying to open a multimedia but you have not devices"), _T("Error"), wxOK | wxICON_ERROR, NULL);
 
   return NULL;