-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfeedbacks.js
128 lines (127 loc) · 3.73 KB
/
feedbacks.js
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
const { combineRgb } = require('@companion-module/base')
module.exports = async function (self) {
self.setFeedbackDefinitions({
moduledisabled: {
name: 'Module Disabled',
type: 'boolean',
label: 'Module Disabled',
defaultStyle: {
bgcolor: combineRgb(255, 0, 0),
color: combineRgb(0, 0, 0),
},
options: [
{
id: 'module',
type: 'dropdown',
label: 'Select module',
choices: [
{ id: 'playlist', label: 'Playlist' },
{ id: 'timeline', label: 'Timeline' },
{ id: 'tc1', label: 'Timecode Cue List Layer 1' },
{ id: 'tc2', label: 'Timecode Cue List Layer 2' },
{ id: 'scheduler', label: 'Scheduler' },
{ id: 'timeline', label: 'Timeline' },
{ id: 'screenberry', label: 'Screenberry Mapping' },
{ id: 'vioso', label: 'Vioso Mapping' },
{ id: 'screenberrycal', label: 'Screenberry Calibration Mode' },
{ id: 'viosocal', label: 'Vioso Calibration Mode' },
],
default: 'playlist',
},
],
callback: (feedback) => {
if (
!self.blade.playlist ||
!self.blade.timeline ||
!self.blade.timecode ||
!self.blade.schedule ||
!self.blade.vioso ||
!self.blade.screenberry
) {
return true
}
switch (feedback.options.module) {
case 'playlist':
return self.blade.playlist.usePlayList === 0
case 'timeline':
return self.blade.timeline.useTimeline === 0
case 'tc1':
return self.blade.timecode.layers[0].useCueList === 0
case 'tc2':
return self.blade.timecode.layers[1].useCueList === 0
case 'scheduler':
return self.blade.schedule.useSchedule === 0
case 'screenberry':
return self.blade.screenberry.enabled === 0
case 'vioso':
return self.blade.vioso.enabled === 0
case 'screenberrycal':
return self.blade.screenberry.calibrationMode === 0
case 'viosocal':
return self.blade.vioso.calibrationMode === 0
}
},
},
moduleenabled: {
name: 'Module Enabled',
type: 'boolean',
label: 'Module Enabled',
defaultStyle: {
bgcolor: combineRgb(0, 255, 0),
color: combineRgb(0, 0, 0),
},
options: [
{
id: 'module',
type: 'dropdown',
label: 'Select module',
choices: [
{ id: 'playlist', label: 'Playlist' },
{ id: 'timeline', label: 'Timeline' },
{ id: 'tc1', label: 'Timecode Cue List Layer 1' },
{ id: 'tc2', label: 'Timecode Cue List Layer 2' },
{ id: 'scheduler', label: 'Scheduler' },
{ id: 'timeline', label: 'Timeline' },
{ id: 'screenberry', label: 'Screenberry Mapping' },
{ id: 'vioso', label: 'Vioso Mapping' },
{ id: 'screenberrycal', label: 'Screenberry Calibration Mode' },
{ id: 'viosocal', label: 'Vioso Calibration Mode' },
],
default: 'playlist',
},
],
callback: (feedback) => {
if (
!self.blade.playlist ||
!self.blade.timeline ||
!self.blade.timecode ||
!self.blade.schedule ||
!self.blade.vioso ||
!self.blade.screenberry
) {
return false
}
switch (feedback.options.module) {
case 'playlist':
return self.blade.playlist.usePlayList === 1
case 'timeline':
return self.blade.timeline.useTimeline === 1
case 'tc1':
return self.blade.timecode.layers[0].useCueList === 1
case 'tc2':
return self.blade.timecode.layers[1].useCueList === 1
case 'scheduler':
return self.blade.schedule.useSchedule === 1
case 'screenberry':
return self.blade.screenberry.enabled === 1
case 'vioso':
return self.blade.vioso.enabled === 1
case 'screenberrycal':
return self.blade.screenberry.calibrationMode === 1
case 'viosocal':
return self.blade.vioso.calibrationMode === 1
}
},
},
})
}