' ########################################################################################
' Microsoft Windows
' File: EDevDefs.inc
' Contents: External Device (such as a VCR) control interface parameter and value definitions.
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_edevdefs_PBI)
#DEFINE PBX_edevdefs_PBI
%EQUATE `EDEVDEFS_INC = 1
%EQUATE `ED_BASE = &H1000&
'// this is used to tell the device communications object which
'// physical communications port to use.
%EQUATE `DEV_PORT_SIM = 1
%EQUATE `DEV_PORT_COM1 = 2 ' // standard serial ports
%EQUATE `DEV_PORT_COM2 = 3
%EQUATE `DEV_PORT_COM3 = 4
%EQUATE `DEV_PORT_COM4 = 5
%EQUATE `DEV_PORT_DIAQ = 6 ' // Diaquest driver
%EQUATE `DEV_PORT_ARTI = 7 ' // ARTI driver
%EQUATE `DEV_PORT_1394 = 8 ' // IEEE 1394 Bus
%EQUATE `DEV_PORT_USB = 9 ' // Universal Serial Bus
%EQUATE `DEV_PORT_MIN = %DEV_PORT_SIM
%EQUATE `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:
%EQUATE `ED_DEVCAP_CAN_RECORD = %ED_BASE+1&
%EQUATE `ED_DEVCAP_CAN_RECORD_STROBE = %ED_BASE+2& ' // for multitrack devices:
 ' // switches currently recording tracks off
 ' // and selected non-recording tracks into record
%EQUATE `ED_DEVCAP_HAS_AUDIO = %ED_BASE+3&
%EQUATE `ED_DEVCAP_HAS_VIDEO = %ED_BASE+4&
%EQUATE `ED_DEVCAP_USES_FILES = %ED_BASE+5&
%EQUATE `ED_DEVCAP_CAN_SAVE = %ED_BASE+6&
%EQUATE `ED_DEVCAP_DEVICE_TYPE = %ED_BASE+7& ' // returns one of the following:
%EQUATE `ED_DEVTYPE_VCR = %ED_BASE+8&
%EQUATE `ED_DEVTYPE_LASERDISK = %ED_BASE+9&
%EQUATE `ED_DEVTYPE_ATR = %ED_BASE+10&
%EQUATE `ED_DEVTYPE_DDR = %ED_BASE+11&
%EQUATE `ED_DEVTYPE_ROUTER = %ED_BASE+12&
%EQUATE `ED_DEVTYPE_KEYER = %ED_BASE+13&
%EQUATE `ED_DEVTYPE_MIXER_VIDEO = %ED_BASE+14&
%EQUATE `ED_DEVTYPE_DVE = %ED_BASE+15&
%EQUATE `ED_DEVTYPE_WIPEGEN = %ED_BASE+16&
%EQUATE `ED_DEVTYPE_MIXER_AUDIO = %ED_BASE+17&
%EQUATE `ED_DEVTYPE_CG = %ED_BASE+18&
%EQUATE `ED_DEVTYPE_TBC = %ED_BASE+19&
%EQUATE `ED_DEVTYPE_TCG = %ED_BASE+20&
%EQUATE `ED_DEVTYPE_GPI = %ED_BASE+21&
%EQUATE `ED_DEVTYPE_JOYSTICK = %ED_BASE+22&
%EQUATE `ED_DEVTYPE_KEYBOARD = %ED_BASE+23&
'// returns mfr-specific ID from external device.
%EQUATE `ED_DEVCAP_EXTERNAL_DEVICE_ID = %ED_BASE+24&
%EQUATE `ED_DEVCAP_TIMECODE_READ = %ED_BASE+25&
%EQUATE `ED_DEVCAP_TIMECODE_WRITE = %ED_BASE+26&
'// used for seekable non-timecode enabled devices
%EQUATE `ED_DEVCAP_CTLTRK_READ = %ED_BASE+27&
'// used for seekable non-timecode enabled devices
%EQUATE `ED_DEVCAP_INDEX_READ = %ED_BASE+28&
'// returns device preroll time in current time format
%EQUATE `ED_DEVCAP_PREROLL = %ED_BASE+29&
'// returns device postroll time in current time format
%EQUATE `ED_DEVCAP_POSTROLL = %ED_BASE+30&
'// returns indication of device's synchronization accuracy.
%EQUATE `ED_DEVCAP_SYNC_ACCURACY = %ED_BASE+31& ' // returns one of the following:
%EQUATE `ED_SYNCACC_PRECISE = %ED_BASE+32&
%EQUATE `ED_SYNCACC_FRAME = %ED_BASE+33&
%EQUATE `ED_SYNCACC_ROUGH = %ED_BASE+34&
'// returns device's normal framerate.
%EQUATE `ED_DEVCAP_NORMAL_RATE = %ED_BASE+35& ' // returns one of the following:
%EQUATE `ED_RATE_24 = %ED_BASE+36&
%EQUATE `ED_RATE_25 = %ED_BASE+37&
%EQUATE `ED_RATE_2997 = %ED_BASE+38&
%EQUATE `ED_RATE_30 = %ED_BASE+39&
%EQUATE `ED_DEVCAP_CAN_PREVIEW = %ED_BASE+40&
%EQUATE `ED_DEVCAP_CAN_MONITOR_SOURCES = %ED_BASE+41&
'// indicates implementation allows testing of methods/parameters by
'// setting the hi bit of a parm that makes sense - see individual methods
'// for details.
%EQUATE `ED_DEVCAP_CAN_TEST = %ED_BASE+42&
'// indicates device accepts video as an input.
%EQUATE `ED_DEVCAP_VIDEO_INPUTS = %ED_BASE+43&
'// indicates device accepts audio as an input.
%EQUATE `ED_DEVCAP_AUDIO_INPUTS = %ED_BASE+44&
%EQUATE `ED_DEVCAP_NEEDS_CALIBRATING = %ED_BASE+45&
%EQUATE `ED_DEVCAP_SEEK_TYPE = %ED_BASE+46& ' // returns one of the following:
%EQUATE `ED_SEEK_PERFECT = %ED_BASE+47& ' // indicates device can execute seek
 ' // within 1 video frames without signal
 ' // break (like a DDR)
