📄 edevdefs.h
字号:
//------------------------------------------------------------------------------
// File: EDevDefs.h
//
// Desc: External Device (such as a VCR) control interface parameter and
// value definitions.
//
// Note: new constants added: ED_BASE+800L -> ED_BASE+811L
//
// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#ifndef __EDEVDEFS__
#define __EDEVDEFS__
#define ED_BASE 0x1000L
// this is used to tell the device communications object which
// physical communications port to use.
#define DEV_PORT_SIM 1
#define DEV_PORT_COM1 2 // standard serial ports
#define DEV_PORT_COM2 3
#define DEV_PORT_COM3 4
#define DEV_PORT_COM4 5
#define DEV_PORT_DIAQ 6 // Diaquest driver
#define DEV_PORT_ARTI 7 // ARTI driver
#define DEV_PORT_1394 8 // IEEE 1394 Bus
#define DEV_PORT_USB 9 // Universal Serial Bus
#define DEV_PORT_MIN DEV_PORT_SIM
#define DEV_PORT_MAX DEV_PORT_USB
// IAMExtDevice Capability Items: unless otherwise specified, these items return
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
#define ED_DEVCAP_CAN_RECORD ED_BASE+1L
#define ED_DEVCAP_CAN_RECORD_STROBE ED_BASE+2L // for multitrack devices:
// switches currently recording tracks off
// and selected non-recording tracks into record
#define ED_DEVCAP_HAS_AUDIO ED_BASE+3L
#define ED_DEVCAP_HAS_VIDEO ED_BASE+4L
#define ED_DEVCAP_USES_FILES ED_BASE+5L
#define ED_DEVCAP_CAN_SAVE ED_BASE+6L
#define ED_DEVCAP_DEVICE_TYPE ED_BASE+7L // returns one of the following:
#define ED_DEVTYPE_VCR ED_BASE+8L
#define ED_DEVTYPE_LASERDISK ED_BASE+9L
#define ED_DEVTYPE_ATR ED_BASE+10L
#define ED_DEVTYPE_DDR ED_BASE+11L
#define ED_DEVTYPE_ROUTER ED_BASE+12L
#define ED_DEVTYPE_KEYER ED_BASE+13L
#define ED_DEVTYPE_MIXER_VIDEO ED_BASE+14L
#define ED_DEVTYPE_DVE ED_BASE+15L
#define ED_DEVTYPE_WIPEGEN ED_BASE+16L
#define ED_DEVTYPE_MIXER_AUDIO ED_BASE+17L
#define ED_DEVTYPE_CG ED_BASE+18L
#define ED_DEVTYPE_TBC ED_BASE+19L
#define ED_DEVTYPE_TCG ED_BASE+20L
#define ED_DEVTYPE_GPI ED_BASE+21L
#define ED_DEVTYPE_JOYSTICK ED_BASE+22L
#define ED_DEVTYPE_KEYBOARD ED_BASE+23L
// returns mfr-specific ID from external device.
#define ED_DEVCAP_EXTERNAL_DEVICE_ID ED_BASE+24L
#define ED_DEVCAP_TIMECODE_READ ED_BASE+25L
#define ED_DEVCAP_TIMECODE_WRITE ED_BASE+26L
// used for seekable non-timecode enabled devices
#define ED_DEVCAP_CTLTRK_READ ED_BASE+27L
// used for seekable non-timecode enabled devices
#define ED_DEVCAP_INDEX_READ ED_BASE+28L
// returns device preroll time in current time format
#define ED_DEVCAP_PREROLL ED_BASE+29L
// returns device postroll time in current time format
#define ED_DEVCAP_POSTROLL ED_BASE+30L
// returns indication of device抯 synchronization accuracy.
#define ED_DEVCAP_SYNC_ACCURACY ED_BASE+31L // returns one of the following:
#define ED_SYNCACC_PRECISE ED_BASE+32L
#define ED_SYNCACC_FRAME ED_BASE+33L
#define ED_SYNCACC_ROUGH ED_BASE+34L
// returns device抯 normal framerate.
#define ED_DEVCAP_NORMAL_RATE ED_BASE+35L // returns one of the following:
#define ED_RATE_24 ED_BASE+36L
#define ED_RATE_25 ED_BASE+37L
#define ED_RATE_2997 ED_BASE+38L
#define ED_RATE_30 ED_BASE+39L
#define ED_DEVCAP_CAN_PREVIEW ED_BASE+40L
#define ED_DEVCAP_CAN_MONITOR_SOURCES ED_BASE+41L
// indicates implementation allows testing of methods/parameters by
// setting the hi bit of a parm that makes sense - see individual methods
// for details.
#define ED_DEVCAP_CAN_TEST ED_BASE+42L
// indicates device accepts video as an input.
#define ED_DEVCAP_VIDEO_INPUTS ED_BASE+43L
// indicates device accepts audio as an input.
#define ED_DEVCAP_AUDIO_INPUTS ED_BASE+44L
#define ED_DEVCAP_NEEDS_CALIBRATING ED_BASE+45L
#define ED_DEVCAP_SEEK_TYPE ED_BASE+46L // returns one of the following:
#define ED_SEEK_PERFECT ED_BASE+47L // indicates device can execute seek
// within 1 video frames without signal
// break (like a DDR)
#define ED_SEEK_FAST ED_BASE+48L // indicates device can move pretty quick
// with short break in signal
#define ED_SEEK_SLOW ED_BASE+49L // seeks like a tape transport
#define ED_POWER_ON ED_BASE+50L
#define ED_POWER_OFF ED_BASE+51L
#define ED_POWER_STANDBY ED_BASE+52L
#define ED_ACTIVE ED_BASE+53L
#define ED_INACTIVE ED_BASE+54L
#define ED_ALL ED_BASE+55L
#define ED_TEST ED_BASE+56L
// IAMExtTransport Capability Items: unless otherwise specified, these items return
// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
#define ED_TRANSCAP_CAN_EJECT ED_BASE+100L
#define ED_TRANSCAP_CAN_BUMP_PLAY ED_BASE+101L // variable speed for synchronizing
#define ED_TRANSCAP_CAN_PLAY_BACKWARDS ED_BASE+102L // servo locked for use during an edit
#define ED_TRANSCAP_CAN_SET_EE ED_BASE+103L // show device抯 input on its output
#define ED_TRANSCAP_CAN_SET_PB ED_BASE+104L // show media playback on device抯 output
#define ED_TRANSCAP_CAN_DELAY_VIDEO_IN ED_BASE+105L // transport can do delayed-in video edits
#define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT ED_BASE+106L // transport can do delayed-out video edits
#define ED_TRANSCAP_CAN_DELAY_AUDIO_IN ED_BASE+107L // transport can do delayed-in audio edits
#define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT ED_BASE+108L // transport can do delayed-out audio edits
#define ED_TRANSCAP_FWD_VARIABLE_MAX ED_BASE+109L // max forward speed (multiple of play speed)
// in pdblValue
#define ED_TRANSCAP_FWD_VARIABLE_MIN ED_BASE+800L // min forward speed (multiple of play speed)
// in pdblValue
#define ED_TRANSCAP_REV_VARIABLE_MAX ED_BASE+110L // max reverse speed (multiple of play speed) in
// pdblValue
#define ED_TRANSCAP_REV_VARIABLE_MIN ED_BASE+801L // min reverse speed (multiple of play speed)
// in pdblValue
#define ED_TRANSCAP_FWD_SHUTTLE_MAX ED_BASE+802L // max forward speed in Shuttle mode (multiple
// of play speed) in pdblValue
#define ED_TRANSCAP_FWD_SHUTTLE_MIN ED_BASE+803L // min forward speed in Shuttle mode (multiple
// of play speed) in pdblValue
#define ED_TRANSCAP_REV_SHUTTLE_MAX ED_BASE+804L // max reverse speed in Shuttle mode (multiple
// of play speed) in pdblValue
#define ED_TRANSCAP_REV_SHUTTLE_MIN ED_BASE+805L // min reverse speed in Shuttle mode (multiple
// of play speed) in pdblValue
#define ED_TRANSCAP_NUM_AUDIO_TRACKS ED_BASE+111L // returns number of audio tracks
#define ED_TRANSCAP_LTC_TRACK ED_BASE+112L // returns track number of LTC timecode track.
// ED_ALL means no dedicated timecode track
#define ED_TRANSCAP_NEEDS_TBC ED_BASE+113L // device抯 output not stable
#define ED_TRANSCAP_NEEDS_CUEING ED_BASE+114L // device must be cued prior to performing edit
#define ED_TRANSCAP_CAN_INSERT ED_BASE+115L
#define ED_TRANSCAP_CAN_ASSEMBLE ED_BASE+116L
#define ED_TRANSCAP_FIELD_STEP ED_BASE+117L // device responds to Frame Advance command by
// advancing one field
#define ED_TRANSCAP_CLOCK_INC_RATE ED_BASE+118L // VISCA command - keep for compatibility
#define ED_TRANSCAP_CAN_DETECT_LENGTH ED_BASE+119L
#define ED_TRANSCAP_CAN_FREEZE ED_BASE+120L
#define ED_TRANSCAP_HAS_TUNER ED_BASE+121L
#define ED_TRANSCAP_HAS_TIMER ED_BASE+122L
#define ED_TRANSCAP_HAS_CLOCK ED_BASE+123L
#define ED_TRANSCAP_MULTIPLE_EDITS ED_BASE+806L // OATRUE means device/filter can support
// multiple edit events
#define ED_TRANSCAP_IS_MASTER ED_BASE+807L // OATRUE means device is the master clock
// for synchronizing (this sets timecode-to-
// reference clock offset for editing)
#define ED_TRANSCAP_HAS_DT ED_BASE+814L // OATRUE means device has Dynamic Tracking
// IAMExtTransport Media States
#define ED_MEDIA_SPIN_UP ED_BASE+130L
#define ED_MEDIA_SPIN_DOWN ED_BASE+131L
#define ED_MEDIA_UNLOAD ED_BASE+132L
// IAMExtTransport Modes
#define ED_MODE_PLAY ED_BASE+200L
#define ED_MODE_STOP ED_BASE+201L
#define ED_MODE_FREEZE ED_BASE+202L // really "pause"
#define ED_MODE_THAW ED_BASE+203L
#define ED_MODE_FF ED_BASE+204L
#define ED_MODE_REW ED_BASE+205L
#define ED_MODE_RECORD ED_BASE+206L
#define ED_MODE_RECORD_STROBE ED_BASE+207L
#define ED_MODE_RECORD_FREEZE ED_BASE+808L // never "put", only "get"
#define ED_MODE_STEP ED_BASE+208L // same as "jog"
#define ED_MODE_STEP_FWD ED_BASE+208L // same as ED_MODE_STEP
#define ED_MODE_STEP_REV ED_BASE+809L
#define ED_MODE_SHUTTLE ED_BASE+209L
#define ED_MODE_EDIT_CUE ED_BASE+210L
#define ED_MODE_VAR_SPEED ED_BASE+211L
#define ED_MODE_PERFORM ED_BASE+212L // returned status only
#define ED_MODE_LINK_ON ED_BASE+280L
#define ED_MODE_LINK_OFF ED_BASE+281L
#define ED_MODE_NOTIFY_ENABLE ED_BASE+810L
#define ED_MODE_NOTIFY_DISABLE ED_BASE+811L
#define ED_MODE_SHOT_SEARCH ED_BASE+812L
// IAMTimecodeReader/Generator/Display defines
//
// Timecode Generator Mode params and values:
//
#define ED_TCG_TIMECODE_TYPE ED_BASE+400L // can be one of the following:
#define ED_TCG_SMPTE_LTC ED_BASE+401L
#define ED_TCG_SMPTE_VITC ED_BASE+402L
#define ED_TCG_MIDI_QF ED_BASE+403L
#define ED_TCG_MIDI_FULL ED_BASE+404L
#define ED_TCG_FRAMERATE ED_BASE+405L // can be one of the following:
#define ED_FORMAT_SMPTE_30 ED_BASE+406L
#define ED_FORMAT_SMPTE_30DROP ED_BASE+407L
#define ED_FORMAT_SMPTE_25 ED_BASE+408L
#define ED_FORMAT_SMPTE_24 ED_BASE+409L
#define ED_TCG_SYNC_SOURCE ED_BASE+410L // can be one of the following:
#define ED_TCG_VIDEO ED_BASE+411L
#define ED_TCG_READER ED_BASE+412L
#define ED_TCG_FREE ED_BASE+413L
#define ED_TCG_REFERENCE_SOURCE ED_BASE+414L // can have one these values:
// ED_TCG_FREE || ED_TCG_READER
// (for regen/jamsync)
// TimeCodeReader Mode params and values:
#define ED_TCR_SOURCE ED_BASE+416L // can be one of the following:
// ED_TCG (already defined)
#define ED_TCR_LTC ED_BASE+417L
#define ED_TCR_VITC ED_BASE+418L
#define ED_TCR_CT ED_BASE+419L // Control Track
#define ED_TCR_FTC ED_BASE+420L // File TimeCode - for file-based devices
// that wish they were transports
// ED_MODE_NOTIFY_ENABLE can be OATRUE or OAFALSE (defined in transport mode
// section of this file).
#define ED_TCR_LAST_VALUE ED_BASE+421L // for notification mode -
// successive calls to GetTimecode
// return the last read value
// TimeCode Display Mode params and values:
//
#define ED_TCD_SOURCE ED_BASE+422L // can be one of the following:
#define ED_TCR ED_BASE+423L
#define ED_TCG ED_BASE+424L
#define ED_TCD_SIZE ED_BASE+425L // can be one of the following:
#define ED_SMALL ED_BASE+426L
#define ED_MED ED_BASE+427L
#define ED_LARGE ED_BASE+428L
#define ED_TCD_POSITION ED_BASE+429L // can be one of the following:
#define ED_TOP 0x0001
#define ED_MIDDLE 0x0002
#define ED_BOTTOM 0x0004 // OR'd with
#define ED_LEFT 0x0100
#define ED_CENTER 0x0200
#define ED_RIGHT 0x0400
#define ED_TCD_INTENSITY ED_BASE+436L // can be one of the following:
#define ED_HIGH ED_BASE+437L
#define ED_LOW ED_BASE+438L
#define ED_TCD_TRANSPARENCY ED_BASE+439L // 0-4, 0 is opaque
#define ED_TCD_INVERT ED_BASE+440L // OATRUE=black on white
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -