]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/sound.cpp
don't create non-existing groups in HasEntry()
[wxWidgets.git] / src / mac / carbon / sound.cpp
index 93e36c103c395acf57c858fd741b28c62aa0e0b0..f6ccb1557b2b001d25ecf697a8d6a6287965df40 100644 (file)
@@ -1,29 +1,30 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        sound.cpp
+// Name:        src/mac/carbon/sound.cpp
 // Purpose:     wxSound class implementation: optional
 // Author:      Ryan Norton
 // Modified by: Stefan Csomor
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Ryan Norton
-// Licence:       wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "sound.h"
-#endif
-
+// For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/object.h"
-#include "wx/string.h"
-#include "wx/log.h"
-#include "wx/file.h"
+#if wxUSE_SOUND
+
 #include "wx/sound.h"
-#include "wx/timer.h"
-#include "wx/intl.h"
 
-#if wxUSE_SOUND
+#ifndef WX_PRECOMP
+    #include "wx/object.h"
+    #include "wx/string.h"
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/timer.h"
+#endif
+
+#include "wx/file.h"
 
 // Carbon QT Implementation Details -
 //
 
 #ifdef __WXMAC__
 #include "wx/mac/uma.h"
+#ifndef __DARWIN__
 #include <Movies.h>
 #include <Gestalt.h>
 #endif
+#endif
 
 #if defined __WXMAC__ && defined __DARWIN__/*TARGET_CARBON*/
 #ifdef __APPLE_CC__
 #include <qtml.h>
 #endif
 
+#ifndef __DARWIN__
 #include <QuickTimeComponents.h>
+#else
+#include <QuickTime/QuickTimeComponents.h>
+#endif
 
 //Time between timer calls
 #define MOVIE_DELAY 100
@@ -92,7 +99,7 @@ public:
         DisposeMovie(m_movie);
         Stop();
 
-        //Note that ExitMovies() is not neccessary, but
+        //Note that ExitMovies() is not necessary, but
         //the docs are fuzzy on whether or not TerminateQTML is
         ExitMovies();
 
@@ -382,11 +389,11 @@ bool wxSound::DoPlay(unsigned flags) const
 //NB:  RN: Stefan - I think the 10.3 path functions are broken if kQTNativeDefaultPathStyle is
 //going to trigger a warning every time it is used - where its _supposed to be used_!!
 //(kQTNativePathStyle is negative but the function argument is unsigned!)
-//../src/mac/carbon/sound.cpp: In member function `virtual bool 
+//../src/mac/carbon/sound.cpp: In member function `virtual bool
 //   wxSound::DoPlay(unsigned int) const':
 //../src/mac/carbon/sound.cpp:387: warning: passing negative value `
-//   kQTNativeDefaultPathStyle' for argument passing 2 of `OSErr 
-//   QTNewDataReferenceFromFullPathCFString(const __CFString*, long unsigned int, 
+//   kQTNativeDefaultPathStyle' for argument passing 2 of `OSErr
+//   QTNewDataReferenceFromFullPathCFString(const __CFString*, long unsigned int,
 //   long unsigned int, char***, OSType*)'
 //../src/mac/carbon/sound.cpp:387: warning: argument of negative value `
 //   kQTNativeDefaultPathStyle' to `long unsigned int'
@@ -394,17 +401,17 @@ bool wxSound::DoPlay(unsigned flags) const
             if ( UMAGetSystemVersion() >= 0x1030 )
             {
                 Handle dataRef = NULL;
-                OSType dataRefType;            
-                
+                OSType dataRefType;
+
                 err = QTNewDataReferenceFromFullPathCFString(wxMacCFStringHolder(m_sndname,wxLocale::GetSystemEncoding()),
                     //FIXME: Why does this have to be casted?
-                    (unsigned int)kQTNativeDefaultPathStyle, 
+                    (unsigned int)kQTNativeDefaultPathStyle,
                     //FIXME: End
                     0, &dataRef, &dataRefType);
 
                 wxASSERT(err == noErr);
-                
-                if (NULL != dataRef || err != noErr) 
+
+                if (NULL != dataRef || err != noErr)
                 {
                     err = NewMovieFromDataRef( &movie, newMovieDontAskUnresolvedDataRefs , NULL, dataRef, dataRefType );
                     wxASSERT(err == noErr);
@@ -422,8 +429,10 @@ bool wxSound::DoPlay(unsigned flags) const
                 int nError;
                 if ((nError = NativePathNameToFSSpec ((char*) m_sndname.c_str(), &sfFile, 0)) != noErr)
                 {
+/*
                     wxLogSysError(wxString::Format(wxT("File:%s does not exist\nError:%i"),
                                     m_sndname.c_str(), nError));
+*/
                     return false;
                 }
 #endif
@@ -445,7 +454,7 @@ bool wxSound::DoPlay(unsigned flags) const
 
                 CloseMovieFile (movieResFile);
             }
-            
+
             if (err != noErr)
             {
                 wxLogSysError(
@@ -476,7 +485,7 @@ bool wxSound::DoPlay(unsigned flags) const
         wxASSERT_MSG(!(flags & wxSOUND_LOOP), wxT("Can't loop and play syncronously at the same time"));
 
         //Play movie until it ends, then exit
-        //Note that due to quicktime caching this may not always 
+        //Note that due to quicktime caching this may not always
         //work 100% correctly
         while (!IsMovieDone(movie))
             MoviesTask(movie, 1);