%EQUATE `ED_SEEK_FAST = %ED_BASE+48& ' // indicates device can move pretty quick
 ' // with short break in signal
%EQUATE `ED_SEEK_SLOW = %ED_BASE+49& ' // seeks like a tape transport
%EQUATE `ED_POWER_ON = %ED_BASE+50&
%EQUATE `ED_POWER_OFF = %ED_BASE+51&
%EQUATE `ED_POWER_STANDBY = %ED_BASE+52&
%EQUATE `ED_ACTIVE = %ED_BASE+53&
%EQUATE `ED_INACTIVE = %ED_BASE+54&
%EQUATE `ED_ALL = %ED_BASE+55&
%EQUATE `ED_TEST = %ED_BASE+56&
'// IAMExtTransport Capability Items: unless otherwise specified, these items return
'// OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
%EQUATE `ED_TRANSCAP_CAN_EJECT = %ED_BASE+100&
%EQUATE `ED_TRANSCAP_CAN_BUMP_PLAY = %ED_BASE+101& ' // variable speed for synchronizing
%EQUATE `ED_TRANSCAP_CAN_PLAY_BACKWARDS = %ED_BASE+102& ' // servo locked for use during an edit
%EQUATE `ED_TRANSCAP_CAN_SET_EE = %ED_BASE+103& ' // show device's input on its output
%EQUATE `ED_TRANSCAP_CAN_SET_PB = %ED_BASE+104& ' // show media playback on device's output
%EQUATE `ED_TRANSCAP_CAN_DELAY_VIDEO_IN = %ED_BASE+105& ' // transport can do delayed-in video edits
%EQUATE `ED_TRANSCAP_CAN_DELAY_VIDEO_OUT = %ED_BASE+106& ' // transport can do delayed-out video edits
%EQUATE `ED_TRANSCAP_CAN_DELAY_AUDIO_IN = %ED_BASE+107& ' // transport can do delayed-in audio edits
%EQUATE `ED_TRANSCAP_CAN_DELAY_AUDIO_OUT = %ED_BASE+108& ' // transport can do delayed-out audio edits
%EQUATE `ED_TRANSCAP_FWD_VARIABLE_MAX = %ED_BASE+109& ' // max forward speed (multiple of play speed)
 ' // in pdblValue
%EQUATE `ED_TRANSCAP_FWD_VARIABLE_MIN = %ED_BASE+800& ' // min forward speed (multiple of play speed)
 ' // in pdblValue
%EQUATE `ED_TRANSCAP_REV_VARIABLE_MAX = %ED_BASE+110& ' // max reverse speed (multiple of play speed) in
 ' // pdblValue
%EQUATE `ED_TRANSCAP_REV_VARIABLE_MIN = %ED_BASE+801& ' // min reverse speed (multiple of play speed)
 ' // in pdblValue
