summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/edevdefs.h
blob: 16af462d8ff216fed9e91c1626f16e56a18fedb0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
//------------------------------------------------------------------------------
// 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’s 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’s 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’s input on its output
#define ED_TRANSCAP_CAN_SET_PB          ED_BASE+104L    // show media playback on device’s 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’s 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
                                                // OAFALSE=white on black
//  IAMExtTransport defines
//
// Transport status, params and values
//

// IAMExtTransport Status items and and values:
#define ED_MODE                 ED_BASE+500L    // see ED_MODE_xxx values above
#define ED_ERROR                ED_BASE+501L
#define ED_LOCAL                ED_BASE+502L
#define ED_RECORD_INHIBIT       ED_BASE+503L
#define ED_SERVO_LOCK           ED_BASE+504L
#define ED_MEDIA_PRESENT        ED_BASE+505L
#define ED_MEDIA_LENGTH         ED_BASE+506L
#define ED_MEDIA_SIZE           ED_BASE+507L
#define ED_MEDIA_TRACK_COUNT    ED_BASE+508L
#define ED_MEDIA_TRACK_LENGTH   ED_BASE+509L
#define ED_MEDIA_SIDE           ED_BASE+510L

#define ED_MEDIA_TYPE           ED_BASE+511L    // can be one of the following:
#define ED_MEDIA_VHS            ED_BASE+512L
#define ED_MEDIA_SVHS           ED_BASE+513L
#define ED_MEDIA_HI8            ED_BASE+514L
#define ED_MEDIA_UMATIC         ED_BASE+515L
#define ED_MEDIA_DVC            ED_BASE+516L
#define ED_MEDIA_1_INCH         ED_BASE+517L
#define ED_MEDIA_D1             ED_BASE+518L
#define ED_MEDIA_D2             ED_BASE+519L
#define ED_MEDIA_D3             ED_BASE+520L
#define ED_MEDIA_D5             ED_BASE+521L
#define ED_MEDIA_DBETA          ED_BASE+522L
#define ED_MEDIA_BETA           ED_BASE+523L
#define ED_MEDIA_8MM            ED_BASE+524L
#define ED_MEDIA_DDR            ED_BASE+525L
#define ED_MEDIA_SX             ED_BASE+813L
#define ED_MEDIA_OTHER          ED_BASE+526L
#define ED_MEDIA_CLV            ED_BASE+527L
#define ED_MEDIA_CAV            ED_BASE+528L
#define ED_MEDIA_POSITION       ED_BASE+529L

#define ED_LINK_MODE            ED_BASE+530L    // OATRUE if transport controls
                                                // are linked to graph's RUN, 
                                                // STOP, and PAUSE methods

// IAMExtTransport Basic Parms
#define ED_TRANSBASIC_TIME_FORMAT   ED_BASE+540L    // can be one of the following:
#define ED_FORMAT_MILLISECONDS      ED_BASE+541L
#define ED_FORMAT_FRAMES            ED_BASE+542L
#define ED_FORMAT_REFERENCE_TIME    ED_BASE+543L

#define ED_FORMAT_HMSF              ED_BASE+547L
#define ED_FORMAT_TMSF              ED_BASE+548L

#define ED_TRANSBASIC_TIME_REFERENCE    ED_BASE+549L    // can be one of the following:
#define ED_TIMEREF_TIMECODE         ED_BASE+550L
#define ED_TIMEREF_CONTROL_TRACK    ED_BASE+551L
#define ED_TIMEREF_INDEX            ED_BASE+552L

#define ED_TRANSBASIC_SUPERIMPOSE       ED_BASE+553L    // enable/disable onscreen display
#define ED_TRANSBASIC_END_STOP_ACTION   ED_BASE+554L    // can be one of: ED_MODE_STOP |
                                                        //  ED_MODE_REWIND | ED_MODE_FREEZE
#define ED_TRANSBASIC_RECORD_FORMAT ED_BASE+555L    // can be one of the following:
#define ED_RECORD_FORMAT_SP         ED_BASE+556L
#define ED_RECORD_FORMAT_LP         ED_BASE+557L
#define ED_RECORD_FORMAT_EP         ED_BASE+558L

#define ED_TRANSBASIC_STEP_COUNT    ED_BASE+559L
#define ED_TRANSBASIC_STEP_UNIT     ED_BASE+560L    // can be one of the following:
#define ED_STEP_FIELD               ED_BASE+561L
#define ED_STEP_FRAME               ED_BASE+562L
#define ED_STEP_3_2                 ED_BASE+563L

#define ED_TRANSBASIC_PREROLL       ED_BASE+564L
#define ED_TRANSBASIC_RECPREROLL    ED_BASE+565L
#define ED_TRANSBASIC_POSTROLL      ED_BASE+566L
#define ED_TRANSBASIC_EDIT_DELAY    ED_BASE+567L
#define ED_TRANSBASIC_PLAYTC_DELAY  ED_BASE+568L
#define ED_TRANSBASIC_RECTC_DELAY   ED_BASE+569L
#define ED_TRANSBASIC_EDIT_FIELD    ED_BASE+570L
#define ED_TRANSBASIC_FRAME_SERVO   ED_BASE+571L
#define ED_TRANSBASIC_CF_SERVO      ED_BASE+572L
#define ED_TRANSBASIC_SERVO_REF     ED_BASE+573L    // can be one of the following:
#define ED_REF_EXTERNAL             ED_BASE+574L
#define ED_REF_INPUT                ED_BASE+575L
#define ED_REF_INTERNAL             ED_BASE+576L
#define ED_REF_AUTO                 ED_BASE+577L

