X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bc57786b5554a590c4a8abc9c42584fcc8e0a9eb..f9204363853f23d27792e9bb061505f970aed0c7:/src/mac/carbon/sound.cpp diff --git a/src/mac/carbon/sound.cpp b/src/mac/carbon/sound.cpp index a4870396eb..b63f963929 100644 --- a/src/mac/carbon/sound.cpp +++ b/src/mac/carbon/sound.cpp @@ -9,10 +9,12 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "sound.h" #endif +#include "wx/wxprec.h" + #include "wx/object.h" #include "wx/string.h" #include "wx/log.h" @@ -43,9 +45,11 @@ #ifdef __WXMAC__ #include "wx/mac/uma.h" +#ifndef __DARWIN__ #include #include #endif +#endif #if defined __WXMAC__ && defined __DARWIN__/*TARGET_CARBON*/ #ifdef __APPLE_CC__ @@ -62,7 +66,11 @@ #include #endif +#ifndef __DARWIN__ #include +#else +#include +#endif //Time between timer calls #define MOVIE_DELAY 100 @@ -90,7 +98,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(); @@ -223,7 +231,7 @@ inline bool wxInitQT () int nError; //-2093 no dll if ((nError = InitializeQTML(0)) != noErr) - wxLogSysError(wxString::Format("Couldn't Initialize Quicktime-%i", nError)); + wxLogSysError(wxString::Format(wxT("Couldn't Initialize Quicktime-%i"), nError)); #endif EnterMovies(); return true; @@ -420,8 +428,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 @@ -474,8 +484,10 @@ 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 + //work 100% correctly while (!IsMovieDone(movie)) - MoviesTask(movie, 0); + MoviesTask(movie, 1); DisposeMovie(movie); }