%EQUATE `ED_TRANSCAP_FWD_SHUTTLE_MAX = %ED_BASE+802& ' // max forward speed in Shuttle mode (multiple
 ' // of play speed) in pdblValue
%EQUATE `ED_TRANSCAP_FWD_SHUTTLE_MIN = %ED_BASE+803& ' // min forward speed in Shuttle mode (multiple
 ' // of play speed) in pdblValue
%EQUATE `ED_TRANSCAP_REV_SHUTTLE_MAX = %ED_BASE+804& ' // max reverse speed in Shuttle mode (multiple
 ' // of play speed) in pdblValue
%EQUATE `ED_TRANSCAP_REV_SHUTTLE_MIN = %ED_BASE+805& ' // min reverse speed in Shuttle mode (multiple
 ' // of play speed) in pdblValue
%EQUATE `ED_TRANSCAP_NUM_AUDIO_TRACKS = %ED_BASE+111& ' // returns number of audio tracks
%EQUATE `ED_TRANSCAP_LTC_TRACK = %ED_BASE+112& ' // returns track number of LTC timecode track.
 ' // ED_ALL means no dedicated timecode track
%EQUATE `ED_TRANSCAP_NEEDS_TBC = %ED_BASE+113& ' // device's output not stable
%EQUATE `ED_TRANSCAP_NEEDS_CUEING = %ED_BASE+114& ' // device must be cued prior to performing edit
%EQUATE `ED_TRANSCAP_CAN_INSERT = %ED_BASE+115&
%EQUATE `ED_TRANSCAP_CAN_ASSEMBLE = %ED_BASE+116&
%EQUATE `ED_TRANSCAP_FIELD_STEP = %ED_BASE+117& ' // device responds to Frame Advance command by
 ' // advancing one field
%EQUATE `ED_TRANSCAP_CLOCK_INC_RATE = %ED_BASE+118& ' // VISCA command - keep for compatibility
%EQUATE `ED_TRANSCAP_CAN_DETECT_LENGTH = %ED_BASE+119&
%EQUATE `ED_TRANSCAP_CAN_FREEZE = %ED_BASE+120&
%EQUATE `ED_TRANSCAP_HAS_TUNER = %ED_BASE+121&
%EQUATE `ED_TRANSCAP_HAS_TIMER = %ED_BASE+122&
%EQUATE `ED_TRANSCAP_HAS_CLOCK = %ED_BASE+123&
%EQUATE `ED_TRANSCAP_MULTIPLE_EDITS = %ED_BASE+806& ' // OATRUE means device/filter can support
 ' // multiple edit events