#define ED_TRANSBASIC_WARN_GL       ED_BASE+578L
#define ED_TRANSBASIC_SET_TRACKING  ED_BASE+579L    // can be one of the following:
#define ED_TRACKING_PLUS            ED_BASE+580L
#define ED_TRACKING_MINUS           ED_BASE+581L
#define ED_TRACKING_RESET           ED_BASE+582L

#define ED_TRANSBASIC_SET_FREEZE_TIMEOUT    ED_BASE+583L
#define ED_TRANSBASIC_VOLUME_NAME       ED_BASE+584L
#define ED_TRANSBASIC_BALLISTIC_1       ED_BASE+585L    // space for proprietary data
#define ED_TRANSBASIC_BALLISTIC_2       ED_BASE+586L
#define ED_TRANSBASIC_BALLISTIC_3       ED_BASE+587L
#define ED_TRANSBASIC_BALLISTIC_4       ED_BASE+588L
#define ED_TRANSBASIC_BALLISTIC_5       ED_BASE+589L
#define ED_TRANSBASIC_BALLISTIC_6       ED_BASE+590L
#define ED_TRANSBASIC_BALLISTIC_7       ED_BASE+591L
#define ED_TRANSBASIC_BALLISTIC_8       ED_BASE+592L
#define ED_TRANSBASIC_BALLISTIC_9       ED_BASE+593L
#define ED_TRANSBASIC_BALLISTIC_10      ED_BASE+594L
#define ED_TRANSBASIC_BALLISTIC_11      ED_BASE+595L
#define ED_TRANSBASIC_BALLISTIC_12      ED_BASE+596L
#define ED_TRANSBASIC_BALLISTIC_13      ED_BASE+597L
#define ED_TRANSBASIC_BALLISTIC_14      ED_BASE+598L
#define ED_TRANSBASIC_BALLISTIC_15      ED_BASE+599L
#define ED_TRANSBASIC_BALLISTIC_16      ED_BASE+600L
#define ED_TRANSBASIC_BALLISTIC_17      ED_BASE+601L
#define ED_TRANSBASIC_BALLISTIC_18      ED_BASE+602L
#define ED_TRANSBASIC_BALLISTIC_19      ED_BASE+603L
#define ED_TRANSBASIC_BALLISTIC_20      ED_BASE+604L

// consumer VCR items
#define ED_TRANSBASIC_SETCLOCK          ED_BASE+605L
#define ED_TRANSBASIC_SET_COUNTER_FORMAT    ED_BASE+606L    // uses time format flags
#define ED_TRANSBASIC_SET_COUNTER_VALUE ED_BASE+607L

#define ED_TRANSBASIC_SETTUNER_CH_UP    ED_BASE+608L
#define ED_TRANSBASIC_SETTUNER_CH_DN    ED_BASE+609L
#define ED_TRANSBASIC_SETTUNER_SK_UP    ED_BASE+610L
#define ED_TRANSBASIC_SETTUNER_SK_DN    ED_BASE+611L
#define ED_TRANSBASIC_SETTUNER_CH       ED_BASE+612L
#define ED_TRANSBASIC_SETTUNER_NUM      ED_BASE+613L

#define ED_TRANSBASIC_SETTIMER_EVENT    ED_BASE+614L
#define ED_TRANSBASIC_SETTIMER_STARTDAY ED_BASE+615L
#define ED_TRANSBASIC_SETTIMER_STARTTIME    ED_BASE+616L
#define ED_TRANSBASIC_SETTIMER_STOPDAY  ED_BASE+617L
#define ED_TRANSBASIC_SETTIMER_STOPTIME ED_BASE+618L

// IAMExtTransport video parameters
#define ED_TRANSVIDEO_SET_OUTPUT    ED_BASE+630L    // can be one of the following:
#define ED_E2E                      ED_BASE+631L
#define ED_PLAYBACK                 ED_BASE+632L
#define ED_OFF                      ED_BASE+633L

#define ED_TRANSVIDEO_SET_SOURCE    ED_BASE+634L

