Max 5 API Reference
00001 #ifndef __XQT_STUBS_H__ 00002 #define __XQT_STUBS_H__ 00003 00004 #ifdef MAC_VERSION 00005 00006 #include <CoreFoundation/CFString.h> 00007 00008 #endif 00009 00010 #ifdef WIN_VERSION 00011 00012 #include <QTML.h> 00013 #include <Movies.h> 00014 #include <Sound.h> 00015 #include <CFString.h> 00016 00017 #endif 00018 00019 #ifdef MAC_VERSION 00020 #define XQT_PathStyle kQTPOSIXPathStyle 00021 #endif 00022 00023 #ifdef WIN_VERSION 00024 #define XQT_PathStyle kQTWindowsPathStyle 00025 #endif 00026 00027 // for max 5 we will rid the kernel of XQT stuff and just have things call directly 00028 // by linking with qtmlClient.lib as appropriate. 00029 #ifndef USE_ALTURA 00030 00031 #define XQT_OpenMovieFilePathSpec OpenMovieFile 00032 #define XQT_patcher_setport patcher_setport 00033 #define XQT_patcher_restoreport MacSetPort 00034 #define XQT_wind_setport wind_setport 00035 #ifdef TARGET_API_MAC_CARBON 00036 #define XQT_wind_getport(x) (GetWindowPort(wind_syswind(x))) 00037 #else 00038 #define XQT_wind_getport(x) (wind_syswind(x)) 00039 #endif 00040 #define XQT_box_nodraw box_nodraw 00041 #define XQT_box_enddraw box_enddraw 00042 #define XQT_GetPortBitMapForCopyBits GetPortBitMapForCopyBits 00043 00044 // MacToolbox Functions as exposed by Quicktime 00045 #define XQT_Gestalt Gestalt 00046 #define XQT_NewHandle NewHandle 00047 #define XQT_GetHandleSize GetHandleSize 00048 #define XQT_DisposeHandle DisposeHandle 00049 #define XQT_HLock HLock 00050 #define XQT_HUnlock HUnlock 00051 #define XQT_NewGWorld NewGWorld 00052 #define XQT_QTNewGWorld QTNewGWorld 00053 #define XQT_DisposeGWorld DisposeGWorld 00054 #define XQT_GetGWorldPixMap GetGWorldPixMap 00055 #define XQT_GetPixBaseAddr GetPixBaseAddr 00056 #ifdef MAC_VERSION 00057 #define XQT_GetPixRowBytes GetPixRowBytes 00058 #endif 00059 #ifdef WIN_VERSION 00060 #define XQT_GetPixRowBytes QTGetPixMapHandleRowBytes 00061 #endif 00062 #define XQT_LockPixels LockPixels 00063 #define XQT_UnlockPixels UnlockPixels 00064 #define XQT_GetPortBounds GetPortBounds 00065 #define XQT_SetPort SetPort 00066 #define XQT_GetPort GetPort 00067 #define XQT_SetPortWindowPort SetPortWindowPort 00068 #define XQT_GetWindowFromPort GetWindowFromPort 00069 #define XQT_NewRgn NewRgn 00070 #define XQT_DisposeRgn DisposeRgn 00071 #define XQT_CopyRgn CopyRgn 00072 #define XQT_RectRgn RectRgn 00073 #define XQT_SectRgn SectRgn 00074 #define XQT_EqualRgn EqualRgn 00075 #define XQT_GetRegionBounds GetRegionBounds 00076 #define XQT_TickCount TickCount 00077 #define XQT_GetFNum GetFNum 00078 #define XQT_TextFont TextFont 00079 #define XQT_TextSize TextSize 00080 00081 // Quicktime Functions 00082 #define XQT_InitializeQTML InitializeQTML 00083 #define XQT_TerminateQTML TerminateQTML 00084 #define XQT_MCGetIndMovie MCGetIndMovie 00085 #define XQT_SetIdentityMatrix SetIdentityMatrix 00086 #define XQT_CreatePortAssociation CreatePortAssociation 00087 #define XQT_DestroyPortAssociation DestroyPortAssociation 00088 #define XQT_CloseMovieFile CloseMovieFile 00089 #define XQT_DisposeMovie DisposeMovie 00090 #define XQT_DisposeMovieController DisposeMovieController 00091 #define XQT_DisposeTimeBase DisposeTimeBase 00092 #define XQT_EnterMovies EnterMovies 00093 #define XQT_ExitMovies ExitMovies 00094 #define XQT_GetMediaDuration GetMediaDuration 00095 #define XQT_GetMediaSampleDescription GetMediaSampleDescription 00096 #define XQT_GetMediaTimeScale GetMediaTimeScale 00097 #define XQT_GetMoviePict GetMoviePict 00098 #define XQT_GetMovieBox GetMovieBox 00099 #define XQT_GetMovieDisplayClipRgn GetMovieDisplayClipRgn 00100 #define XQT_GetMovieDuration GetMovieDuration 00101 #define XQT_GetMovieGWorld GetMovieGWorld 00102 #define XQT_GetMovieIndTrackType GetMovieIndTrackType 00103 #define XQT_GetMovieMatrix GetMovieMatrix 00104 #define XQT_GetMovieRate GetMovieRate 00105 #define XQT_GetMoviesError GetMoviesError 00106 #define XQT_GetMovieTime GetMovieTime 00107 #define XQT_GetMovieTimeBase GetMovieTimeBase 00108 #define XQT_GetMovieTimeScale GetMovieTimeScale 00109 #define XQT_GetNativeWindowPort GetNativeWindowPort 00110 #define XQT_GetSoundHeaderOffset GetSoundHeaderOffset 00111 #define XQT_GetTimeBaseFlags GetTimeBaseFlags 00112 #define XQT_GetTrackDuration GetTrackDuration 00113 #define XQT_GetTrackMedia GetTrackMedia 00114 #define XQT_IsMovieDone IsMovieDone 00115 #define XQT_LoadMovieIntoRam LoadMovieIntoRam 00116 #define XQT_MCClick MCClick 00117 #define XQT_MCDoAction MCDoAction 00118 #define XQT_MCDraw MCDraw 00119 #define XQT_MCGetClip MCGetClip 00120 #define XQT_MCIdle MCIdle 00121 #define XQT_MCSetActionFilterWithRefCon MCSetActionFilterWithRefCon 00122 #define XQT_MCSetClip MCSetClip 00123 #define XQT_MCSetControllerAttached MCSetControllerAttached 00124 #define XQT_MCSetControllerBoundsRect MCSetControllerBoundsRect 00125 #define XQT_MCSetControllerPort MCSetControllerPort 00126 #define XQT_MCGetControllerPort MCGetControllerPort 00127 #define XQT_MCSetMovie MCSetMovie 00128 #define XQT_MCSetVisible MCSetVisible 00129 #define XQT_MoviesTask MoviesTask 00130 #define XQT_NativePathNameToFSSpec NativePathNameToFSSpec 00131 #define XQT_NewMovieFromFile NewMovieFromFile 00132 #define XQT_OpenDefaultComponent OpenDefaultComponent 00133 #define XQT_PutMovieIntoTypedHandle PutMovieIntoTypedHandle 00134 #define XQT_SetMovieActive SetMovieActive 00135 #define XQT_SetMovieBox SetMovieBox 00136 #define XQT_SetMovieDisplayClipRgn SetMovieDisplayClipRgn 00137 #define XQT_SetMovieGWorld SetMovieGWorld 00138 #define XQT_SetMovieMatrix SetMovieMatrix 00139 #define XQT_SetMoviePlayHints SetMoviePlayHints 00140 #define XQT_SetMovieRate SetMovieRate 00141 #define XQT_SetMovieTimeValue SetMovieTimeValue 00142 #define XQT_SetMovieVolume SetMovieVolume 00143 #define XQT_SetTimeBaseFlags SetTimeBaseFlags 00144 #define XQT_SetTimeBaseStartTime SetTimeBaseStartTime 00145 #define XQT_SetTimeBaseStopTime SetTimeBaseStopTime 00146 #define XQT_SetupAIFFHeader SetupAIFFHeader 00147 #define XQT_StartMovie StartMovie 00148 #define XQT_UpdateMovie UpdateMovie 00149 00150 #define XQT_GetMovieNaturalBoundsRect GetMovieNaturalBoundsRect 00151 #define XQT_SetMovieDrawingCompleteProc SetMovieDrawingCompleteProc 00152 00153 #define XQT_FixRatio FixRatio 00154 00155 #endif // #ifndef USE_ALTURA 00156 00157 #ifdef USE_ALTURA 00158 00159 #define XQT_EXTERN_API(x) x 00160 00161 // carbon style macros 00162 00163 #define XQT_GetPortBitMapForCopyBits(x) ((BitMap *)*((CGrafPtr)(x))->portPixMap) 00164 00165 #ifdef __cplusplus 00166 extern "C" { 00167 #endif 00168 00169 // Max-specific functions 00170 00171 XQT_EXTERN_API( long ) 00172 XQT_GetQuickTimeVersion( void ); 00173 00174 XQT_EXTERN_API( long ) 00175 XQT_CheckFunPtr( FARPROC *ppfn, const char *name ); 00176 00177 //XQT_EXTERN_API( OSErr ) 00178 //XQT_OpenMovieFilePathSpec( const PATH_SPEC* pathSpec, short* resRefNum, SInt8 permission ); 00179 00180 //XQT_EXTERN_API( long ) 00181 //XQT_QT2MaxSpecCopy(FSSpec *qt_spec, PATH_SPEC *max_spec); 00182 00183 //XQT_EXTERN_API( long ) 00184 //XQT_Max2QTSpecCopy(PATH_SPEC *max_spec, FSSpec *qt_spec); 00185 00186 XQT_EXTERN_API( long ) 00187 XQT_QT2MaxGWorldCopy(GWorldPtr qt_src, GWorldPtr max_dst); 00188 00189 XQT_EXTERN_API( long ) 00190 XQT_Max2QTGWorldCopy(GWorldPtr max_src, GWorldPtr qt_dst); 00191 00192 XQT_EXTERN_API( void ) 00193 XQT_QTGWorldClear(GWorldPtr gp, long c); 00194 00195 XQT_EXTERN_API( RgnHandle ) 00196 XQT_hwnd_qtclip(HWND hwnd); 00197 00198 XQT_EXTERN_API( GrafPtr ) 00199 XQT_hwnd_setport(HWND hWnd); 00200 00201 XQT_EXTERN_API( GrafPtr ) 00202 XQT_hwnd_getport(HWND hWnd); 00203 00204 XQT_EXTERN_API( GrafPtr ) 00205 XQT_patcher_setport(struct patcher *p); 00206 00207 XQT_EXTERN_API( GrafPtr ) 00208 XQT_patcher_getport(struct patcher *p); 00209 00210 XQT_EXTERN_API( void ) 00211 XQT_patcher_restoreport(GrafPtr gp); 00212 00213 XQT_EXTERN_API( GrafPtr ) 00214 XQT_wind_setport(struct wind *x); 00215 00216 XQT_EXTERN_API( GrafPtr ) 00217 XQT_wind_getport(struct wind *x); 00218 00219 XQT_EXTERN_API( short ) 00220 XQT_box_nodraw(struct box *x); 00221 00222 XQT_EXTERN_API( void ) 00223 XQT_box_enddraw(struct box *x); 00224 00225 // Mac Toolbox functions from QT on windows 00226 00227 XQT_EXTERN_API( OSErr ) 00228 XQT_Gestalt( OSType selector, long *response ); 00229 00230 XQT_EXTERN_API( Handle ) 00231 XQT_NewHandle( Size byteCount ); 00232 00233 XQT_EXTERN_API(void) 00234 XQT_DisposeHandle(Handle h); 00235 00236 XQT_EXTERN_API( Size ) 00237 XQT_GetHandleSize( Handle h ); 00238 00239 XQT_EXTERN_API( void ) 00240 XQT_HLock(Handle h); 00241 00242 XQT_EXTERN_API( void) 00243 XQT_HUnlock(Handle h); 00244 00245 XQT_EXTERN_API( QDErr ) 00246 XQT_NewGWorld( GWorldPtr *offscreenGWorld, short PixelDepth, const Rect *boundsRect, 00247 CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags ); 00248 00249 XQT_EXTERN_API( OSErr ) 00250 XQT_QTNewGWorld( 00251 GWorldPtr * offscreenGWorld, 00252 OSType PixelFormat, 00253 const Rect * boundsRect, 00254 CTabHandle cTable, 00255 GDHandle aGDevice, 00256 GWorldFlags flags); 00257 00258 XQT_EXTERN_API( void ) 00259 XQT_DisposeGWorld( GWorldPtr offscreenGWorld ); 00260 00261 XQT_EXTERN_API( PixMapHandle ) 00262 XQT_GetGWorldPixMap(GWorldPtr offscreenGWorld); 00263 00264 XQT_EXTERN_API( Ptr ) 00265 XQT_GetPixBaseAddr(PixMapHandle pm); 00266 00267 XQT_EXTERN_API( long ) 00268 XQT_GetPixRowBytes(PixMapHandle pm); 00269 00270 XQT_EXTERN_API( void ) 00271 XQT_LockPixels(PixMapHandle h); 00272 00273 XQT_EXTERN_API( void) 00274 XQT_UnlockPixels(PixMapHandle h); 00275 00276 XQT_EXTERN_API( Rect * ) 00277 XQT_GetPortBounds(CGrafPtr port, Rect *rect); 00278 00279 XQT_EXTERN_API( void ) 00280 XQT_SetPort(GrafPtr port); 00281 00282 XQT_EXTERN_API( void ) 00283 XQT_GetPort(GrafPtr *port); 00284 00285 XQT_EXTERN_API( void ) 00286 XQT_SetPortWindowPort(WindowRef window); 00287 00288 XQT_EXTERN_API( WindowRef ) 00289 XQT_GetWindowFromPort (CGrafPtr port); 00290 00291 XQT_EXTERN_API( void ) 00292 XQT_SetClip(RgnHandle rgn); 00293 00294 XQT_EXTERN_API( void ) 00295 XQT_GetClip(RgnHandle rgn); 00296 00297 XQT_EXTERN_API( RgnHandle ) 00298 XQT_NewRgn (void); 00299 00300 XQT_EXTERN_API( void ) 00301 XQT_DisposeRgn (RgnHandle rgn); 00302 00303 XQT_EXTERN_API( void ) 00304 XQT_CopyRgn (RgnHandle srcRgn, RgnHandle dstRgn); 00305 00306 XQT_EXTERN_API( void ) 00307 XQT_RectRgn (RgnHandle rgn, const Rect *r); 00308 00309 XQT_EXTERN_API( void ) 00310 XQT_SectRgn (RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn); 00311 00312 XQT_EXTERN_API( Boolean ) 00313 XQT_EqualRgn (RgnHandle rgnA, RgnHandle rgnB); 00314 00315 XQT_EXTERN_API( Rect *) 00316 XQT_GetRegionBounds (RgnHandle region, Rect *bounds); 00317 00318 XQT_EXTERN_API( UInt32 ) 00319 XQT_TickCount (void); 00320 00321 XQT_EXTERN_API( void ) 00322 XQT_GetFNum( ConstStr255Param name, short *familyID); 00323 00324 XQT_EXTERN_API( void ) 00325 XQT_TextFont(short font); 00326 00327 XQT_EXTERN_API( void ) 00328 XQT_TextSize(short size); 00329 00330 00331 // QuickTime functions 00332 00333 XQT_EXTERN_API( OSErr ) 00334 XQT_InitializeQTML( long flag ); 00335 00336 XQT_EXTERN_API( OSErr ) 00337 XQT_TerminateQTML( void ); 00338 00339 XQT_EXTERN_API( Movie ) 00340 XQT_MCGetIndMovie( MovieController mc, short index ); 00341 00342 XQT_EXTERN_API( void ) 00343 XQT_SetIdentityMatrix( MatrixRecord* matrix ); 00344 00345 XQT_EXTERN_API(GrafPtr) 00346 XQT_CreatePortAssociation( void* theWnd, Ptr storage, long flags ); 00347 00348 XQT_EXTERN_API( void ) 00349 XQT_DestroyPortAssociation( CGrafPtr cgp ); 00350 00351 XQT_EXTERN_API( OSErr ) 00352 XQT_CloseMovieFile( short resRefNum ); 00353 00354 XQT_EXTERN_API( void ) 00355 XQT_DisposeMovie( Movie theMovie ); 00356 00357 XQT_EXTERN_API( void ) 00358 XQT_DisposeMovieController( ComponentInstance mc ); 00359 00360 XQT_EXTERN_API( void ) 00361 XQT_DisposeTimeBase( TimeBase tb ); 00362 00363 XQT_EXTERN_API( OSErr ) 00364 XQT_EnterMovies( void ); 00365 00366 XQT_EXTERN_API( void ) 00367 XQT_ExitMovies( void ); 00368 00369 XQT_EXTERN_API( TimeValue ) 00370 XQT_GetMediaDuration( Media theMedia ); 00371 00372 XQT_EXTERN_API( void ) 00373 XQT_GetMediaSampleDescription( Media theMedia, long index, SampleDescriptionHandle descH ); 00374 00375 XQT_EXTERN_API( TimeScale ) 00376 XQT_GetMediaTimeScale( Media theMedia ); 00377 00378 XQT_EXTERN_API( PicHandle ) 00379 XQT_GetMoviePict( Movie theMovie, TimeValue time ); 00380 00381 XQT_EXTERN_API( void ) 00382 XQT_GetMovieBox( Movie theMovie, Rect* boxRect ); 00383 00384 XQT_EXTERN_API( RgnHandle ) 00385 XQT_GetMovieDisplayClipRgn( Movie theMovie ); 00386 00387 XQT_EXTERN_API( TimeValue ) 00388 XQT_GetMovieDuration( Movie theMovie ); 00389 00390 XQT_EXTERN_API( void ) 00391 XQT_GetMovieGWorld( Movie theMovie, CGrafPtr* port, GDHandle* gdh ); 00392 00393 XQT_EXTERN_API( Track ) 00394 XQT_GetMovieIndTrackType( Movie theMovie, long index, OSType trackType, long flags ); 00395 00396 XQT_EXTERN_API( void ) 00397 XQT_GetMovieMatrix( Movie theMovie, MatrixRecord* matrix ); 00398 00399 XQT_EXTERN_API( Fixed ) 00400 XQT_GetMovieRate( Movie theMovie ); 00401 00402 XQT_EXTERN_API( OSErr ) 00403 XQT_GetMoviesError( void ); 00404 00405 XQT_EXTERN_API( TimeValue ) 00406 XQT_GetMovieTime( Movie theMovie, TimeRecord* __currentTime ); 00407 00408 XQT_EXTERN_API( TimeBase ) 00409 XQT_GetMovieTimeBase( Movie theMovie ); 00410 00411 XQT_EXTERN_API( TimeScale ) 00412 XQT_GetMovieTimeScale( Movie theMovie ); 00413 00414 XQT_EXTERN_API( GrafPtr ) 00415 XQT_GetNativeWindowPort( void* nativeWindow ); 00416 00417 XQT_EXTERN_API( OSErr ) 00418 XQT_GetSoundHeaderOffset( SndListHandle sndHandle, long* offset ); 00419 00420 XQT_EXTERN_API( long ) 00421 XQT_GetTimeBaseFlags( TimeBase tb ); 00422 00423 XQT_EXTERN_API( TimeValue ) 00424 XQT_GetTrackDuration( Track theTrack ); 00425 00426 XQT_EXTERN_API( Media ) 00427 XQT_GetTrackMedia( Track theTrack ); 00428 00429 XQT_EXTERN_API( Boolean ) 00430 XQT_IsMovieDone( Movie theMovie ); 00431 00432 XQT_EXTERN_API( OSErr ) 00433 XQT_LoadMovieIntoRam( Movie theMovie, TimeValue time, TimeValue duration, long flags ); 00434 00435 XQT_EXTERN_API( ComponentResult ) 00436 XQT_MCClick( MovieController mc, WindowRef w, Point where, long when, long modifiers ); 00437 00438 XQT_EXTERN_API( ComponentResult ) 00439 XQT_MCDoAction( MovieController mc, short action, void* params ); 00440 00441 XQT_EXTERN_API( ComponentResult ) 00442 XQT_MCDraw( MovieController mc, WindowRef w ); 00443 00444 XQT_EXTERN_API( ComponentResult ) 00445 XQT_MCGetClip( MovieController mc, MacRegion*** theClip, MacRegion*** movieClip ); 00446 00447 XQT_EXTERN_API( ComponentResult ) 00448 XQT_MCIdle( MovieController mc ); 00449 00450 XQT_EXTERN_API( ComponentResult ) 00451 XQT_MCSetActionFilterWithRefCon( MovieController mc, MCActionFilterWithRefConUPP blob, long refCon ); 00452 00453 XQT_EXTERN_API( ComponentResult ) 00454 XQT_MCSetClip( MovieController mc, MacRegion** theClip, MacRegion** movieClip ); 00455 00456 XQT_EXTERN_API( ComponentResult ) 00457 XQT_MCSetControllerAttached( MovieController mc, Boolean attach ); 00458 00459 XQT_EXTERN_API( ComponentResult ) 00460 XQT_MCSetControllerBoundsRect( MovieController mc, const Rect* bounds ); 00461 00462 XQT_EXTERN_API( ComponentResult ) 00463 XQT_MCSetControllerPort( MovieController mc, CGrafPtr gp ); 00464 00465 XQT_EXTERN_API( CGrafPtr ) 00466 XQT_MCGetControllerPort(MovieController mc); 00467 00468 XQT_EXTERN_API( ComponentResult ) 00469 XQT_MCSetMovie( MovieController mc, Movie theMovie, WindowRef movieWindow, Point where ); 00470 00471 XQT_EXTERN_API( ComponentResult ) 00472 XQT_MCSetVisible( MovieController mc, Boolean visible ); 00473 00474 XQT_EXTERN_API( void ) 00475 XQT_MoviesTask( Movie theMovie, long maxMilliSecToUse ); 00476 00477 XQT_EXTERN_API(OSErr) 00478 XQT_NativePathNameToFSSpec( char* inName, FSSpec* outFile, long flags ); 00479 00480 XQT_EXTERN_API( OSErr ) 00481 XQT_FSSpecToNativePathName( const FSSpec *inFile, char *outName, unsigned long outLen, long flags); 00482 00483 XQT_EXTERN_API( OSErr ) 00484 XQT_NewMovieFromFile( Movie* theMovie, short resRefNum, short* resId, StringPtr resName, short newMovieFlags, Boolean* dataRefWasChanged ); 00485 00486 XQT_EXTERN_API( ComponentInstance ) 00487 XQT_OpenDefaultComponent( OSType type, OSType subType ); 00488 00489 // should change the following to require an external translation from pathspec to QT spec - jkc 00490 XQT_EXTERN_API( OSErr ) 00491 XQT_OpenMovieFile( const FSSpec* fileSpec, short* resRefNum, SInt8 permission ); 00492 00493 XQT_EXTERN_API( OSErr ) 00494 XQT_PutMovieIntoTypedHandle(Movie theMovie, Track targetTrack, OSType handleType, Handle publicMovie, 00495 TimeValue start, TimeValue dur, long flags, ComponentInstance userComp); 00496 00497 XQT_EXTERN_API( void ) 00498 XQT_SetMovieActive( Movie theMovie, Boolean active ); 00499 00500 XQT_EXTERN_API( void ) 00501 XQT_SetMovieBox( Movie theMovie, const Rect* boxRect ); 00502 00503 XQT_EXTERN_API( void ) 00504 XQT_SetMovieDisplayClipRgn( Movie theMovie, MacRegion** theClip ); 00505 00506 XQT_EXTERN_API( void ) 00507 XQT_SetMovieGWorld( Movie theMovie, CGrafPtr port, GDHandle gdh ); 00508 00509 XQT_EXTERN_API( void ) 00510 XQT_SetMovieMatrix( Movie theMovie, const MatrixRecord* matrix ); 00511 00512 XQT_EXTERN_API( void ) 00513 XQT_SetMoviePlayHints( Movie theMovie, long flags, long flagsMask ); 00514 00515 XQT_EXTERN_API( void ) 00516 XQT_SetMovieRate( Movie theMovie, Fixed rate ); 00517 00518 XQT_EXTERN_API( void ) 00519 XQT_SetMovieTimeValue( Movie theMovie, TimeValue newtime ); 00520 00521 XQT_EXTERN_API( void ) 00522 XQT_SetMovieVolume( Movie theMovie, short volume ); 00523 00524 XQT_EXTERN_API( void ) 00525 XQT_SetTimeBaseFlags( TimeBase tb, long timeBaseFlags ); 00526 00527 XQT_EXTERN_API( void ) 00528 XQT_SetTimeBaseStartTime( TimeBase tb, const TimeRecord* tr ); 00529 00530 XQT_EXTERN_API( void ) 00531 XQT_SetTimeBaseStopTime( TimeBase tb, const TimeRecord* tr ); 00532 00533 XQT_EXTERN_API( OSErr ) 00534 XQT_SetupAIFFHeader( short fRefNum, short numChannels, UnsignedFixed sampleRate, short sampleSize, 00535 OSType compressionType, unsigned long numBytes, unsigned long numFrames); 00536 00537 XQT_EXTERN_API( void ) 00538 XQT_StartMovie( Movie theMovie ); 00539 00540 XQT_EXTERN_API( OSErr ) 00541 XQT_UpdateMovie( Movie theMovie ); 00542 00543 // QT Windows utility functions 00544 00545 XQT_EXTERN_API( RgnHandle ) 00546 XQT_NativeRegionToMacRegion( void *nativeRegion ); 00547 00548 XQT_EXTERN_API( void * ) 00549 XQT_MacRegionToNativeRegion( RgnHandle macRegion ); 00550 00551 XQT_EXTERN_API( void ) 00552 XQT_GetMovieNaturalBoundsRect( 00553 Movie theMovie, 00554 Rect * naturalBounds); 00555 00556 XQT_EXTERN_API( void ) 00557 XQT_SetMovieDrawingCompleteProc( 00558 Movie theMovie, 00559 long flags, 00560 MovieDrawingCompleteUPP proc, 00561 long refCon); 00562 00563 XQT_EXTERN_API( Fixed ) 00564 XQT_FixRatio(short numer, short denom); 00565 00566 #ifdef __cplusplus 00567 } 00568 #endif 00569 00570 #endif // #ifdef USE_ALTURA 00571 00572 #define XQT_NewDataReferenceFromMaxPath(path,name,ref,reftype,err) \ 00573 { \ 00574 CFStringRef cfs; \ 00575 char tmpname[MAX_PATH_CHARS]; \ 00576 char pathname[MAX_PATH_CHARS]; \ 00577 (*(err)) = -1; \ 00578 (*(ref)) = NULL; \ 00579 if (!path_topotentialname(path,name,tmpname,FALSE)) { \ 00580 if (!path_nameconform(tmpname,pathname,PATH_STYLE_NATIVE,PATH_TYPE_PATH)) { \ 00581 cfs = CFStringCreateWithCString(kCFAllocatorDefault,pathname,kCFStringEncodingUTF8);\ 00582 if (cfs) { \ 00583 (*(err)) = QTNewDataReferenceFromFullPathCFString(cfs,XQT_PathStyle,0,ref,reftype); \ 00584 if (*(err)) (*(ref))=NULL; \ 00585 CFRelease(cfs); \ 00586 } \ 00587 } \ 00588 } \ 00589 } 00590 00591 #define XQT_MaxPathFromDataReference(ref,reftype,path,name,err) \ 00592 { \ 00593 CFStringRef cfs; \ 00594 char tmpname[MAX_PATH_CHARS]; \ 00595 (*(err)) = -1; \ 00596 (*(path)) = 0; \ 00597 if (!((*(err)) = QTGetDataReferenceFullPathCFString(ref,reftype,XQT_PathStyle,&cfs))) { \ 00598 if (CFStringGetCString(cfs,tmpname,MAX_PATH_CHARS,kCFStringEncodingUTF8)) \ 00599 (*(err)) = path_frompathname(tmpname,path,name); \ 00600 else (*(err)) = -1; \ 00601 CFRelease(cfs); \ 00602 } \ 00603 } 00604 00605 #endif // #ifndef __XQT_STUBS_H__ 00606
Copyright © 2008, Cycling '74