%EQUATE `ED_TRANSCAP_IS_MASTER = %ED_BASE+807& ' // OATRUE means device is the master clock
 ' // for synchronizing (this sets timecode-to-
 ' // reference clock offset for editing)
%EQUATE `ED_TRANSCAP_HAS_DT = %ED_BASE+814& ' // OATRUE means device has Dynamic Tracking
'// IAMExtTransport Media States
%EQUATE `ED_MEDIA_SPIN_UP = %ED_BASE+130&
%EQUATE `ED_MEDIA_SPIN_DOWN = %ED_BASE+131&
%EQUATE `ED_MEDIA_UNLOAD = %ED_BASE+132&
'// IAMExtTransport Modes
%EQUATE `ED_MODE_PLAY = %ED_BASE+200&
%EQUATE `ED_MODE_STOP = %ED_BASE+201&
%EQUATE `ED_MODE_FREEZE = %ED_BASE+202& ' // really "pause"
%EQUATE `ED_MODE_THAW = %ED_BASE+203&
%EQUATE `ED_MODE_FF = %ED_BASE+204&
%EQUATE `ED_MODE_REW = %ED_BASE+205&
%EQUATE `ED_MODE_RECORD = %ED_BASE+206&
%EQUATE `ED_MODE_RECORD_STROBE = %ED_BASE+207&
%EQUATE `ED_MODE_RECORD_FREEZE = %ED_BASE+808& ' // never "put", only "get"
%EQUATE `ED_MODE_STEP = %ED_BASE+208& ' // same as "jog"
%EQUATE `ED_MODE_STEP_FWD = %ED_BASE+208& ' // same as ED_MODE_STEP
%EQUATE `ED_MODE_STEP_REV = %ED_BASE+809&
%EQUATE `ED_MODE_SHUTTLE = %ED_BASE+209&
%EQUATE `ED_MODE_EDIT_CUE = %ED_BASE+210&
%EQUATE `ED_MODE_VAR_SPEED = %ED_BASE+211&
%EQUATE `ED_MODE_PERFORM = %ED_BASE+212& ' // returned status only
%EQUATE `ED_MODE_LINK_ON = %ED_BASE+280&
%EQUATE `ED_MODE_LINK_OFF = %ED_BASE+281&
%EQUATE `ED_MODE_NOTIFY_ENABLE = %ED_BASE+810&
%EQUATE `ED_MODE_NOTIFY_DISABLE = %ED_BASE+811&
%EQUATE `ED_MODE_SHOT_SEARCH = %ED_BASE+812&
'// IAMTimecodeReader/Generator/Display defines
'//
'// Timecode Generator Mode params and values:
'//
%EQUATE `ED_TCG_TIMECODE_TYPE = %ED_BASE+400& ' // can be one of the following:
%EQUATE `ED_TCG_SMPTE_LTC = %ED_BASE+401&
%EQUATE `ED_TCG_SMPTE_VITC = %ED_BASE+402&
%EQUATE `ED_TCG_MIDI_QF = %ED_BASE+403&
%EQUATE `ED_TCG_MIDI_FULL = %ED_BASE+404&
%EQUATE `ED_TCG_FRAMERATE = %ED_BASE+405& ' // can be one of the following:
%EQUATE `ED_FORMAT_SMPTE_30 = %ED_BASE+406&
%EQUATE `ED_FORMAT_SMPTE_30DROP = %ED_BASE+407&
%EQUATE `ED_FORMAT_SMPTE_25 = %ED_BASE+408&
%EQUATE `ED_FORMAT_SMPTE_24 = %ED_BASE+409&
%EQUATE `ED_TCG_SYNC_SOURCE = %ED_BASE+410& ' // can be one of the following:
%EQUATE `ED_TCG_VIDEO = %ED_BASE+411&
%EQUATE `ED_TCG_READER = %ED_BASE+412&
%EQUATE `ED_TCG_FREE = %ED_BASE+413&
%EQUATE `ED_TCG_REFERENCE_SOURCE = %ED_BASE+414& ' // can have one these values:
 ' // ED_TCG_FREE || ED_TCG_READER
 ' // (for regen/jamsync)
'// TimeCodeReader Mode params and values:
%EQUATE `ED_TCR_SOURCE = %ED_BASE+416& ' // can be one of the following:
'// ED_TCG (already defined)
%EQUATE `ED_TCR_LTC = %ED_BASE+417&
%EQUATE `ED_TCR_VITC = %ED_BASE+418&
%EQUATE `ED_TCR_CT = %ED_BASE+419& ' // Control Track
%EQUATE `ED_TCR_FTC = %ED_BASE+420& ' // 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).
%EQUATE `ED_TCR_LAST_VALUE = %ED_BASE+421& ' // for notification mode -
 ' // successive calls to GetTimecode
 ' // return the last read value
'// TimeCode Display Mode params and values:
'//
%EQUATE `ED_TCD_SOURCE = %ED_BASE+422& ' // can be one of the following:
%EQUATE `ED_TCR = %ED_BASE+423&
%EQUATE `ED_TCG = %ED_BASE+424&
%EQUATE `ED_TCD_SIZE = %ED_BASE+425& ' // can be one of the following:
%EQUATE `ED_SMALL = %ED_BASE+426&
%EQUATE `ED_MED = %ED_BASE+427&
%EQUATE `ED_LARGE = %ED_BASE+428&
%EQUATE `ED_TCD_POSITION = %ED_BASE+429& ' // can be one of the following:
%EQUATE `ED_TOP = &H0001
%EQUATE `ED_MIDDLE = &H0002
%EQUATE `ED_BOTTOM = &H0004 ' // OR'd with
%EQUATE `ED_LEFT = &H0100
%EQUATE `ED_CENTER = &H0200
%EQUATE `ED_RIGHT = &H0400
%EQUATE `ED_TCD_INTENSITY = %ED_BASE+436& ' // can be one of the following:
%EQUATE `ED_HIGH = %ED_BASE+437&
%EQUATE `ED_LOW = %ED_BASE+438&
%EQUATE `ED_TCD_TRANSPARENCY = %ED_BASE+439& ' // 0-4, 0 is opaque
%EQUATE `ED_TCD_INVERT = %ED_BASE+440& ' // OATRUE=black on white
 ' // OAFALSE=white on black
