home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.microsoft.com
/
2002-07-02_ftp.microsoft.com.zip
/
developr
/
drg
/
Multimedia
/
MMP.H
< prev
Wrap
C/C++ Source or Header
|
1992-03-04
|
8KB
|
179 lines
/****************************************************************************/
/* */
/* MMP.H - Include file for Multimedia Movie Player */
/* */
/* Note: You must include WINDOWS.H before including this file. */
/* */
/* Copyright (c) 1990-1991, Microsoft Corp. All rights reserved. */
/* Copyright (c) 1990-1991, MacroMind Inc. All rights reserved. */
/* */
/****************************************************************************/
/****************************************************************************
MMP error return values
****************************************************************************/
#define MMPERR_NO_ERROR 0 // no error
#define MMPERR_FATAL_ERROR (-101) // fatal error
#define MMPERR_STAGE_ERROR (-102) // error creating stage window
#define MMPERR_FILE_VER (-110) // wrong file version
#define MMPERR_FILE_TYPE (-111) // not an MMP movie file
#define MMPERR_OPEN_ERROR (-112) // DOS error opening file
#define MMPERR_READ_ERROR (-113) // DOS read error on file
#define MMPERR_EOF_ERROR (-115) // unexpected end of file
#define MMPERR_REC_HEADER (-116) // invalid record header
#define MMPERR_CAST_ERROR (-117) // error reading cast
#define MMPERR_CAST_MAP_ERROR (-118) // cast/bitmap mismatch
#define MMPERR_MEM_ALLOC (-121) // memory allocation error
#define MMPERR_USER_ABORT (-122) // user canceled operation
#define MMPERR_MMP_BUSY (-412) // re-entered from frame callback or
// other task with different ID
#define MMPERR_BAD_PARM (-426) // bad parameters
#define MMP_MOVEOK 1 // boolean field definition
#define SCRIPTCHANNEL (-1) // script channel action code
#define MMP_MAXERRORLENGTH 128 // maximum length of error strings
/****************************************************************************
MMP constants
****************************************************************************/
// flags for wOptions parameter of mmpGoToFrame() function
#define MMP_FRAME_FIRST 1
#define MMP_FRAME_LAST 0x7FFF
// messages passed to wMsg parameter of frame callback
#define MMP_HOOK_FRAME 0x0003
#define MMP_HOOK_SCRIPT 0x0004
#define MMP_HOOK_LOAD 0x0005
// flags for nTempo parameter of mmpSetTempo() function
#define MMPTEMPO_SOUNDWAIT1 (-121)
#define MMPTEMPO_MOUSEWAIT (-128)
// animation status returned from mmpAnimate() and mmpAnimStatus() functions
#define MMP_TEMPO_WAIT 1 // waiting to advance frame
#define MMP_ANIM_DRAW 2 // drawing in progress
#define MMP_ANIM_DRAWN 3 // frame drawn, frame callback not called
#define MMP_SCRIPT_PROCESSED 4 // frame callback just executed
#define MMP_FRAME_DONE 5 // all processing for current frame done
#define MMP_MOUSE_WAIT (-1) // waiting for mouse click
#define MMP_DEVICE_WAIT (-2) // waiting for device to finish
#define MMP_ANIM_STOPPED (-3) // animation is stopped
// flags for nIndex parameter of mmpGetInfo() function
#define MMPINFO_LABELLIST (-6) // label-list array
#define MMPINFO_LABELTEXT (-7) // label-text block
#define MMPINFO_LABELCOUNT (-8) // count of label entries
#define MMPINFO_ACTIONLIST (-9) // action-list array
#define MMPINFO_ACTIONTEXT (-10) // action-text block
#define MMPINFO_ACTIONCOUNT (-11) // count of action entries
// flags for wOptions parameter of mmpSetStage() and mmpGetStage() functions
#define MMP_STAGE_CENTER 0x1 // centered in stage window
#define MMP_STAGE_OFFSET 0x2 // offset to a fixed location
#define MMP_STAGE_BORDER 0x4 // border is drawn around stage rect
#define MMP_STAGE_FIXED 0x8 // stage size isconstant between movies
// flags for wOptions parameter of mmpLoadFile() function
#define MMP_LOAD_REFERENCED 0x1 // load if referenced from score
#define MMP_LOAD_NOSTATIC 0x2 // use system reserved colors
#define MMP_LOAD_ONDEMAND 0x8 // load DIBs as they are used
#define MMP_LOAD_EXPANDDIBS 0x10 // convert DIBs to RLE format at load time
#define MMP_DRAW_FRAME 0xC000 // draw frame
#define MMP_ERASE_FRAME 0x2000 // erase entire stage
/****************************************************************************
MMP data types
****************************************************************************/
// movie ID
typedef DWORD MMPID;
// frame callback function
typedef BOOL (FAR PASCAL *LPMMPFRAMEHOOK)(MMPID idMovie, WORD wMsg,
WORD wParam, LONG lParam);
// movie information structure
typedef struct {
DWORD dwFileVersion;
DWORD dwTotalFrames;
DWORD dwInitialFramesPerSecond;
WORD wPixelDepth;
DWORD dwMovieExtentX;
DWORD dwMovieExtentY;
char achFullMacName[32];
} MMPINFO, FAR *LPMMPINFO;
typedef MMPINFO MMPMOVIEINFO;
typedef LPMMPINFO LPMMPMOVIEINFO;
// label-list information structure
typedef struct {
WORD wFrameNum;
WORD wTextOffset;
} MMPLABEL;
// action-list information structure
typedef struct {
BYTE bMenuItem;
BYTE bActionCode;
WORD wTextOffset;
} MMPACTION;
/****************************************************************************
MMP function prototypes
****************************************************************************/
extern MMPID FAR PASCAL mmpOpen(HWND hWndStage, WORD wOptions);
extern BOOL FAR PASCAL mmpClose(MMPID idMovie, WORD wOptions);
extern BOOL FAR PASCAL mmpStartAnimating(MMPID idMovie, WORD wOptions);
extern int FAR PASCAL mmpAnimate(MMPID idMovie);
extern int FAR PASCAL mmpAnimStatus(MMPID idMovie);
extern BOOL FAR PASCAL mmpStopAnimating(MMPID idMovie, WORD wOptions);
extern BOOL FAR PASCAL mmpGoToFrame(MMPID idMovie, short sNewFrame,
WORD wOptions);
extern BOOL FAR PASCAL mmpUpdate(MMPID idMovie, HDC hDC, LPRECT lprectArea);
extern BOOL FAR PASCAL mmpSetFrameHook(MMPID idMovie,
LPMMPFRAMEHOOK lpFrameHook);
extern LPMMPFRAMEHOOK FAR PASCAL mmpGetFrameHook(MMPID idMovie);
extern BOOL FAR PASCAL mmpGetFileInfo(LPSTR lpszFileName,
LPMMPMOVIEINFO lpInfo);
extern BOOL FAR PASCAL mmpGetMovieInfo(MMPID idMovie, LPMMPMOVIEINFO lpInfo);
extern BOOL FAR PASCAL mmpLoadFile(MMPID idMovie, LPSTR lpszFileName,
WORD wOptions);
extern BOOL FAR PASCAL mmpFreeFile(MMPID idMovie, WORD wOptions);
extern BOOL FAR PASCAL mmpFileLoaded(MMPID idMovie);
extern short FAR PASCAL mmpError(MMPID idMovie, LPSTR szErrorString,
WORD wLen);
extern BOOL FAR PASCAL mmpAnimStopped(MMPID idMovie);
extern short FAR PASCAL mmpGetCurFrame(MMPID idMovie);
extern BOOL FAR PASCAL mmpGetMute(MMPID idMovie);
extern BOOL FAR PASCAL mmpSetMute(MMPID idMovie, BOOL bMuteOn);
extern BOOL FAR PASCAL mmpSetStage(MMPID idMovie, HWND hWndStage,
LPRECT lprectStage, WORD wOptions);
extern BOOL FAR PASCAL mmpGetStage(MMPID idMovie, HWND FAR *lphWndStage,
LPRECT lprectStage, LPWORD lpwOptions);
extern BOOL FAR PASCAL mmpSetRepeat(MMPID idMovie, BOOL bbRepeat);
extern BOOL FAR PASCAL mmpGetRepeat(MMPID idMovie);
extern BOOL FAR PASCAL mmpSetDC(MMPID idMovie, HDC hDC);
extern HPALETTE FAR PASCAL mmpGetPaletteHandle(MMPID idMovie);
extern BOOL FAR PASCAL mmpSetTempo(MMPID idMovie, short sTempo);
extern short FAR PASCAL mmpGetTempo(MMPID idMovie);
extern BOOL FAR PASCAL mmpGetInfo(MMPID idMovie, int nIndex, LPVOID lpData,
WORD wLen);
extern BOOL FAR PASCAL mmpSetInfo(MMPID idMovie, int nIndex, LPVOID lpData,
WORD wLen);