// IAMExtTransport audio parameters
#define ED_TRANSAUDIO_ENABLE_OUTPUT ED_BASE+640L    // can be the following:
#define ED_AUDIO_ALL                0x10000000      //  or any of the following OR'd together
#define ED_AUDIO_1                  0x0000001L
#define ED_AUDIO_2                  0x0000002L
#define ED_AUDIO_3                  0x0000004L
#define ED_AUDIO_4                  0x0000008L
#define ED_AUDIO_5                  0x0000010L
#define ED_AUDIO_6                  0x0000020L
#define ED_AUDIO_7                  0x0000040L
#define ED_AUDIO_8                  0x0000080L
#define ED_AUDIO_9                  0x0000100L
#define ED_AUDIO_10                 0x0000200L
#define ED_AUDIO_11                 0x0000400L
#define ED_AUDIO_12                 0x0000800L
#define ED_AUDIO_13                 0x0001000L
#define ED_AUDIO_14                 0x0002000L
#define ED_AUDIO_15                 0x0004000L
#define ED_AUDIO_16                 0x0008000L
#define ED_AUDIO_17                 0x0010000L
#define ED_AUDIO_18                 0x0020000L
#define ED_AUDIO_19                 0x0040000L
#define ED_AUDIO_20                 0x0080000L
#define ED_AUDIO_21                 0x0100000L
#define ED_AUDIO_22                 0x0200000L
#define ED_AUDIO_23                 0x0400000L
#define ED_AUDIO_24                 0x0800000L
#define ED_VIDEO                    0x2000000L  // for Edit props below

#define ED_TRANSAUDIO_ENABLE_RECORD     ED_BASE+642L
#define ED_TRANSAUDIO_ENABLE_SELSYNC    ED_BASE+643L
#define ED_TRANSAUDIO_SET_SOURCE        ED_BASE+644L
#define ED_TRANSAUDIO_SET_MONITOR       ED_BASE+645L


// Edit Property Set-related defs

// The following values reflect (and control) the state of an 
// edit property set
#define ED_INVALID      ED_BASE+652L
#define ED_EXECUTING    ED_BASE+653L
#define ED_REGISTER     ED_BASE+654L
#define ED_DELETE       ED_BASE+655L

// Edit property set parameters and values
#define ED_EDIT_HEVENT  ED_BASE+656L    // event handle to signal event 
                                        // completion
#define ED_EDIT_TEST    ED_BASE+657L    // returns OAFALSE if filter thinks
                                        //  edit can be done, OATRUE if not
#define ED_EDIT_IMMEDIATE   ED_BASE+658L    // OATRUE means start put the 
                                        // device into edit mode (editing
                                        // "on the fly") immediately upon
                                        //  execution of Mode(ED_MODE_EDIT_CUE)
#define ED_EDIT_MODE    ED_BASE+659L
// can be one of the following values:
#define ED_EDIT_MODE_ASSEMBLE       ED_BASE+660L
#define ED_EDIT_MODE_INSERT         ED_BASE+661L
#define ED_EDIT_MODE_CRASH_RECORD   ED_BASE+662L
#define ED_EDIT_MODE_BOOKMARK_TIME  ED_BASE+663L        // these two are for
#define ED_EDIT_MODE_BOOKMARK_CHAPTER   ED_BASE+664L    // laserdisks

#define ED_EDIT_MASTER  ED_BASE+666L    // OATRUE causes device 
                                        //  not to synchronize

#define ED_EDIT_TRACK       ED_BASE+667L
// can be one of the following possible OR'd values:
//  ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)

#define ED_EDIT_SRC_INPOINT     ED_BASE+668L    // in current time format
#define ED_EDIT_SRC_OUTPOINT    ED_BASE+669L    // in current time format
#define ED_EDIT_REC_INPOINT     ED_BASE+670L    // in current time format
#define ED_EDIT_REC_OUTPOINT    ED_BASE+671L    // in current time format

#define ED_EDIT_REHEARSE_MODE   ED_BASE+672L
// can be one of the following possible values:
#define ED_EDIT_BVB     ED_BASE+673L    // means rehearse the edit with 
                                        //  "black-video-black"
#define ED_EDIT_VBV     ED_BASE+674L
#define ED_EDIT_VVV     ED_BASE+675L
#define ED_EDIT_PERFORM ED_BASE+676L    // means perform the edit with no 
                                        //  rehearsal.

// Set this property to OATRUE to kill the edit if in progress
#define ED_EDIT_ABORT   ED_BASE+677L
// how long to wait for edit to complete
#define ED_EDIT_TIMEOUT ED_BASE+678L        // 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.
#define ED_EDIT_SEEK        ED_BASE+679L    // OATRUE means do it now.  
#define ED_EDIT_SEEK_MODE   ED_BASE+680L
//possible values:
#define ED_EDIT_SEEK_EDIT_IN    ED_BASE+681L    // seek to edit's inpoint
#define ED_EDIT_SEEK_EDIT_OUT   ED_BASE+682L    // seek to edit's outpoint
#define ED_EDIT_SEEK_PREROLL    ED_BASE+683L    // seek to edit's 
                                                //  inpoint-preroll
#define ED_EDIT_SEEK_PREROLL_CT ED_BASE+684L    // 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)
#define ED_EDIT_SEEK_BOOKMARK   ED_BASE+685L    // 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.
#define ED_EDIT_OFFSET  ED_BASE+686L        // in current time format

#define ED_EDIT_PREREAD ED_BASE+815L        // OATRUE means device supports
                                            //  pre-read (recorder can also be
                                            //  player

//
// Some error codes:
// 
// device could be in local mode
#define ED_ERR_DEVICE_NOT_READY     ED_BASE+700L

#endif // __EDEVDEFS__

// eof edevdefs.h