'// IAMExtTransport defines
'//
'// Transport status, params and values
'//
'// IAMExtTransport Status items and and values:
%EQUATE `ED_MODE = %ED_BASE+500& ' // see ED_MODE_xxx values above
%EQUATE `ED_ERROR = %ED_BASE+501&
%EQUATE `ED_LOCAL = %ED_BASE+502&
%EQUATE `ED_RECORD_INHIBIT = %ED_BASE+503&
%EQUATE `ED_SERVO_LOCK = %ED_BASE+504&
%EQUATE `ED_MEDIA_PRESENT = %ED_BASE+505&
%EQUATE `ED_MEDIA_LENGTH = %ED_BASE+506&
%EQUATE `ED_MEDIA_SIZE = %ED_BASE+507&
%EQUATE `ED_MEDIA_TRACK_COUNT = %ED_BASE+508&
%EQUATE `ED_MEDIA_TRACK_LENGTH = %ED_BASE+509&
%EQUATE `ED_MEDIA_SIDE = %ED_BASE+510&
%EQUATE `ED_MEDIA_TYPE = %ED_BASE+511& ' // can be one of the following:
%EQUATE `ED_MEDIA_VHS = %ED_BASE+512&
%EQUATE `ED_MEDIA_SVHS = %ED_BASE+513&
%EQUATE `ED_MEDIA_HI8 = %ED_BASE+514&
%EQUATE `ED_MEDIA_UMATIC = %ED_BASE+515&
%EQUATE `ED_MEDIA_DVC = %ED_BASE+516&
%EQUATE `ED_MEDIA_1_INCH = %ED_BASE+517&
%EQUATE `ED_MEDIA_D1 = %ED_BASE+518&
%EQUATE `ED_MEDIA_D2 = %ED_BASE+519&
%EQUATE `ED_MEDIA_D3 = %ED_BASE+520&
%EQUATE `ED_MEDIA_D5 = %ED_BASE+521&
%EQUATE `ED_MEDIA_DBETA = %ED_BASE+522&
%EQUATE `ED_MEDIA_BETA = %ED_BASE+523&
%EQUATE `ED_MEDIA_8MM = %ED_BASE+524&
%EQUATE `ED_MEDIA_DDR = %ED_BASE+525&
%EQUATE `ED_MEDIA_SX = %ED_BASE+813&
%EQUATE `ED_MEDIA_OTHER = %ED_BASE+526&
%EQUATE `ED_MEDIA_CLV = %ED_BASE+527&
%EQUATE `ED_MEDIA_CAV = %ED_BASE+528&
%EQUATE `ED_MEDIA_POSITION = %ED_BASE+529&
%EQUATE `ED_LINK_MODE = %ED_BASE+530& ' // OATRUE if transport controls
 ' // are linked to graph's RUN,
 ' // STOP, and PAUSE methods
'// IAMExtTransport Basic Parms
%EQUATE `ED_TRANSBASIC_TIME_FORMAT = %ED_BASE+540& ' // can be one of the following:
%EQUATE `ED_FORMAT_MILLISECONDS = %ED_BASE+541&
%EQUATE `ED_FORMAT_FRAMES = %ED_BASE+542&
%EQUATE `ED_FORMAT_REFERENCE_TIME = %ED_BASE+543&
%EQUATE `ED_FORMAT_HMSF = %ED_BASE+547&
%EQUATE `ED_FORMAT_TMSF = %ED_BASE+548&
%EQUATE `ED_TRANSBASIC_TIME_REFERENCE = %ED_BASE+549& ' // can be one of the following:
%EQUATE `ED_TIMEREF_TIMECODE = %ED_BASE+550&
%EQUATE `ED_TIMEREF_CONTROL_TRACK = %ED_BASE+551&
%EQUATE `ED_TIMEREF_INDEX = %ED_BASE+552&
%EQUATE `ED_TRANSBASIC_SUPERIMPOSE = %ED_BASE+553& ' // enable/disable onscreen display
%EQUATE `ED_TRANSBASIC_END_STOP_ACTION = %ED_BASE+554& ' // can be one of: ED_MODE_STOP |
 ' // ED_MODE_REWIND | ED_MODE_FREEZE
