home *** CD-ROM | disk | FTP | other *** search
- #pragma once
-
- class recorder: public general
- {
- //
- // Some QuickTime 2.0 compression methods:
- // 'rle ' run-length encoding = Apple animation
- // 'smc ' Sean's secret recipe = Apple graphics, good for 8-bit images
- // 'jpeg' JPEG
- // 'rpza' Apple video
- // 'raw ' no compression, unsupported by recorder 'StartSequence' and 'EndSequence'?
- // 'cvid' CinePak, formerly called compact video
- // 'kpcd' Kodak photo CD? (decompressor only?)
- // 'yuv2' Y-U-V 4:2:2 encoding
- //
- // Some third-party compression methods:
- //
- // 'WRAW' Windows raw
- // 'WRLE' Windows run-length encoding
- // 'msvc' Micosoft Video compression
- // 'font' Courier
- //
- public:
- recorder( char *filename,
- gworld *theWorld, // defines size of movie
- long framerate = 20,
- long compressiontype = 'smc ',
- int keyframedistance = 0, // 0 implies no frame differencing
- long compressionquality = 0x100, // 0x100 thru 0x300 allowed
- long temporalquality = 0x100
- );
-
- ~recorder();
-
- void StartSequence();
- void EndSequence();
- void AddFrame( TimeValue duration = (TimeValue) 1);
-
- private:
- FSSpec myFSSpec;
- Movie myMovie;
- Track myTrack;
- Media myMedia;
- TimeValue sampTime;
- ImageSequence mySequence;
-
- int sequence_running;
-
- long maxCompressedFrameSize;
-
- ImageDescriptionHandle myImageDescriptionHandle;
- Handle myFrameBitsHandle;
-
- short myResFileNo;
-
- gworld *myworld;
- PixMapPtr thepix;
-
- long myframerate;
- long mycompressiontype;
- long mycompressionquality;
- long mytemporalquality;
- int mykeyframedistance;
-
- Rect movieFrame;
- int movieDepth;
- };
-