home *** CD-ROM | disk | FTP | other *** search
-
-
- #ifndef CLASSDATA_H
- #define CLASSDATA_H 1
-
- /*
- **
- ** $VER: classdata.h 1.6 (26.8.97)
- ** film.datatype 1.6
- **
- ** film class data
- **
- ** Written 1996/1997 by Roland 'Gizzy' Mainz
- ** Original example source from David N. Junod
- **
- */
-
- /*****************************************************************************/
-
- /* public BOOPSI class name */
- #define FILMDTCLASS "film.datatype"
-
- /*****************************************************************************/
-
-
- /* Generic IFF Chunk ID's we may encounter */
- #ifndef ID_ANNO
- #define ID_ANNO MAKE_ID('A','N','N','O')
- #endif /* !ID_ANNO */
-
- #ifndef ID_AUTH
- #define ID_AUTH MAKE_ID('A','U','T','H')
- #endif /* !ID_AUTH */
-
- #ifndef ID_Copyright
- #define ID_Copyright MAKE_ID('(','c',')',' ')
- #endif /* !ID_Copyright */
-
- #ifndef ID_FVER
- #define ID_FVER MAKE_ID('F','V','E','R')
- #endif /* !ID_FVER */
-
- #ifndef ID_NAME
- #define ID_NAME MAKE_ID('N','A','M','E')
- #endif /* !ID_NAME */
-
- /* IFF FILM identifers */
- #ifndef ID_FILM
- #define ID_FILM MAKE_ID( 'F', 'I', 'L', 'M' )
- #endif /* !ID_FILM */
-
- #ifndef ID_CELL
- #define ID_CELL MAKE_ID( 'C', 'E', 'L', 'L' )
- #endif /* !ID_CELL */
-
- /* ILBM identifers */
- #ifndef ID_ILBM
- #define ID_ILBM MAKE_ID( 'I', 'L', 'B', 'M' )
- #endif /* !ID_ILBM */
-
- #ifndef ID_BMHD
- #define ID_BMHD MAKE_ID( 'B', 'M', 'H', 'D' )
- #endif /* !ID_BMHD */
-
- #ifndef ID_CMAP
- #define ID_CMAP MAKE_ID( 'C', 'M', 'A', 'P' )
- #endif /* !ID_CMAP */
-
- #ifndef ID_CAMG
- #define ID_CAMG MAKE_ID( 'C', 'A', 'M', 'G' )
- #endif /* !ID_CMAP */
-
- /* 8SVX identifers */
- #ifndef ID_8SVX
- #define ID_8SVX MAKE_ID( '8', 'S', 'V', 'X' )
- #endif /* !ID_8SVX */
-
- #ifndef ID_VHDR
- #define ID_VHDR MAKE_ID( 'V', 'H', 'D', 'R' )
- #endif /* !ID_VHDR */
-
- #ifndef ID_CHAN
- #define CHAN_RIGHT (4L)
- #define CHAN_LEFT (2L)
- #define CHAN_STEREO (6L) /* CHAN_RIGHT + CHAN_LEFT */
-
- #define ID_CHAN MAKE_ID( 'C', 'H', 'A', 'N' )
- #endif /* !ID_CHAN */
-
- /* misc */
- #ifndef ID_BODY
- #define ID_BODY MAKE_ID( 'B', 'O', 'D', 'Y' )
- #endif /* !ID_BODY */
-
- /*****************************************************************************/
-
- /* film.datatype class instance data */
- struct FilmInstData
- {
- /* Misc */
- struct SignalSemaphore fid_SigSem; /* Instance data lock */
- UWORD fid_Pad0;
- APTR fid_Pool; /* Memory pool (for frame(-nodes) etc.) */
- struct BitMapHeader *fid_BMH; /* Shortcut to PDTA_BitMapHeader */
- struct BitMap *fid_KeyBitMap; /* Key BitMap */
- struct MinList fid_FrameList; /* List of frames */
- STRPTR fid_ProjectName; /* Shortcut to DTA_Name */
- BPTR fid_VerboseOutput; /* Verbose output */
-
- /* Prefs */
- ULONG fid_ModeID;
- BOOL fid_LoadAll; /* Load all frames of the animation */
- ULONG fid_FPS; /* fps of stream (maybe modified by prefs) */
- UWORD fid_Volume; /* Sample volume */
- ULONG fid_Period; /* Sample period */
-
- /* Disk-loading section */
- BPTR fid_FH;
- LONG fid_CurrFilePos;
- };
-
-
- /* node which holds information about a single animation/movie frame */
- struct FrameNode
- {
- struct MinNode fn_Node;
-
- /* Misc */
- WORD fn_UseCount;
- UWORD fn_Pad0;
-
- /* Timing section */
- ULONG fn_TimeStamp;
- ULONG fn_Frame;
-
- /* Bitmap section */
- struct BitMap *fn_BitMap;
- struct ColorMap *fn_CMap;
-
- /* BitMap loading section */
- LONG fn_BMOffset; /* File offset (0 is begin of file) */
- ULONG fn_BMSize; /* Chunk size */
-
- /* Sample section */
- BYTE *fn_Sample;
- ULONG fn_SampleLength;
- };
-
-
- /*****************************************************************************/
-
-
- #endif /* !CLASSDATA_H */
-
-
-