Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

742 lines
35 KiB

  1. //===========================================================================
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) Microsoft Corporation. All rights reserved.
  9. //
  10. //===========================================================================
  11. //
  12. // filename XPrtDefs.h (Derived from edevdefs.h)
  13. //
  14. // External Device (like a VCR) control interface parameter and value definitions
  15. //
  16. // Note:new constants added: ED_BASE+800L -> ED_BASE+811L
  17. //
  18. // 1-30-98:
  19. // New constant added for DVCR: ED_BASE+900L -> ED_BASE+1000L
  20. // 7-15-03:
  21. // Add new constants for device transports and device types:
  22. // ED_BASE+1001L..ED_BASE+1037L
  23. //
  24. #ifndef __XPRTDEFS__
  25. #define __XPRTDEFS__
  26. #define ED_BASE 0x1000L
  27. // this is used to tell the device communications object which
  28. // physical communications port to use.
  29. #define DEV_PORT_SIM 1
  30. #define DEV_PORT_COM1 2 // standard serial ports
  31. #define DEV_PORT_COM2 3
  32. #define DEV_PORT_COM3 4
  33. #define DEV_PORT_COM4 5
  34. #define DEV_PORT_DIAQ 6 // Diaquest driver
  35. #define DEV_PORT_ARTI 7 // ARTI driver
  36. #define DEV_PORT_1394 8 // IEEE 1394 Serial Bus
  37. #define DEV_PORT_USB 9 // Universal Serial Bus
  38. #define DEV_PORT_MIN DEV_PORT_SIM
  39. #define DEV_PORT_MAX DEV_PORT_USB
  40. // IAMExtDevice Capability Items: unless otherwise specified, these items return
  41. // OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
  42. #define ED_DEVCAP_CAN_RECORD ED_BASE+1L
  43. #define ED_DEVCAP_CAN_RECORD_STROBE ED_BASE+2L // for multitrack devices:
  44. // switches currently recording tracks off
  45. // and selected non-recording tracks into record
  46. #define ED_DEVCAP_HAS_AUDIO ED_BASE+3L
  47. #define ED_DEVCAP_HAS_VIDEO ED_BASE+4L
  48. #define ED_DEVCAP_USES_FILES ED_BASE+5L
  49. #define ED_DEVCAP_CAN_SAVE ED_BASE+6L
  50. #define ED_DEVCAP_DEVICE_TYPE ED_BASE+7L // returns one of the following:
  51. #define ED_DEVTYPE_VCR ED_BASE+8L
  52. #define ED_DEVTYPE_LASERDISK ED_BASE+9L
  53. #define ED_DEVTYPE_ATR ED_BASE+10L
  54. #define ED_DEVTYPE_DDR ED_BASE+11L
  55. #define ED_DEVTYPE_ROUTER ED_BASE+12L
  56. #define ED_DEVTYPE_KEYER ED_BASE+13L
  57. #define ED_DEVTYPE_MIXER_VIDEO ED_BASE+14L
  58. #define ED_DEVTYPE_DVE ED_BASE+15L
  59. #define ED_DEVTYPE_WIPEGEN ED_BASE+16L
  60. #define ED_DEVTYPE_MIXER_AUDIO ED_BASE+17L
  61. #define ED_DEVTYPE_CG ED_BASE+18L
  62. #define ED_DEVTYPE_TBC ED_BASE+19L
  63. #define ED_DEVTYPE_TCG ED_BASE+20L
  64. #define ED_DEVTYPE_GPI ED_BASE+21L
  65. #define ED_DEVTYPE_JOYSTICK ED_BASE+22L
  66. #define ED_DEVTYPE_KEYBOARD ED_BASE+23L
  67. // returns mfr-specific ID from external device.
  68. #define ED_DEVCAP_EXTERNAL_DEVICE_ID ED_BASE+24L
  69. #define ED_DEVCAP_TIMECODE_READ ED_BASE+25L
  70. #define ED_DEVCAP_TIMECODE_WRITE ED_BASE+26L
  71. // used for seekable non-timecode enabled devices
  72. #define ED_DEVCAP_CTLTRK_READ ED_BASE+27L
  73. // used for seekable non-timecode enabled devices
  74. #define ED_DEVCAP_INDEX_READ ED_BASE+28L
  75. // returns device preroll time in current time format
  76. #define ED_DEVCAP_PREROLL ED_BASE+29L
  77. // returns device postroll time in current time format
  78. #define ED_DEVCAP_POSTROLL ED_BASE+30L
  79. // returns indication of device�s synchronization accuracy.
  80. #define ED_DEVCAP_SYNC_ACCURACY ED_BASE+31L // returns one of the following:
  81. #define ED_SYNCACC_PRECISE ED_BASE+32L
  82. #define ED_SYNCACC_FRAME ED_BASE+33L
  83. #define ED_SYNCACC_ROUGH ED_BASE+34L
  84. // returns device�s normal framerate.
  85. #define ED_DEVCAP_NORMAL_RATE ED_BASE+35L // returns one of the following:
  86. #define ED_RATE_24 ED_BASE+36L
  87. #define ED_RATE_25 ED_BASE+37L
  88. #define ED_RATE_2997 ED_BASE+38L
  89. #define ED_RATE_30 ED_BASE+39L
  90. #define ED_DEVCAP_CAN_PREVIEW ED_BASE+40L
  91. #define ED_DEVCAP_CAN_MONITOR_SOURCES ED_BASE+41L
  92. // indicates implementation allows testing of methods/parameters by
  93. // setting the hi bit of a parm that makes sense - see individual methods
  94. // for details.
  95. #define ED_DEVCAP_CAN_TEST ED_BASE+42L
  96. // indicates device accepts video as an input.
  97. #define ED_DEVCAP_VIDEO_INPUTS ED_BASE+43L
  98. // indicates device accepts audio as an input.
  99. #define ED_DEVCAP_AUDIO_INPUTS ED_BASE+44L
  100. #define ED_DEVCAP_NEEDS_CALIBRATING ED_BASE+45L
  101. #define ED_DEVCAP_SEEK_TYPE ED_BASE+46L // returns one of the following:
  102. #define ED_SEEK_PERFECT ED_BASE+47L // indicates device can execute seek
  103. // within 1 video frames without signal
  104. // break (like a DDR)
  105. #define ED_SEEK_FAST ED_BASE+48L // indicates device can move pretty quick
  106. // with short break in signal
  107. #define ED_SEEK_SLOW ED_BASE+49L // seeks like a tape transport
  108. #define ED_POWER_ON ED_BASE+50L
  109. #define ED_POWER_OFF ED_BASE+51L
  110. #define ED_POWER_STANDBY ED_BASE+52L
  111. #define ED_POWER_DEVICE_DEPENDENT ED_BASE+1033L // Power is on with limited functions
  112. #define ED_ACTIVE ED_BASE+53L
  113. #define ED_INACTIVE ED_BASE+54L
  114. #define ED_ALL ED_BASE+55L
  115. #define ED_TEST ED_BASE+56L
  116. // IAMExtTransport Capability Items: unless otherwise specified, these items return
  117. // OATRUE or OAFALSE. All return values are in pdwValue unless otherwise specified:
  118. #define ED_TRANSCAP_CAN_EJECT ED_BASE+100L
  119. #define ED_TRANSCAP_CAN_BUMP_PLAY ED_BASE+101L // variable speed for synchronizing
  120. #define ED_TRANSCAP_CAN_PLAY_BACKWARDS ED_BASE+102L // servo locked for use during an edit
  121. #define ED_TRANSCAP_CAN_SET_EE ED_BASE+103L // show device�s input on its output
  122. #define ED_TRANSCAP_CAN_SET_PB ED_BASE+104L // show media playback on device�s output
  123. #define ED_TRANSCAP_CAN_DELAY_VIDEO_IN ED_BASE+105L // transport can do delayed-in video edits
  124. #define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT ED_BASE+106L // transport can do delayed-out video edits
  125. #define ED_TRANSCAP_CAN_DELAY_AUDIO_IN ED_BASE+107L // transport can do delayed-in audio edits
  126. #define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT ED_BASE+108L // transport can do delayed-out audio edits
  127. #define ED_TRANSCAP_FWD_VARIABLE_MAX ED_BASE+109L // max forward speed (multiple of play speed)
  128. // in pdblValue
  129. #define ED_TRANSCAP_FWD_VARIABLE_MIN ED_BASE+800L // min forward speed (multiple of play speed)
  130. // in pdblValue
  131. #define ED_TRANSCAP_REV_VARIABLE_MAX ED_BASE+110L // max reverse speed (multiple of play speed) in
  132. // pdblValue
  133. #define ED_TRANSCAP_REV_VARIABLE_MIN ED_BASE+801L // min reverse speed (multiple of play speed)
  134. // in pdblValue
  135. #define ED_TRANSCAP_FWD_SHUTTLE_MAX ED_BASE+802L // max forward speed in Shuttle mode (multiple
  136. // of play speed) in pdblValue
  137. #define ED_TRANSCAP_FWD_SHUTTLE_MIN ED_BASE+803L // min forward speed in Shuttle mode (multiple
  138. // of play speed) in pdblValue
  139. #define ED_TRANSCAP_REV_SHUTTLE_MAX ED_BASE+804L // max reverse speed in Shuttle mode (multiple
  140. // of play speed) in pdblValue
  141. #define ED_TRANSCAP_REV_SHUTTLE_MIN ED_BASE+805L // min reverse speed in Shuttle mode (multiple
  142. // of play speed) in pdblValue
  143. #define ED_TRANSCAP_NUM_AUDIO_TRACKS ED_BASE+111L // returns number of audio tracks
  144. #define ED_TRANSCAP_LTC_TRACK ED_BASE+112L // returns track number of LTC timecode track.
  145. // ED_ALL means no dedicated timecode track
  146. #define ED_TRANSCAP_NEEDS_TBC ED_BASE+113L // device�s output not stable
  147. #define ED_TRANSCAP_NEEDS_CUEING ED_BASE+114L // device must be cued prior to performing edit
  148. #define ED_TRANSCAP_CAN_INSERT ED_BASE+115L
  149. #define ED_TRANSCAP_CAN_ASSEMBLE ED_BASE+116L
  150. #define ED_TRANSCAP_FIELD_STEP ED_BASE+117L // device responds to Frame Advance command by
  151. // advancing one field
  152. #define ED_TRANSCAP_CLOCK_INC_RATE ED_BASE+118L // VISCA command - keep for compatibility
  153. #define ED_TRANSCAP_CAN_DETECT_LENGTH ED_BASE+119L
  154. #define ED_TRANSCAP_CAN_FREEZE ED_BASE+120L
  155. #define ED_TRANSCAP_HAS_TUNER ED_BASE+121L
  156. #define ED_TRANSCAP_HAS_TIMER ED_BASE+122L
  157. #define ED_TRANSCAP_HAS_CLOCK ED_BASE+123L
  158. #define ED_TRANSCAP_MULTIPLE_EDITS ED_BASE+806L // OATRUE means device/filter can support
  159. // multiple edit events
  160. #define ED_TRANSCAP_IS_MASTER ED_BASE+807L // OATRUE means device is the master clock
  161. // for synchronizing (this sets timecode-to-
  162. // reference clock offset for editing)
  163. #define ED_TRANSCAP_HAS_DT ED_BASE+814L // OATRUE means device has Dynamic Tracking
  164. // IAMExtTransport Media States
  165. #define ED_MEDIA_SPIN_UP ED_BASE+130L
  166. #define ED_MEDIA_SPIN_DOWN ED_BASE+131L
  167. #define ED_MEDIA_UNLOAD ED_BASE+132L
  168. // IAMExtTransport Modes
  169. #define ED_MODE_PLAY ED_BASE+200L // Forward playback at normal speed
  170. #define ED_MODE_STOP ED_BASE+201L
  171. #define ED_MODE_FREEZE ED_BASE+202L // Forward pause
  172. #define ED_MODE_THAW ED_BASE+203L
  173. #define ED_MODE_FF ED_BASE+204L // Fast forward
  174. #define ED_MODE_REW ED_BASE+205L // Fast rewind
  175. #define ED_MODE_RECORD ED_BASE+206L
  176. #define ED_MODE_RECORD_STROBE ED_BASE+207L
  177. #define ED_MODE_RECORD_FREEZE ED_BASE+808L // Pause recording
  178. #define ED_MODE_STEP ED_BASE+208L // same as "jog"
  179. #define ED_MODE_STEP_FWD ED_BASE+208L // same as ED_MODE_STEP - next frame
  180. #define ED_MODE_STEP_REV ED_BASE+809L // Previous frame
  181. #define ED_MODE_SHUTTLE ED_BASE+209L
  182. #define ED_MODE_EDIT_CUE ED_BASE+210L
  183. #define ED_MODE_VAR_SPEED ED_BASE+211L
  184. #define ED_MODE_PERFORM ED_BASE+212L // returned status only
  185. #define ED_MODE_LINK_ON ED_BASE+280L
  186. #define ED_MODE_LINK_OFF ED_BASE+281L
  187. #define ED_MODE_NOTIFY_ENABLE ED_BASE+810L
  188. #define ED_MODE_NOTIFY_DISABLE ED_BASE+811L
  189. #define ED_MODE_SHOT_SEARCH ED_BASE+812L
  190. // IAMTimecodeReader/Generator/Display defines
  191. //
  192. // Timecode Generator Mode params and values:
  193. //
  194. #define ED_TCG_TIMECODE_TYPE ED_BASE+400L // can be one of the following:
  195. #define ED_TCG_SMPTE_LTC ED_BASE+401L
  196. #define ED_TCG_SMPTE_VITC ED_BASE+402L
  197. #define ED_TCG_MIDI_QF ED_BASE+403L
  198. #define ED_TCG_MIDI_FULL ED_BASE+404L
  199. #define ED_TCG_FRAMERATE ED_BASE+405L // can be one of the following:
  200. #define ED_FORMAT_SMPTE_30 ED_BASE+406L
  201. #define ED_FORMAT_SMPTE_30DROP ED_BASE+407L
  202. #define ED_FORMAT_SMPTE_25 ED_BASE+408L
  203. #define ED_FORMAT_SMPTE_24 ED_BASE+409L
  204. #define ED_TCG_SYNC_SOURCE ED_BASE+410L // can be one of the following:
  205. #define ED_TCG_VIDEO ED_BASE+411L
  206. #define ED_TCG_READER ED_BASE+412L
  207. #define ED_TCG_FREE ED_BASE+413L
  208. #define ED_TCG_REFERENCE_SOURCE ED_BASE+414L // can have one these values:
  209. // ED_TCG_FREE || ED_TCG_READER
  210. // (for regen/jamsync)
  211. // TimeCodeReader Mode params and values:
  212. #define ED_TCR_SOURCE ED_BASE+416L // can be one of the following:
  213. // ED_TCG (already defined)
  214. #define ED_TCR_LTC ED_BASE+417L
  215. #define ED_TCR_VITC ED_BASE+418L
  216. #define ED_TCR_CT ED_BASE+419L // Control Track
  217. #define ED_TCR_FTC ED_BASE+420L // File TimeCode - for file-based devices
  218. // that wish they were transports
  219. // ED_MODE_NOTIFY_ENABLE can be OATRUE or OAFALSE (defined in transport mode
  220. // section of this file).
  221. #define ED_TCR_LAST_VALUE ED_BASE+421L // for notification mode -
  222. // successive calls to GetTimecode
  223. // return the last read value
  224. // TimeCode Display Mode params and values:
  225. //
  226. #define ED_TCD_SOURCE ED_BASE+422L // can be one of the following:
  227. #define ED_TCR ED_BASE+423L
  228. #define ED_TCG ED_BASE+424L
  229. #define ED_TCD_SIZE ED_BASE+425L // can be one of the following:
  230. #define ED_SMALL ED_BASE+426L
  231. #define ED_MED ED_BASE+427L
  232. #define ED_LARGE ED_BASE+428L
  233. #define ED_TCD_POSITION ED_BASE+429L // can be one of the following:
  234. #define ED_TOP 0x0001
  235. #define ED_MIDDLE 0x0002
  236. #define ED_BOTTOM 0x0004 // or�d with
  237. #define ED_LEFT 0x0100
  238. #define ED_CENTER 0x0200
  239. #define ED_RIGHT 0x0400
  240. #define ED_TCD_INTENSITY ED_BASE+436L // can be one of the following:
  241. #define ED_HIGH ED_BASE+437L
  242. #define ED_LOW ED_BASE+438L
  243. #define ED_TCD_TRANSPARENCY ED_BASE+439L // 0-4, 0 is opaque
  244. #define ED_TCD_INVERT ED_BASE+440L // OATRUE=black on white
  245. // OAFALSE=white on black
  246. // IAMExtTransport defines
  247. //
  248. // Transport status, params and values
  249. //
  250. // IAMExtTransport Status items and and values:
  251. #define ED_MODE ED_BASE+500L // see ED_MODE_xxx values above
  252. #define ED_ERROR ED_BASE+501L
  253. #define ED_LOCAL ED_BASE+502L
  254. #define ED_RECORD_INHIBIT ED_BASE+503L
  255. #define ED_SERVO_LOCK ED_BASE+504L
  256. #define ED_MEDIA_PRESENT ED_BASE+505L
  257. #define ED_MEDIA_LENGTH ED_BASE+506L
  258. #define ED_MEDIA_SIZE ED_BASE+507L
  259. #define ED_MEDIA_TRACK_COUNT ED_BASE+508L
  260. #define ED_MEDIA_TRACK_LENGTH ED_BASE+509L
  261. #define ED_MEDIA_SIDE ED_BASE+510L
  262. #define ED_MEDIA_TYPE ED_BASE+511L // can be one of the following:
  263. #define ED_MEDIA_VHS ED_BASE+512L
  264. #define ED_MEDIA_SVHS ED_BASE+513L
  265. #define ED_MEDIA_HI8 ED_BASE+514L
  266. #define ED_MEDIA_UMATIC ED_BASE+515L
  267. #define ED_MEDIA_DVC ED_BASE+516L
  268. #define ED_MEDIA_1_INCH ED_BASE+517L
  269. #define ED_MEDIA_D1 ED_BASE+518L
  270. #define ED_MEDIA_D2 ED_BASE+519L
  271. #define ED_MEDIA_D3 ED_BASE+520L
  272. #define ED_MEDIA_D5 ED_BASE+521L
  273. #define ED_MEDIA_DBETA ED_BASE+522L
  274. #define ED_MEDIA_BETA ED_BASE+523L
  275. #define ED_MEDIA_8MM ED_BASE+524L
  276. #define ED_MEDIA_DDR ED_BASE+525L
  277. #define ED_MEDIA_SX ED_BASE+813L
  278. #define ED_MEDIA_OTHER ED_BASE+526L
  279. #define ED_MEDIA_CLV ED_BASE+527L
  280. #define ED_MEDIA_CAV ED_BASE+528L
  281. #define ED_MEDIA_POSITION ED_BASE+529L
  282. #define ED_MEDIA_NEO ED_BASE+531L // Mini digital tape for MPEG2TS signal
  283. #define ED_MEDIA_MICROMV ED_MEDIA_NEO
  284. #define ED_LINK_MODE ED_BASE+530L // OATRUE if transport controls
  285. // are linked to graph's RUN,
  286. // STOP, and PAUSE methods
  287. // IAMExtTransport Basic Parms
  288. #define ED_TRANSBASIC_TIME_FORMAT ED_BASE+540L // can be one of the following:
  289. #define ED_FORMAT_MILLISECONDS ED_BASE+541L
  290. #define ED_FORMAT_FRAMES ED_BASE+542L
  291. #define ED_FORMAT_REFERENCE_TIME ED_BASE+543L
  292. #define ED_FORMAT_HMSF ED_BASE+547L
  293. #define ED_FORMAT_TMSF ED_BASE+548L
  294. #define ED_TRANSBASIC_TIME_REFERENCE ED_BASE+549L // can be one of the following:
  295. #define ED_TIMEREF_TIMECODE ED_BASE+550L
  296. #define ED_TIMEREF_CONTROL_TRACK ED_BASE+551L
  297. #define ED_TIMEREF_INDEX ED_BASE+552L
  298. #define ED_TRANSBASIC_SUPERIMPOSE ED_BASE+553L // enable/disable onscreen display
  299. #define ED_TRANSBASIC_END_STOP_ACTION ED_BASE+554L // can be one of: ED_MODE_STOP |
  300. // ED_MODE_REWIND | ED_MODE_FREEZE
  301. #define ED_TRANSBASIC_RECORD_FORMAT ED_BASE+555L // can be one of the following:
  302. #define ED_RECORD_FORMAT_SP ED_BASE+556L
  303. #define ED_RECORD_FORMAT_LP ED_BASE+557L
  304. #define ED_RECORD_FORMAT_EP ED_BASE+558L
  305. #define ED_TRANSBASIC_STEP_COUNT ED_BASE+559L
  306. #define ED_TRANSBASIC_STEP_UNIT ED_BASE+560L // can be one of the following:
  307. #define ED_STEP_FIELD ED_BASE+561L
  308. #define ED_STEP_FRAME ED_BASE+562L
  309. #define ED_STEP_3_2 ED_BASE+563L
  310. #define ED_TRANSBASIC_PREROLL ED_BASE+564L
  311. #define ED_TRANSBASIC_RECPREROLL ED_BASE+565L
  312. #define ED_TRANSBASIC_POSTROLL ED_BASE+566L
  313. #define ED_TRANSBASIC_EDIT_DELAY ED_BASE+567L
  314. #define ED_TRANSBASIC_PLAYTC_DELAY ED_BASE+568L
  315. #define ED_TRANSBASIC_RECTC_DELAY ED_BASE+569L
  316. #define ED_TRANSBASIC_EDIT_FIELD ED_BASE+570L
  317. #define ED_TRANSBASIC_FRAME_SERVO ED_BASE+571L
  318. #define ED_TRANSBASIC_CF_SERVO ED_BASE+572L
  319. #define ED_TRANSBASIC_SERVO_REF ED_BASE+573L // can be one of the following:
  320. #define ED_REF_EXTERNAL ED_BASE+574L
  321. #define ED_REF_INPUT ED_BASE+575L
  322. #define ED_REF_INTERNAL ED_BASE+576L
  323. #define ED_REF_AUTO ED_BASE+577L
  324. #define ED_TRANSBASIC_WARN_GL ED_BASE+578L
  325. #define ED_TRANSBASIC_SET_TRACKING ED_BASE+579L // can be one of the following:
  326. #define ED_TRACKING_PLUS ED_BASE+580L
  327. #define ED_TRACKING_MINUS ED_BASE+581L
  328. #define ED_TRACKING_RESET ED_BASE+582L
  329. #define ED_TRANSBASIC_SET_FREEZE_TIMEOUT ED_BASE+583L
  330. #define ED_TRANSBASIC_VOLUME_NAME ED_BASE+584L
  331. #define ED_TRANSBASIC_BALLISTIC_1 ED_BASE+585L // space for proprietary data
  332. #define ED_TRANSBASIC_BALLISTIC_2 ED_BASE+586L
  333. #define ED_TRANSBASIC_BALLISTIC_3 ED_BASE+587L
  334. #define ED_TRANSBASIC_BALLISTIC_4 ED_BASE+588L
  335. #define ED_TRANSBASIC_BALLISTIC_5 ED_BASE+589L
  336. #define ED_TRANSBASIC_BALLISTIC_6 ED_BASE+590L
  337. #define ED_TRANSBASIC_BALLISTIC_7 ED_BASE+591L
  338. #define ED_TRANSBASIC_BALLISTIC_8 ED_BASE+592L
  339. #define ED_TRANSBASIC_BALLISTIC_9 ED_BASE+593L
  340. #define ED_TRANSBASIC_BALLISTIC_10 ED_BASE+594L
  341. #define ED_TRANSBASIC_BALLISTIC_11 ED_BASE+595L
  342. #define ED_TRANSBASIC_BALLISTIC_12 ED_BASE+596L
  343. #define ED_TRANSBASIC_BALLISTIC_13 ED_BASE+597L
  344. #define ED_TRANSBASIC_BALLISTIC_14 ED_BASE+598L
  345. #define ED_TRANSBASIC_BALLISTIC_15 ED_BASE+599L
  346. #define ED_TRANSBASIC_BALLISTIC_16 ED_BASE+600L
  347. #define ED_TRANSBASIC_BALLISTIC_17 ED_BASE+601L
  348. #define ED_TRANSBASIC_BALLISTIC_18 ED_BASE+602L
  349. #define ED_TRANSBASIC_BALLISTIC_19 ED_BASE+603L
  350. #define ED_TRANSBASIC_BALLISTIC_20 ED_BASE+604L
  351. // consumer VCR items
  352. #define ED_TRANSBASIC_SETCLOCK ED_BASE+605L
  353. #define ED_TRANSBASIC_SET_COUNTER_FORMAT ED_BASE+606L // uses time format flags
  354. #define ED_TRANSBASIC_SET_COUNTER_VALUE ED_BASE+607L
  355. #define ED_TRANSBASIC_SETTUNER_CH_UP ED_BASE+608L
  356. #define ED_TRANSBASIC_SETTUNER_CH_DN ED_BASE+609L
  357. #define ED_TRANSBASIC_SETTUNER_SK_UP ED_BASE+610L
  358. #define ED_TRANSBASIC_SETTUNER_SK_DN ED_BASE+611L
  359. #define ED_TRANSBASIC_SETTUNER_CH ED_BASE+612L
  360. #define ED_TRANSBASIC_SETTUNER_NUM ED_BASE+613L
  361. #define ED_TRANSBASIC_SETTIMER_EVENT ED_BASE+614L
  362. #define ED_TRANSBASIC_SETTIMER_STARTDAY ED_BASE+615L
  363. #define ED_TRANSBASIC_SETTIMER_STARTTIME ED_BASE+616L
  364. #define ED_TRANSBASIC_SETTIMER_STOPDAY ED_BASE+617L
  365. #define ED_TRANSBASIC_SETTIMER_STOPTIME ED_BASE+618L
  366. // IAMExtTransport video parameters
  367. #define ED_TRANSVIDEO_SET_OUTPUT ED_BASE+630L // can be one of the following:
  368. #define ED_E2E ED_BASE+631L
  369. #define ED_PLAYBACK ED_BASE+632L
  370. #define ED_OFF ED_BASE+633L
  371. #define ED_TRANSVIDEO_SET_SOURCE ED_BASE+634L
  372. // IAMExtTransport audio parameters
  373. #define ED_TRANSAUDIO_ENABLE_OUTPUT ED_BASE+640L // can be the following:
  374. #define ED_AUDIO_ALL 0x10000000 // or any of the following OR'd together
  375. #define ED_AUDIO_1 0x0000001L
  376. #define ED_AUDIO_2 0x0000002L
  377. #define ED_AUDIO_3 0x0000004L
  378. #define ED_AUDIO_4 0x0000008L
  379. #define ED_AUDIO_5 0x0000010L
  380. #define ED_AUDIO_6 0x0000020L
  381. #define ED_AUDIO_7 0x0000040L
  382. #define ED_AUDIO_8 0x0000080L
  383. #define ED_AUDIO_9 0x0000100L
  384. #define ED_AUDIO_10 0x0000200L
  385. #define ED_AUDIO_11 0x0000400L
  386. #define ED_AUDIO_12 0x0000800L
  387. #define ED_AUDIO_13 0x0001000L
  388. #define ED_AUDIO_14 0x0002000L
  389. #define ED_AUDIO_15 0x0004000L
  390. #define ED_AUDIO_16 0x0008000L
  391. #define ED_AUDIO_17 0x0010000L
  392. #define ED_AUDIO_18 0x0020000L
  393. #define ED_AUDIO_19 0x0040000L
  394. #define ED_AUDIO_20 0x0080000L
  395. #define ED_AUDIO_21 0x0100000L
  396. #define ED_AUDIO_22 0x0200000L
  397. #define ED_AUDIO_23 0x0400000L
  398. #define ED_AUDIO_24 0x0800000L
  399. #define ED_VIDEO 0x2000000L // for Edit props below
  400. #define ED_TRANSAUDIO_ENABLE_RECORD ED_BASE+642L
  401. #define ED_TRANSAUDIO_ENABLE_SELSYNC ED_BASE+643L
  402. #define ED_TRANSAUDIO_SET_SOURCE ED_BASE+644L
  403. #define ED_TRANSAUDIO_SET_MONITOR ED_BASE+645L
  404. // Edit Property Set-related defs
  405. // The following values reflect (and control) the state of an
  406. // edit property set
  407. #define ED_INVALID ED_BASE+652L
  408. #define ED_EXECUTING ED_BASE+653L
  409. #define ED_REGISTER ED_BASE+654L
  410. #define ED_DELETE ED_BASE+655L
  411. // Edit property set parameters and values
  412. #define ED_EDIT_HEVENT ED_BASE+656L // event handle to signal event
  413. // completion
  414. #define ED_EDIT_TEST ED_BASE+657L // returns OAFALSE if filter thinks
  415. // edit can be done, OATRUE if not
  416. #define ED_EDIT_IMMEDIATE ED_BASE+658L // OATRUE means start put the
  417. // device into edit mode (editing
  418. // "on the fly") immediately upon
  419. // execution of Mode(ED_MODE_EDIT_CUE)
  420. #define ED_EDIT_MODE ED_BASE+659L
  421. // can be one of the following values:
  422. #define ED_EDIT_MODE_ASSEMBLE ED_BASE+660L
  423. #define ED_EDIT_MODE_INSERT ED_BASE+661L
  424. #define ED_EDIT_MODE_CRASH_RECORD ED_BASE+662L
  425. #define ED_EDIT_MODE_BOOKMARK_TIME ED_BASE+663L // these two are for
  426. #define ED_EDIT_MODE_BOOKMARK_CHAPTER ED_BASE+664L // laserdisks
  427. #define ED_EDIT_MASTER ED_BASE+666L // OATRUE causes device
  428. // not to synchronize
  429. #define ED_EDIT_TRACK ED_BASE+667L
  430. // can be one of the following possible OR'd values:
  431. // ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
  432. #define ED_EDIT_SRC_INPOINT ED_BASE+668L // in current time format
  433. #define ED_EDIT_SRC_OUTPOINT ED_BASE+669L // in current time format
  434. #define ED_EDIT_REC_INPOINT ED_BASE+670L // in current time format
  435. #define ED_EDIT_REC_OUTPOINT ED_BASE+671L // in current time format
  436. #define ED_EDIT_REHEARSE_MODE ED_BASE+672L
  437. // can be one of the following possible values:
  438. #define ED_EDIT_BVB ED_BASE+673L // means rehearse the edit with
  439. // "black-video-black"
  440. #define ED_EDIT_VBV ED_BASE+674L
  441. #define ED_EDIT_VVV ED_BASE+675L
  442. #define ED_EDIT_PERFORM ED_BASE+676L // means perform the edit with no
  443. // rehearsal.
  444. // Set this property to OATRUE to kill the edit if in progress
  445. #define ED_EDIT_ABORT ED_BASE+677L
  446. // how long to wait for edit to complete
  447. #define ED_EDIT_TIMEOUT ED_BASE+678L // in current time format
  448. // This property causes the device to seek to a point specified by
  449. // ED_EDIT_SEEK_MODE (see below). NOTE: Only one event at a time can seek.
  450. #define ED_EDIT_SEEK ED_BASE+679L // OATRUE means do it now.
  451. #define ED_EDIT_SEEK_MODE ED_BASE+680L
  452. //possible values:
  453. #define ED_EDIT_SEEK_EDIT_IN ED_BASE+681L // seek to edit's inpoint
  454. #define ED_EDIT_SEEK_EDIT_OUT ED_BASE+682L // seek to edit's outpoint
  455. #define ED_EDIT_SEEK_PREROLL ED_BASE+683L // seek to edit's
  456. // inpoint-preroll
  457. #define ED_EDIT_SEEK_PREROLL_CT ED_BASE+684L // seek to preroll point
  458. // using control track (used for tapes with
  459. // discontinuoustimecode before edit point: seek
  460. // to inpoint using timecode, then backup to
  461. // preroll point using control track)
  462. #define ED_EDIT_SEEK_BOOKMARK ED_BASE+685L // seek to bookmark (just like
  463. // timecode search)
  464. // This property is used for multiple-VCR systems where each machine must
  465. // cue to a different location relative to the graph's reference clock. The
  466. // basic idea is that an edit event is setup with an ED_EDIT_OFFSET property
  467. // that tells the VCR what offset to maintain between it's timecode (converted
  468. // to reference clock units) and the reference clock.
  469. #define ED_EDIT_OFFSET ED_BASE+686L // in current time format
  470. #define ED_EDIT_PREREAD ED_BASE+815L // OATRUE means device supports
  471. // pre-read (recorder can also be
  472. // player
  473. //
  474. // Some error codes:
  475. //
  476. // device could be in local mode
  477. #define ED_ERR_DEVICE_NOT_READY ED_BASE+700L
  478. // **************************************************
  479. //
  480. // New constants
  481. //
  482. // **************************************************
  483. //
  484. // Additional Device type
  485. //
  486. #define ED_DEVTYPE_CAMERA ED_BASE+900L
  487. #define ED_DEVTYPE_TUNER ED_BASE+901L
  488. #define ED_DEVTYPE_DVHS ED_BASE+902L // Digital VHS
  489. #define ED_DEVTYPE_UNKNOWN ED_BASE+903L // Driver cannot determine the device type
  490. #define ED_DEVTYPE_CAMERA_STORAGE ED_BASE+1034L // Storage for digital still images, short video files, etc.
  491. #define ED_DEVTYPE_DTV ED_BASE+1035L // DTV with serial bus interface
  492. #define ED_DEVTYPE_PC_VIRTUAL ED_BASE+1036L // Emulated device (virtual) on a PC
  493. //
  494. // Unknownn capability
  495. // Instead of return E_NOTIMPL, or S_OK with OAFALSE, it may return S_OK with _UNKNOWN
  496. //
  497. #define ED_CAPABILITY_UNKNOWN ED_BASE+910L
  498. //
  499. // Send raw 1394/AVC extenal device command via GetTransportBasicParameters()
  500. // This is specifically for a 1394 AVC device connected with DEV_PORT_1394.
  501. //
  502. #define ED_RAW_EXT_DEV_CMD ED_BASE+920L
  503. //
  504. // MEDIUM INFO
  505. //
  506. #define ED_MEDIA_VHSC ED_BASE+925L // New media type
  507. #define ED_MEDIA_UNKNOWN ED_BASE+926L // Unknown media
  508. #define ED_MEDIA_NOT_PRESENT ED_BASE+927L
  509. //
  510. // Device Control command that can result in pending state.
  511. //
  512. #define ED_CONTROL_HEVENT_GET ED_BASE+928L // To get a sychronous event handle
  513. #define ED_CONTROL_HEVENT_RELEASE ED_BASE+929L // To release sychronous event handle must match what it got
  514. #define ED_DEV_REMOVED_HEVENT_GET ED_BASE+960L // To be a notify event and will be signal if device is removed.
  515. #define ED_DEV_REMOVED_HEVENT_RELEASE ED_BASE+961L // Release this event handle
  516. //
  517. // TRANSPORT STATE
  518. //
  519. #define ED_NOTIFY_HEVENT_GET ED_BASE+930L // To get a sychronous event handle
  520. #define ED_NOTIFY_HEVENT_RELEASE ED_BASE+931L // To release sychronous event handle must match what it got
  521. #define ED_MODE_CHANGE_NOTIFY ED_BASE+932L // This is asynchronous operation, wait for event.
  522. #define ED_MODE_PLAY_FASTEST_FWD ED_BASE+933L
  523. #define ED_MODE_PLAY_SLOWEST_FWD ED_BASE+934L
  524. #define ED_MODE_PLAY_FASTEST_REV ED_BASE+935L
  525. #define ED_MODE_PLAY_SLOWEST_REV ED_BASE+936L
  526. #define ED_MODE_WIND ED_BASE+937L
  527. #define ED_MODE_REW_FASTEST ED_BASE+938L // High speed rewind
  528. #define ED_MODE_REV_PLAY ED_BASE+939L // x1 speed reverse play
  529. //
  530. // Additional play modes (added post Windows XP)
  531. //
  532. #define ED_MODE_PLAY_SLOW_FWD_6 ED_BASE+1001L // Slow forward
  533. #define ED_MODE_PLAY_SLOW_FWD_5 ED_BASE+1002L
  534. #define ED_MODE_PLAY_SLOW_FWD_4 ED_BASE+1003L
  535. #define ED_MODE_PLAY_SLOW_FWD_3 ED_BASE+1004L
  536. #define ED_MODE_PLAY_SLOW_FWD_2 ED_BASE+1005L
  537. #define ED_MODE_PLAY_SLOW_FWD_1 ED_BASE+1006L
  538. #define ED_MODE_PLAY_FAST_FWD_1 ED_BASE+1007L // Fast forward
  539. #define ED_MODE_PLAY_FAST_FWD_2 ED_BASE+1008L
  540. #define ED_MODE_PLAY_FAST_FWD_3 ED_BASE+1009L
  541. #define ED_MODE_PLAY_FAST_FWD_4 ED_BASE+1010L
  542. #define ED_MODE_PLAY_FAST_FWD_5 ED_BASE+1011L
  543. #define ED_MODE_PLAY_FAST_FWD_6 ED_BASE+1012L
  544. #define ED_MODE_PLAY_SLOW_REV_6 ED_BASE+1013L // Slow reverse
  545. #define ED_MODE_PLAY_SLOW_REV_5 ED_BASE+1014L
  546. #define ED_MODE_PLAY_SLOW_REV_4 ED_BASE+1015L
  547. #define ED_MODE_PLAY_SLOW_REV_3 ED_BASE+1016L
  548. #define ED_MODE_PLAY_SLOW_REV_2 ED_BASE+1017L
  549. #define ED_MODE_PLAY_SLOW_REV_1 ED_BASE+1018L
  550. #define ED_MODE_PLAY_FAST_REV_1 ED_BASE+1019L // Fast reverse
  551. #define ED_MODE_PLAY_FAST_REV_2 ED_BASE+1020L
  552. #define ED_MODE_PLAY_FAST_REV_3 ED_BASE+1021L
  553. #define ED_MODE_PLAY_FAST_REV_4 ED_BASE+1022L
  554. #define ED_MODE_PLAY_FAST_REV_5 ED_BASE+1023L
  555. #define ED_MODE_PLAY_FAST_REV_6 ED_BASE+1024L
  556. #define ED_MODE_REVERSE ED_MODE_REV_PLAY // Same as Reverse playback
  557. #define ED_MODE_REVERSE_FREEZE ED_BASE+1025L // Pause at reverse playback
  558. #define ED_MODE_PLAY_SLOW_FWD_X ED_BASE+1026L // Possible response for a trick play
  559. #define ED_MODE_PLAY_FAST_FWD_X ED_BASE+1027L // Possible response for a trick play
  560. #define ED_MODE_PLAY_SLOW_REV_X ED_BASE+1028L // Possible response for a trick play
  561. #define ED_MODE_PLAY_FAST_REV_X ED_BASE+1029L // Possible response for a trick play
  562. #define ED_MODE_STOP_START ED_BASE+1030L // Indicate stopping at the begin of a tape
  563. #define ED_MODE_STOP_END ED_BASE+1031L // Indicate stopping at the end of a tape
  564. #define ED_MODE_STOP_EMERGENCY ED_BASE+1032L // Indicate stopping due to an emergency
  565. //
  566. // TRANSPOSRTBASIC: input and output signal
  567. //
  568. #define ED_TRANSBASIC_INPUT_SIGNAL ED_BASE+940L
  569. #define ED_TRANSBASIC_OUTPUT_SIGNAL ED_BASE+941L
  570. #define ED_TRANSBASIC_SIGNAL_525_60_SD ED_BASE+942L
  571. #define ED_TRANSBASIC_SIGNAL_525_60_SDL ED_BASE+943L
  572. #define ED_TRANSBASIC_SIGNAL_625_50_SD ED_BASE+944L
  573. #define ED_TRANSBASIC_SIGNAL_625_50_SDL ED_BASE+945L
  574. #define ED_TRANSBASIC_SIGNAL_625_60_HD ED_BASE+947L
  575. #define ED_TRANSBASIC_SIGNAL_625_50_HD ED_BASE+948L
  576. #define ED_TRANSBASIC_SIGNAL_MPEG2TS ED_BASE+946L
  577. #define ED_TRANSBASIC_SIGNAL_2500_60_MPEG ED_BASE+980L
  578. #define ED_TRANSBASIC_SIGNAL_1250_60_MPEG ED_BASE+981L
  579. #define ED_TRANSBASIC_SIGNAL_0625_60_MPEG ED_BASE+982L
  580. #define ED_TRANSBASIC_SIGNAL_2500_50_MPEG ED_BASE+985L
  581. #define ED_TRANSBASIC_SIGNAL_1250_50_MPEG ED_BASE+986L
  582. #define ED_TRANSBASIC_SIGNAL_0625_50_MPEG ED_BASE+987L
  583. #define ED_TRANSBASIC_SIGNAL_UNKNOWN ED_BASE+990L
  584. #define ED_TRANSBASIC_SIGNAL_525_60_DV25 ED_BASE+991L
  585. #define ED_TRANSBASIC_SIGNAL_625_50_DV25 ED_BASE+992L
  586. #define ED_TRANSBASIC_SIGNAL_525_60_DV50 ED_BASE+993L
  587. #define ED_TRANSBASIC_SIGNAL_625_50_DV50 ED_BASE+994L
  588. #define ED_TRANSBASIC_SIGNAL_HD_60_DVH1 ED_BASE+995L // DVCPRO 100: 1080i or 720p
  589. #define ED_TRANSBASIC_SIGNAL_HD_50_DVH1 ED_BASE+996L // DVCPRO 100: 1080i only
  590. //
  591. // TIMECODE/AbsoluteTrackNumber/RealTimeCounter read/seek/write
  592. //
  593. #define ED_DEVCAP_TIMECODE_SEEK ED_BASE+950L
  594. #define ED_DEVCAP_ATN_READ ED_BASE+951L
  595. #define ED_DEVCAP_ATN_SEEK ED_BASE+952L
  596. #define ED_DEVCAP_ATN_WRITE ED_BASE+953L
  597. #define ED_DEVCAP_RTC_READ ED_BASE+954L
  598. #define ED_DEVCAP_RTC_SEEK ED_BASE+955L
  599. #define ED_DEVCAP_RTC_WRITE ED_BASE+956L
  600. //
  601. // Basic parameter
  602. //
  603. #define ED_TIMEREF_ATN ED_BASE+958L
  604. //
  605. // GUID used to identify a class driver
  606. //
  607. #ifndef OUR_GUID_ENTRY
  608. #define OUR_GUID_ENTRY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
  609. DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
  610. #endif
  611. // 8C0F6AF2-0EDB-44c1-8AEB-59040BD830ED MSTapeDeviceGUID
  612. OUR_GUID_ENTRY(MSTapeDeviceGUID,
  613. 0x8C0F6AF2, 0x0EDB, 0x44c1, 0x8A, 0xEB, 0x59, 0x04, 0x0B, 0xD8, 0x30, 0xED)
  614. #endif // __XPRTDEFS__
  615. // eof XPrtDefs.h