bmdDeckControlAbortedEvent=/* 'abte' */0x61627465,// This event is triggered when a capture or edit-to-tape operation is aborted.
/* Export-To-Tape events */
bmdDeckControlPrepareForExportEvent=/* 'pfee' */0x70666565,// This event is triggered a few frames before reaching the in-point. IDeckLinkInput::StartScheduledPlayback() should be called at this point.
bmdDeckControlExportCompleteEvent=/* 'exce' */0x65786365,// This event is triggered a few frames after reaching the out-point. At this point, it is safe to stop playback.
/* Capture events */
bmdDeckControlPrepareForCaptureEvent=/* 'pfce' */0x70666365,// This event is triggered a few frames before reaching the in-point. The serial timecode attached to IDeckLinkVideoInputFrames is now valid.
bmdDeckControlCaptureCompleteEvent=/* 'ccev' */0x63636576// This event is triggered a few frames after reaching the out-point.
};
/* Enum BMDDeckControlVTRControlState - VTR Control state */
virtualHRESULTTimecodeUpdate(/* in */BMDTimecodeBCDcurrentTimecode)=0;
virtualHRESULTVTRControlStateChanged(/* in */BMDDeckControlVTRControlStatenewState,/* in */BMDDeckControlErrorerror)=0;
virtualHRESULTDeckControlEventReceived(/* in */BMDDeckControlEventevent,/* in */BMDDeckControlErrorerror)=0;
virtualHRESULTDeckControlStatusChanged(/* in */BMDDeckControlStatusFlagsflags,/* in */uint32_tmask)=0;
protected:
virtual~IDeckLinkDeckControlStatusCallback(){}// call Release method to drop reference count
};
/* Interface IDeckLinkDeckControl - Deck Control main interface */
classIDeckLinkDeckControl:publicIUnknown
{
public:
virtualHRESULTOpen(/* in */BMDTimeScaletimeScale,/* in */BMDTimeValuetimeValue,/* in */booltimecodeIsDropFrame,/* out */BMDDeckControlError*error)=0;
virtualHRESULTClose(/* in */boolstandbyOn)=0;
virtualHRESULTGetCurrentState(/* out */BMDDeckControlMode*mode,/* out */BMDDeckControlVTRControlState*vtrControlState,/* out */BMDDeckControlStatusFlags*flags)=0;
virtualHRESULTSetStandby(/* in */boolstandbyOn)=0;
virtualHRESULTSendCommand(/* in */uint8_t*inBuffer,/* in */uint32_tinBufferSize,/* out */uint8_t*outBuffer,/* out */uint32_t*outDataSize,/* in */uint32_toutBufferSize,/* out */BMDDeckControlError*error)=0;
virtualHRESULTPlay(/* out */BMDDeckControlError*error)=0;
virtualHRESULTStop(/* out */BMDDeckControlError*error)=0;
virtualHRESULTTogglePlayStop(/* out */BMDDeckControlError*error)=0;
virtualHRESULTEject(/* out */BMDDeckControlError*error)=0;
virtualHRESULTGoToTimecode(/* in */BMDTimecodeBCDtimecode,/* out */BMDDeckControlError*error)=0;
virtualHRESULTFastForward(/* in */boolviewTape,/* out */BMDDeckControlError*error)=0;
virtualHRESULTRewind(/* in */boolviewTape,/* out */BMDDeckControlError*error)=0;
virtualHRESULTStepForward(/* out */BMDDeckControlError*error)=0;
virtualHRESULTStepBack(/* out */BMDDeckControlError*error)=0;
virtualHRESULTJog(/* in */doublerate,/* out */BMDDeckControlError*error)=0;
virtualHRESULTShuttle(/* in */doublerate,/* out */BMDDeckControlError*error)=0;
virtualHRESULTGetTimecodeString(/* out */constchar**currentTimeCode,/* out */BMDDeckControlError*error)=0;
virtualHRESULTGetTimecode(/* out */IDeckLinkTimecode**currentTimecode,/* out */BMDDeckControlError*error)=0;
virtualHRESULTGetTimecodeBCD(/* out */BMDTimecodeBCD*currentTimecode,/* out */BMDDeckControlError*error)=0;
virtualHRESULTSetPreroll(/* in */uint32_tprerollSeconds)=0;
virtualHRESULTGetPreroll(/* out */uint32_t*prerollSeconds)=0;
virtualHRESULTSetExportOffset(/* in */int32_texportOffsetFields)=0;
virtualHRESULTGetExportOffset(/* out */int32_t*exportOffsetFields)=0;
virtualHRESULTGetManualExportOffset(/* out */int32_t*deckManualExportOffsetFields)=0;
virtualHRESULTSetCaptureOffset(/* in */int32_tcaptureOffsetFields)=0;
virtualHRESULTGetCaptureOffset(/* out */int32_t*captureOffsetFields)=0;
virtualHRESULTStartExport(/* in */BMDTimecodeBCDinTimecode,/* in */BMDTimecodeBCDoutTimecode,/* in */BMDDeckControlExportModeOpsFlagsexportModeOps,/* out */BMDDeckControlError*error)=0;
virtualHRESULTStartCapture(/* in */booluseVITC,/* in */BMDTimecodeBCDinTimecode,/* in */BMDTimecodeBCDoutTimecode,/* out */BMDDeckControlError*error)=0;
virtualHRESULTGetDeviceID(/* out */uint16_t*deviceId,/* out */BMDDeckControlError*error)=0;
virtualHRESULTAbort(void)=0;
virtualHRESULTCrashRecordStart(/* out */BMDDeckControlError*error)=0;
virtualHRESULTCrashRecordStop(/* out */BMDDeckControlError*error)=0;
virtualHRESULTSetCallback(/* in */IDeckLinkDeckControlStatusCallback*callback)=0;
protected:
virtual~IDeckLinkDeckControl(){}// call Release method to drop reference count