00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00163 #ifndef __MK_MTCPerformer_H___
00164 #define __MK_MTCPerformer_H___
00165 #import "MKPerformer.h"
00166
00176 #define MK_MTC_FORMAT_24 0
00177
00178 #define MK_MTC_FORMAT_25 1
00179
00180 #define MK_MTC_FORMAT_DROP_30 2
00181
00182 #define MK_MTC_FORMAT_30 3
00183
00185 #define MK_MTC_REVERSE (-1)
00186
00187 #define MK_MTC_FORWARD 1
00188
00189
00190
00191 extern double MKConvertMTCToSeconds(short format,
00192 short hours,
00193 short minutes,
00194 short seconds,
00195 short frames);
00196
00197 extern void MKConvertSecondsToMTC(double seconds,
00198 short format,
00199 short *hoursPtr,
00200 short *minutesPtr,
00201 short *secondsPtr,
00202 short *framesPtr);
00203
00204 @interface MKMTCPerformer: MKPerformer
00205 {
00206 double firstTimeTag;
00207 double lastTimeTag;
00208 int direction;
00209 short format;
00210 id noteSender;
00211 id aNote;
00212 BOOL frozen;
00213
00214 @private
00215 int _cmpStat;
00216
00217 short _lastHours;
00218 short _lastMinutes;
00219 short _lastSeconds;
00220 short _lastFrames;
00221 short _frameQuarter;
00222
00223
00224
00225
00226
00227 short _hours;
00228 short _minutes;
00229 short _seconds;
00230 short _frames;
00231 }
00232
00233
00242 - init;
00243
00261 - setFirstTimeTag: (double) firstTimeTag;
00262
00273 - setLastTimeTag: (double) lastTimeTag;
00274
00286 - setFirstTimeTagMTCHours: (short) h minutes: (short) m seconds: (short) s frames: (short) f;
00287
00299 - setLastTimeTagMTCHours: (short) h minutes: (short) m seconds: (short) s frames: (short) f;
00300
00312 - setTimeShiftMTCHours: (short) h minutes: (short) m seconds: (short) s frames: (short) f;
00313
00319 - (double) firstTimeTag;
00320
00326 - (double) lastTimeTag;
00327
00338 -setFormat:(int)fmt;
00339
00346 -(double)timeTag;
00347
00359 -getMTCHours:(short *)h minutes:(short *)m seconds:(short *)s frames:(short *)f;
00360
00370 -setDirection:(int)newDirection;
00371
00381 -sendUserBits:(unsigned int)userBits groupFlagBits:(unsigned char)groupFlagBits;
00382
00391 -freezeTimeCode;
00392
00399 -thawTimeCode;
00400
00408 -sendFullMTCMessage;
00409
00414 -activateSelf;
00415
00423 - (void)deactivate;
00424
00433 -pause;
00434
00442 -resume;
00443
00444 -perform;
00445
00446 @end
00447
00448 #endif