bmdDeckControlAbortedEvent='abte',// This event is triggered when a capture or edit-to-tape operation is aborted.
/* Export-To-Tape events */
bmdDeckControlPrepareForExportEvent='pfee',// This event is triggered a few frames before reaching the in-point. IDeckLinkInput::StartScheduledPlayback() should be called at this point.
bmdDeckControlExportCompleteEvent='exce',// 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',// This event is triggered a few frames before reaching the in-point. The serial timecode attached to IDeckLinkVideoInputFrames is now valid.
bmdDeckControlCaptureCompleteEvent='ccev'// This event is triggered a few frames after reaching the out-point.
};
/* Enum BMDDeckControlVTRControlState - VTR Control state */
typedefuint32_tBMDDeckControlVTRControlState;
enum_BMDDeckControlVTRControlState{
bmdDeckControlNotInVTRControlMode='nvcm',
bmdDeckControlVTRControlPlaying='vtrp',
bmdDeckControlVTRControlRecording='vtrr',
bmdDeckControlVTRControlStill='vtra',
bmdDeckControlVTRControlShuttleForward='vtsf',
bmdDeckControlVTRControlShuttleReverse='vtsr',
bmdDeckControlVTRControlJogForward='vtjf',
bmdDeckControlVTRControlJogReverse='vtjr',
bmdDeckControlVTRControlStopped='vtro'
};
/* Enum BMDDeckControlStatusFlags - Deck Control status flags */
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 */CFStringRef*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