X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dcb68102796280b3e54979ae95738089914ce842..0d1c8f39baaaeb7a7f757091209eab471ef5dbc4:/src/mac/carbon/sound.cpp?ds=sidebyside diff --git a/src/mac/carbon/sound.cpp b/src/mac/carbon/sound.cpp index af1144a5d7..f6ccb1557b 100644 --- a/src/mac/carbon/sound.cpp +++ b/src/mac/carbon/sound.cpp @@ -1,27 +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 ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "sound.h" -#endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#if wxUSE_SOUND -#include "wx/object.h" -#include "wx/string.h" -#include "wx/log.h" -#include "wx/file.h" #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 - // @@ -43,9 +46,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 +67,11 @@ #include #endif +#ifndef __DARWIN__ #include +#else +#include +#endif //Time between timer calls #define MOVIE_DELAY 100 @@ -90,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(); @@ -380,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' @@ -392,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); @@ -420,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 @@ -443,7 +454,7 @@ bool wxSound::DoPlay(unsigned flags) const CloseMovieFile (movieResFile); } - + if (err != noErr) { wxLogSysError( @@ -474,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);