Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
MakeEffectMovie.h
////////// |
// |
// File: MakeEffectMovie.h |
// |
// Contains: QuickTime video effect support for QuickTime movies. |
// This file is used for BOTH MacOS and Windows. |
// |
// Written by: Tim Monroe |
// Based (heavily!) on the previous MakeEffectMovie code written by Sam Bushell. |
// |
// Copyright: © 1997-1998 by Apple Computer, Inc., all rights reserved. |
// |
// Change History (most recent first): |
// |
// <1> 11/06/97 rtm first file; integrated existing code with shell framework |
// |
////////// |
////////// |
// |
// header files |
// |
////////// |
#include <ImageCodec.h> |
#if TARGET_OS_MAC |
#include "MacFramework.h" |
#endif |
#if TARGET_OS_WIN32 |
#include "WinFramework.h" |
#endif |
////////// |
// |
// compiler flags and macros |
// |
////////// |
#define USES_MAKE_IMAGE_DESC_FOR_EFFECT 1 // use MakeImageDescriptionForEffect (QT 4.0 and later) |
#define BailNil(n) if (!n) { if (!myErr) myErr = -1; goto bail; } |
#define BailError(n) if (n) { if (!myErr) myErr = -1; goto bail; } |
////////// |
// |
// constants |
// |
////////// |
#define kMaxNumSources 2 // the maximum number of input tracks we will collect |
#define kNoSourceName FOUR_CHAR_CODE('none') |
#define kSourceOneName FOUR_CHAR_CODE('srcA') |
#define kSourceTwoName FOUR_CHAR_CODE('srcB') |
#define kDefaultFramesPerSecond 15 // the default playback rate of the video effects track |
#define kEffectsSaveMoviePrompt "Save Effect Movie File As:" |
#define kEffectsSaveMovieFileName "untitled.mov" |
////////// |
// |
// function prototypes |
// |
////////// |
OSErr QTEffects_GetFirstVideoTrackInMovie (Movie theMovie, Track *theTrack); |
OSErr QTEffects_DisplayDialogForSources (FSSpec *theSpecList, UInt16 theSpecCount); |
void QTEffects_RespondToDialogSelection (OSErr theErr); |
#if TARGET_OS_WIN32 |
static void QTEffects_EffectsDialogCallback (EventRecord *theEvent, DialogRef theDialog, DialogItemIndex theItemHit); |
LRESULT CALLBACK QTEffects_CustomDialogWndProc (HWND theWnd, UINT theMessage, UINT wParam, LONG lParam); |
#endif |
Boolean QTEffects_HandleEffectsDialogEvents (EventRecord *theEvent, DialogItemIndex theItemHit); |
void QTEffects_PromptUserForFilesAndMakeEffect (void); |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-02-25