sources/MovieSourcing.h

/*
    File:       MovieSourcing.h
 
    Copyright:  © 2000-2001 by Apple Computer, Inc., all rights reserved.
 
 
*/
 
#ifndef __MOVIESOURCING__
#define __MOVIESOURCING__
 
#include <QuickTimeStreaming.h>
 
#include "SourcingSupport.h"
 
// ---------------------------------------------------------------------------
//      D E F I N I T I O N S
// ---------------------------------------------------------------------------
 
#define kSignature_MovieSourcing            FOUR_CHAR_CODE('smov')
 
#define kMovieSourcingMaxTrackSourcers          5
 
struct MovieSourcingSourcerInfo {
    QTSStream           stream;
    ComponentInstance   sourcer;
    OSType              trackType;
    Track               track;
    Boolean             done;
 
};
typedef struct MovieSourcingSourcerInfo MovieSourcingSourcerInfo;
 
#define kMovieSourcingUseOneFixedFile       0xFFFFFFFF
 
 
struct MovieSourcing {
    StandardSourceHandler       standard;
 
    QTSPresentation             presentation;
    short                       folderVRefNum;
    long                        folderDirID;
    Boolean                     loop;
    Boolean                     selectRandomly;
    
    UInt32                      currentFileIndex;
    UInt32                      numFilesInFolder;
    
    FSSpec                      currentMovieSpec;
    Movie                       currentMovie;
    short                       movieFileRefNum;
    
    long                        numTrackSourcers;
    MovieSourcingSourcerInfo    sourcerInfo[kMovieSourcingMaxTrackSourcers];
};
typedef struct MovieSourcing MovieSourcing;
 
struct MovieSourcingSettings {
    Boolean     loop;
    Boolean     selectRandomly;
    Boolean     haveFolderSpec;
    Boolean     haveFileSpec;
    FSSpec      spec;
};
typedef struct MovieSourcingSettings MovieSourcingSettings;
 
 
// ---------------------------------------------------------------------------
//      P R O T O T Y P E S
// ---------------------------------------------------------------------------
 
OSErr MovieSourcing_New(QTSPresentation inPresentation, SourceMediaParams *inSourceMediaParams,
                MovieSourcingSettings *inSettingsStuff, MovieSourcing **outMovieSourcing);
void MovieSourcing_Dispose(MovieSourcing *inMovieSourcing);
 
 
void MovieSourcing_Idle(MovieSourcing *inMovieSourcing, Boolean inPlaying);
void MovieSourcing_SetEnable(MovieSourcing *inMovieSourcing, Boolean inEnable);
 
void MovieSourcing_HasCharacteristic(MovieSourcing *inHandler, OSType inCharacteristic, Boolean *outHasIt);
 
void MovieSourcing_HandleNotification(MovieSourcing *inHandler, OSType inNotification, void *inParams);
 
OSErr MovieSourcing_GetInfo(MovieSourcing *inHandler, OSType inSelector, void *ioParams);
OSErr MovieSourcing_SetInfo(MovieSourcing *inHandler, OSType inSelector, void *ioParams);
 
OSErr MovieSourcing_DoCommand(MovieSourcing *inHandler, OSType inCommand, void *ioCommandParams);
 
#endif /* __MOVIESOURCING__ */