%EQUATE `ED_TRANSBASIC_RECORD_FORMAT = %ED_BASE+555& ' // can be one of the following:
%EQUATE `ED_RECORD_FORMAT_SP = %ED_BASE+556&
%EQUATE `ED_RECORD_FORMAT_LP = %ED_BASE+557&
%EQUATE `ED_RECORD_FORMAT_EP = %ED_BASE+558&
%EQUATE `ED_TRANSBASIC_STEP_COUNT = %ED_BASE+559&
%EQUATE `ED_TRANSBASIC_STEP_UNIT = %ED_BASE+560& ' // can be one of the following:
%EQUATE `ED_STEP_FIELD = %ED_BASE+561&
%EQUATE `ED_STEP_FRAME = %ED_BASE+562&
%EQUATE `ED_STEP_3_2 = %ED_BASE+563&
%EQUATE `ED_TRANSBASIC_PREROLL = %ED_BASE+564&
%EQUATE `ED_TRANSBASIC_RECPREROLL = %ED_BASE+565&
%EQUATE `ED_TRANSBASIC_POSTROLL = %ED_BASE+566&
%EQUATE `ED_TRANSBASIC_EDIT_DELAY = %ED_BASE+567&
%EQUATE `ED_TRANSBASIC_PLAYTC_DELAY = %ED_BASE+568&
%EQUATE `ED_TRANSBASIC_RECTC_DELAY = %ED_BASE+569&
%EQUATE `ED_TRANSBASIC_EDIT_FIELD = %ED_BASE+570&
%EQUATE `ED_TRANSBASIC_FRAME_SERVO = %ED_BASE+571&
%EQUATE `ED_TRANSBASIC_CF_SERVO = %ED_BASE+572&
%EQUATE `ED_TRANSBASIC_SERVO_REF = %ED_BASE+573& ' // can be one of the following:
%EQUATE `ED_REF_EXTERNAL = %ED_BASE+574&
%EQUATE `ED_REF_INPUT = %ED_BASE+575&
%EQUATE `ED_REF_INTERNAL = %ED_BASE+576&
%EQUATE `ED_REF_AUTO = %ED_BASE+577&
%EQUATE `ED_TRANSBASIC_WARN_GL = %ED_BASE+578&
%EQUATE `ED_TRANSBASIC_SET_TRACKING = %ED_BASE+579& ' // can be one of the following:
%EQUATE `ED_TRACKING_PLUS = %ED_BASE+580&
%EQUATE `ED_TRACKING_MINUS = %ED_BASE+581&
%EQUATE `ED_TRACKING_RESET = %ED_BASE+582&
%EQUATE `ED_TRANSBASIC_SET_FREEZE_TIMEOUT = %ED_BASE+583&
%EQUATE `ED_TRANSBASIC_VOLUME_NAME = %ED_BASE+584&
%EQUATE `ED_TRANSBASIC_BALLISTIC_1 = %ED_BASE+585& ' // space for proprietary data
%EQUATE `ED_TRANSBASIC_BALLISTIC_2 = %ED_BASE+586&
%EQUATE `ED_TRANSBASIC_BALLISTIC_3 = %ED_BASE+587&
%EQUATE `ED_TRANSBASIC_BALLISTIC_4 = %ED_BASE+588&
%EQUATE `ED_TRANSBASIC_BALLISTIC_5 = %ED_BASE+589&
%EQUATE `ED_TRANSBASIC_BALLISTIC_6 = %ED_BASE+590&
%EQUATE `ED_TRANSBASIC_BALLISTIC_7 = %ED_BASE+591&
%EQUATE `ED_TRANSBASIC_BALLISTIC_8 = %ED_BASE+592&
%EQUATE `ED_TRANSBASIC_BALLISTIC_9 = %ED_BASE+593&
%EQUATE `ED_TRANSBASIC_BALLISTIC_10 = %ED_BASE+594&
%EQUATE `ED_TRANSBASIC_BALLISTIC_11 = %ED_BASE+595&
%EQUATE `ED_TRANSBASIC_BALLISTIC_12 = %ED_BASE+596&
%EQUATE `ED_TRANSBASIC_BALLISTIC_13 = %ED_BASE+597&
%EQUATE `ED_TRANSBASIC_BALLISTIC_14 = %ED_BASE+598&
%EQUATE `ED_TRANSBASIC_BALLISTIC_15 = %ED_BASE+599&
%EQUATE `ED_TRANSBASIC_BALLISTIC_16 = %ED_BASE+600&
%EQUATE `ED_TRANSBASIC_BALLISTIC_17 = %ED_BASE+601&
%EQUATE `ED_TRANSBASIC_BALLISTIC_18 = %ED_BASE+602&
%EQUATE `ED_TRANSBASIC_BALLISTIC_19 = %ED_BASE+603&
%EQUATE `ED_TRANSBASIC_BALLISTIC_20 = %ED_BASE+604&
'// consumer VCR items
%EQUATE `ED_TRANSBASIC_SETCLOCK = %ED_BASE+605&
%EQUATE `ED_TRANSBASIC_SET_COUNTER_FORMAT = %ED_BASE+606& ' // uses time format flags
%EQUATE `ED_TRANSBASIC_SET_COUNTER_VALUE = %ED_BASE+607&
%EQUATE `ED_TRANSBASIC_SETTUNER_CH_UP = %ED_BASE+608&
%EQUATE `ED_TRANSBASIC_SETTUNER_CH_DN = %ED_BASE+609&
%EQUATE `ED_TRANSBASIC_SETTUNER_SK_UP = %ED_BASE+610&
%EQUATE `ED_TRANSBASIC_SETTUNER_SK_DN = %ED_BASE+611&
%EQUATE `ED_TRANSBASIC_SETTUNER_CH = %ED_BASE+612&
%EQUATE `ED_TRANSBASIC_SETTUNER_NUM = %ED_BASE+613&
%EQUATE `ED_TRANSBASIC_SETTIMER_EVENT = %ED_BASE+614&
%EQUATE `ED_TRANSBASIC_SETTIMER_STARTDAY = %ED_BASE+615&
%EQUATE `ED_TRANSBASIC_SETTIMER_STARTTIME = %ED_BASE+616&
%EQUATE `ED_TRANSBASIC_SETTIMER_STOPDAY = %ED_BASE+617&
%EQUATE `ED_TRANSBASIC_SETTIMER_STOPTIME = %ED_BASE+618&
'// IAMExtTransport video parameters
%EQUATE `ED_TRANSVIDEO_SET_OUTPUT = %ED_BASE+630& ' // can be one of the following:
%EQUATE `ED_E2E = %ED_BASE+631&
%EQUATE `ED_PLAYBACK = %ED_BASE+632&
%EQUATE `ED_OFF = %ED_BASE+633&
%EQUATE `ED_TRANSVIDEO_SET_SOURCE = %ED_BASE+634&
'// IAMExtTransport audio parameters
%EQUATE `ED_TRANSAUDIO_ENABLE_OUTPUT = %ED_BASE+640& ' // can be the following:
%EQUATE `ED_AUDIO_ALL = &H10000000 ' // or any of the following OR'd together
%EQUATE `ED_AUDIO_1 = &H0000001&
%EQUATE `ED_AUDIO_2 = &H0000002&
%EQUATE `ED_AUDIO_3 = &H0000004&
%EQUATE `ED_AUDIO_4 = &H0000008&
%EQUATE `ED_AUDIO_5 = &H0000010&
%EQUATE `ED_AUDIO_6 = &H0000020&
%EQUATE `ED_AUDIO_7 = &H0000040&
%EQUATE `ED_AUDIO_8 = &H0000080&
%EQUATE `ED_AUDIO_9 = &H0000100&
%EQUATE `ED_AUDIO_10 = &H0000200&
%EQUATE `ED_AUDIO_11 = &H0000400&
%EQUATE `ED_AUDIO_12 = &H0000800&
%EQUATE `ED_AUDIO_13 = &H0001000&
%EQUATE `ED_AUDIO_14 = &H0002000&
%EQUATE `ED_AUDIO_15 = &H0004000&
%EQUATE `ED_AUDIO_16 = &H0008000&
%EQUATE `ED_AUDIO_17 = &H0010000&
%EQUATE `ED_AUDIO_18 = &H0020000&
%EQUATE `ED_AUDIO_19 = &H0040000&
%EQUATE `ED_AUDIO_20 = &H0080000&
%EQUATE `ED_AUDIO_21 = &H0100000&
%EQUATE `ED_AUDIO_22 = &H0200000&
%EQUATE `ED_AUDIO_23 = &H0400000&
%EQUATE `ED_AUDIO_24 = &H0800000&
%EQUATE `ED_VIDEO = &H2000000& ' // for Edit props below
%EQUATE `ED_TRANSAUDIO_ENABLE_RECORD = %ED_BASE+642&
%EQUATE `ED_TRANSAUDIO_ENABLE_SELSYNC = %ED_BASE+643&
%EQUATE `ED_TRANSAUDIO_SET_SOURCE = %ED_BASE+644&
%EQUATE `ED_TRANSAUDIO_SET_MONITOR = %ED_BASE+645&
'// Edit Property Set-related defs
'// The following values reflect (and control) the state of an
'// edit property set
%EQUATE `ED_INVALID = %ED_BASE+652&
%EQUATE `ED_EXECUTING = %ED_BASE+653&
%EQUATE `ED_REGISTER = %ED_BASE+654&
%EQUATE `ED_DELETE = %ED_BASE+655&
'// Edit property set parameters and values
%EQUATE `ED_EDIT_HEVENT = %ED_BASE+656& ' // event handle to signal event
 ' // completion
%EQUATE `ED_EDIT_TEST = %ED_BASE+657& ' // returns OAFALSE if filter thinks
 ' // edit can be done, OATRUE if not
