#include <Traps.h>

#define MCGetMovie(a) MCGetIndMovie(a, 0)
#define NewMoviePrePrerollCompleteProc(a)         NewMoviePrePrerollCompleteUPP(a)
#define NewMovieRgnCoverProc(A)                   NewMovieRgnCoverUPP(A)
 #define NewMCActionFilterWithRefConProc(a)        NewMCActionFilterWithRefConUPP(a)



enum {
kUserDataTextCopyright=1,
kUserDataTextInformation=2,
kUserDataTextPerformers=3,
kUserDataTextArtist=4,
kUserDataTextDescription=5,
kUserDataTextComposer=6,
kUserDataTextAuthor=7,
kUserDataTextWriter=8,
kUserDataTextComment=9
};


enum{
kMovieControlOptionSetKeysEnabled =1,
kMovieControlOptionLocateTopLeft =2,
kMovieControlOptionEnableEditing =3 ,
kMovieControlOptionHandleEditingHI =14
};

enum {
kMovieControlDataMovie =1
};

enum{
movieProgressOpen =1 ,
movieProgressUpdatePercent =2,
movieProgressClose =3
};

enum {
kQTPOSIXPathStyle =1
};

enum{
kQTMovieAudioExtractionComplete = 1,
};


enum {
kQTNativeDefaultPathStyle =1
};

enum {
kQTPropertyClass_SoundDescription =1,
kQTPropertyClass_MovieAudioExtraction_Audio =2,
kQTPropertyClass_MovieAudioExtraction_Movie =3
};

enum {
kQTSoundDescriptionKind_Movie_AnyVersion =1,
kQTSoundDescriptionKind_Movie_LowestPossibleVersion =2
};

enum {
mcActionLinkToURL =1,
mcActionPrerollAndPlay =2,
mcActionSetKeysEnabled=3,
mcActionGetFlags =14,
mcActionSetFlags =5,
mcActionSetDragEnabled=6,
mcActionPlay=7,
mcActionSetSelectionBegin=8,
mcActionControllerSizeChanged =9,
mcActionSetSelectionDuration=10,
mcActionGetPlayRate=11,
mcActionIdle =12 ,
mcActionDraw =13,
mcActionCustomButtonClick=15,
mcActionMouseDown=16,
mcActionExecuteAllActionsForQTEvent=17,
mcActionSetLooping=18,
mcActionSetLoopIsPalindrome=19,
mcActionSetUseBadge=20,
mcActionSetGrowBoxBounds=21,
mcActionSetPlayEveryFrame=22,
mcActionShowStatusString=23
};

enum {
  kBackgroundSpriteLayerNum     = 32767
};



enum {
kParentAtomIsContainer =1
};

enum {
kQTMetaDataItemUninitialized =1
};

enum {
kPropertyClass_MetaDataItem =1
};

enum {
kUserDataMovieControllerType =1
};

enum {
kStatusStringIsStreamingStatus=1
};


enum {
nextTimeSyncSample =1,
nextTimeEdgeOK =2,
nextTimeMediaSample=3,
nextTimeTrackEdit =14
};

enum {
kUserDataTextFullName =1
};

enum {
kMCIsPlayerEventSelect=1
};




typedef int MovieAudioExtractionRef ;
typedef int QTPropertyClass;
typedef int QTPropertyID;
typedef int ConstQTPropertyValuePtr;
typedef int QTPropertyValuePtr;
typedef int QTPropertyValueType;
typedef int SampleDescription ;
typedef int QTPathStyle;
typedef int QTSoundDescriptionKind;
typedef int UserData;
typedef int QTMetaDataRef;
typedef int QTMetaDataItem;
typedef int QTMetaDataStorageFormat ;
typedef int QTMetaDataKeyFormat ;
typedef int QTMutableSampleTableRef;
typedef int QTSampleTableRef;
typedef int QTSampleDescriptionID;
typedef  int MovieProgressProcPtr;

struct TextDescription{
int displayFlags;
int defaultTextBox;
int defaultFontName;
int size;
int defaultStyle;
};
typedef struct TextDescription TextDescription;

struct SoundDescription{
int sampleRate;
int dataFormat;
int numChannels;
int compressionID;
int sampleSize;
int descSize;
int resvd1;
int resvd2;
int dataRefIndex;
int packetSize;
int version;
int revlevel;
int vendor;
};
typedef struct SoundDescription SoundDescription;

struct SoundDescriptionV1 {
int desc;
int samplesPerPacket;
int bytesPerPacket;
int bytesPerFrame;
int bytesPerSample;
};
typedef struct SoundDescriptionV1       SoundDescriptionV1;
typedef SoundDescriptionV1 *            SoundDescriptionV1Ptr;
typedef SoundDescriptionV1Ptr *         SoundDescriptionV1Handle;

struct ResolvedQTEventSpec{
};
typedef struct ResolvedQTEventSpec ResolvedQTEventSpec;
typedef  ResolvedQTEventSpec * ResolvedQTEventSpecPtr;

struct QTStatusStringRecord{
int stringTypeFlags;
int statusString;
};
typedef struct QTStatusStringRecord QTStatusStringRecord;
typedef QTStatusStringRecord *          QTStatusStringPtr;

struct ModifierTrackGraphicsModeRecord {
 
};
typedef struct ModifierTrackGraphicsModeRecord ModifierTrackGraphicsModeRecord;

int GetMovieTrackCount(int a);
int GetMovieIndTrack(int a, int b);
int GetMediaHandlerDescription(int a, int b, int c, int d);
int SetMovieTimeScale(int a,int b);
