-
Notifications
You must be signed in to change notification settings - Fork 36
/
index.ts
109 lines (94 loc) · 2.67 KB
/
index.ts
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
import * as Enum from '../../enums'
import * as USK from './upstreamKeyers'
import * as DSK from './downstreamKeyers'
import * as SuperSource from './superSource'
export { USK, DSK, SuperSource }
export interface DipTransitionSettings {
rate: number
input: number
}
export interface DVETransitionSettings {
rate: number
logoRate: number
style: Enum.DVEEffect
fillSource: number
keySource: number
enableKey: boolean
preMultiplied: boolean
clip: number
gain: number
invertKey: boolean
reverse: boolean
flipFlop: boolean
}
export interface MixTransitionSettings {
rate: number // 0...250
}
export interface StingerTransitionSettings {
source: number
preMultipliedKey: boolean
clip: number
gain: number // 0...1000
invert: boolean
preroll: number
clipDuration: number
triggerPoint: number
mixRate: number
}
export interface WipeTransitionSettings {
rate: number
pattern: number
borderWidth: number
borderInput: number
symmetry: number
borderSoftness: number
xPosition: number
yPosition: number
reverseDirection: boolean
flipFlop: boolean
}
export interface TransitionProperties {
/** If in a transition, this is the style of the running transition. If no transition is active it will mirror nextStyle */
readonly style: Enum.TransitionStyle
/** If in a transition, this is the selection of the running transition. If no transition is active it will mirror nextSelection */
readonly selection: Enum.TransitionSelection[]
/** The style for the next transition */
nextStyle: Enum.TransitionStyle
/** The selection for the next transition */
nextSelection: Enum.TransitionSelection[]
}
export interface TransitionSettings {
dip?: DipTransitionSettings
DVE?: DVETransitionSettings
mix?: MixTransitionSettings
stinger?: StingerTransitionSettings
wipe?: WipeTransitionSettings
}
export interface TransitionPosition {
readonly inTransition: boolean
readonly remainingFrames: number
handlePosition: number
}
export interface MixEffect {
readonly index: number
programInput: number
previewInput: number
transitionPreview: boolean
fadeToBlack?: FadeToBlackProperties
transitionPosition: TransitionPosition
transitionProperties: TransitionProperties
transitionSettings: TransitionSettings
readonly upstreamKeyers: Array<USK.UpstreamKeyer | undefined>
}
export interface FadeToBlackProperties {
readonly isFullyBlack: boolean
readonly inTransition: boolean
readonly remainingFrames: number
rate: number
}
export interface AtemVideoState {
readonly mixEffects: Array<MixEffect | undefined>
readonly downstreamKeyers: Array<DSK.DownstreamKeyer | undefined>
readonly auxilliaries: Array<number | undefined>
readonly superSources: Array<SuperSource.SuperSource | undefined>
}