%EQUATE `ED_EDIT_IMMEDIATE = %ED_BASE+658& ' // OATRUE means start put the
 ' // device into edit mode (editing
 ' // "on the fly") immediately upon
 ' // execution of Mode(ED_MODE_EDIT_CUE)
%EQUATE `ED_EDIT_MODE = %ED_BASE+659&
'// can be one of the following values:
%EQUATE `ED_EDIT_MODE_ASSEMBLE = %ED_BASE+660&
%EQUATE `ED_EDIT_MODE_INSERT = %ED_BASE+661&
%EQUATE `ED_EDIT_MODE_CRASH_RECORD = %ED_BASE+662&
%EQUATE `ED_EDIT_MODE_BOOKMARK_TIME = %ED_BASE+663& ' // these two are for
%EQUATE `ED_EDIT_MODE_BOOKMARK_CHAPTER = %ED_BASE+664& ' // laserdisks
%EQUATE `ED_EDIT_MASTER = %ED_BASE+666& ' // OATRUE causes device
 ' // not to synchronize
%EQUATE `ED_EDIT_TRACK = %ED_BASE+667&
'// can be one of the following possible OR'd values:
'// ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
%EQUATE `ED_EDIT_SRC_INPOINT = %ED_BASE+668& ' // in current time format
%EQUATE `ED_EDIT_SRC_OUTPOINT = %ED_BASE+669& ' // in current time format
%EQUATE `ED_EDIT_REC_INPOINT = %ED_BASE+670& ' // in current time format
%EQUATE `ED_EDIT_REC_OUTPOINT = %ED_BASE+671& ' // in current time format
%EQUATE `ED_EDIT_REHEARSE_MODE = %ED_BASE+672&
'// can be one of the following possible values:
%EQUATE `ED_EDIT_BVB = %ED_BASE+673& ' // means rehearse the edit with
 ' // "black-video-black"
%EQUATE `ED_EDIT_VBV = %ED_BASE+674&
%EQUATE `ED_EDIT_VVV = %ED_BASE+675&
%EQUATE `ED_EDIT_PERFORM = %ED_BASE+676& ' // means perform the edit with no
 ' // rehearsal.
'// Set this property to OATRUE to kill the edit if in progress
%EQUATE `ED_EDIT_ABORT = %ED_BASE+677&
'// how long to wait for edit to complete
%EQUATE `ED_EDIT_TIMEOUT = %ED_BASE+678& ' // in current time format
'// This property causes the device to seek to a point specified by
'// ED_EDIT_SEEK_MODE (see below). NOTE: Only one event at a time can seek.
%EQUATE `ED_EDIT_SEEK = %ED_BASE+679& ' // OATRUE means do it now.
%EQUATE `ED_EDIT_SEEK_MODE = %ED_BASE+680&
'//possible values:
%EQUATE `ED_EDIT_SEEK_EDIT_IN = %ED_BASE+681& ' // seek to edit's inpoint
%EQUATE `ED_EDIT_SEEK_EDIT_OUT = %ED_BASE+682& ' // seek to edit's outpoint
%EQUATE `ED_EDIT_SEEK_PREROLL = %ED_BASE+683& ' // seek to edit's
 ' // inpoint-preroll
%EQUATE `ED_EDIT_SEEK_PREROLL_CT = %ED_BASE+684& ' // seek to preroll point
 ' // using control track (used for tapes with
 ' // discontinuoustimecode before edit point: seek
 ' // to inpoint using timecode, then backup to
 ' // preroll point using control track)
%EQUATE `ED_EDIT_SEEK_BOOKMARK = %ED_BASE+685& ' // seek to bookmark (just like
 ' // timecode search)
'// This property is used for multiple-VCR systems where each machine must
'// cue to a different location relative to the graph's reference clock. The
'// basic idea is that an edit event is setup with an ED_EDIT_OFFSET property
'// that tells the VCR what offset to maintain between it's timecode (converted
'// to reference clock units) and the reference clock.
%EQUATE `ED_EDIT_OFFSET = %ED_BASE+686& ' // in current time format
%EQUATE `ED_EDIT_PREREAD = %ED_BASE+815& ' // OATRUE means device supports
 ' // pre-read (recorder can also be
 ' // player
'//
'// Some error codes:
'//
'// device could be in local mode
%EQUATE `ED_ERR_DEVICE_NOT_READY = %ED_BASE+700&
#ENDIF
