-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathaction.proto
457 lines (404 loc) · 12.4 KB
/
action.proto
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
syntax = "proto3";
package rv.data;
import "background.proto";
import "collectionElementType.proto";
import "color.proto";
import "effects.proto";
import "graphicsData.proto";
import "input.proto";
import "intRange.proto";
import "layers.proto";
import "messages.proto";
import "propSlide.proto";
import "presentationSlide.proto";
import "stage.proto";
import "timers.proto";
import "url.proto";
import "uuid.proto";
message Action {
rv.data.UUID uuid = 1;
string name = 2;
rv.data.Action.Label label = 3;
double delay_time = 4;
rv.data.Action.OldType old_type = 5;
bool isEnabled = 6;
rv.data.Action.LayerIdentification layer_identification = 7;
double duration = 8;
enum ActionType {
ACTION_TYPE_UNKNOWN = 0;
ACTION_TYPE_STAGE_LAYOUT = 1;
ACTION_TYPE_MEDIA = 2;
ACTION_TYPE_TIMER = 3;
ACTION_TYPE_COMMUNICATION = 4;
ACTION_TYPE_CLEAR = 5;
ACTION_TYPE_PROP = 6;
ACTION_TYPE_MASK = 7;
ACTION_TYPE_MESSAGE = 8;
ACTION_TYPE_SOCIAL_MEDIA = 9;
ACTION_TYPE_MULTISCREEN = 10;
ACTION_TYPE_PRESENTATION_SLIDE = 11;
ACTION_TYPE_FOREGROUND_MEDIA = 12;
ACTION_TYPE_BACKGROUND_MEDIA = 13;
ACTION_TYPE_PRESENTATION_DOCUMENT = 14;
ACTION_TYPE_PROP_SLIDE = 15;
ACTION_TYPE_EXTERNAL_PRESENTATION = 17;
ACTION_TYPE_AUDIENCE_LOOK = 18;
ACTION_TYPE_AUDIO_INPUT = 19;
ACTION_TYPE_AUDIO_BIN_PLAYLIST = 20;
ACTION_TYPE_MEDIA_BIN_PLAYLIST = 21;
ACTION_TYPE_SLIDE_DESTINATION = 22;
ACTION_TYPE_MACRO = 23;
ACTION_TYPE_CLEAR_GROUP = 24;
ACTION_TYPE_CAPTURE = 25;
ACTION_TYPE_LIBRARY_PLAYLIST = 26;
}
ActionType type = 9;
oneof ActionTypeData {
rv.data.CollectionElementType collection_element = 16;
rv.data.Action.PlaylistItemType playlist_item = 17;
rv.data.Action.BlendModeType blend_mode = 18;
rv.data.Action.TransitionType transition = 19;
rv.data.Action.MediaType media = 20;
rv.data.Action.DoubleType double_item = 21;
rv.data.Action.EffectsType effects = 22;
rv.data.Action.SlideType slide = 23;
rv.data.Action.BackgroundType background = 24;
rv.data.Action.TimerType timer = 25;
rv.data.Action.ClearType clear = 26;
rv.data.Action.StageLayoutType stage = 27;
rv.data.Action.PropType prop = 28;
rv.data.Action.MaskType mask = 29;
rv.data.Action.MessageType message = 30;
rv.data.Action.CommunicationType communication = 32;
rv.data.Action.MultiScreenType multi_screen = 33;
rv.data.Action.DocumentType presentation_document = 34;
rv.data.Action.ExternalPresentationType external_presentation = 36;
rv.data.Action.AudienceLookType audience_look = 37;
rv.data.Action.AudioInputType audio_input = 38;
rv.data.Action.SlideDestinationType slide_destination = 39;
rv.data.Action.MacroType macro = 40;
rv.data.Action.ClearGroupType clear_group = 41;
rv.data.Action.TransportControlType transport_control = 42;
rv.data.Action.CaptureType capture = 43;
}
message OldType {
enum Category {
CATEGORY_UNKNOWN = 0;
CATEGORY_MEDIA = 1;
CATEGORY_APPLICATION = 2;
}
Category category = 1;
int32 application_type = 2;
}
message Label {
string text = 2;
rv.data.Color color = 3;
}
message LayerIdentification {
rv.data.UUID uuid = 1;
string name = 2;
}
message PlaylistItemType {
rv.data.UUID playlist_uuid = 1;
string playlist_name = 2;
rv.data.UUID item_uuid = 3;
string item_name = 4;
bool select_playlist = 5;
bool always_retrigger = 6;
}
message BlendModeType {
enum BlendMode {
BLEND_MODE_NORMAL = 0;
BLEND_MODE_DISSOLVE = 1;
BLEND_MODE_DARKEN = 2;
BLEND_MODE_MULTIPLY = 3;
BLEND_MODE_COLOR_BURN = 4;
BLEND_MODE_LINEAR_BURN = 5;
BLEND_MODE_DARKER_COLOR = 6;
BLEND_MODE_LIGHTEN = 7;
BLEND_MODE_SCREEN = 8;
BLEND_MODE_COLOR_DODGE = 9;
BLEND_MODE_LINEAR_DODGE = 10;
BLEND_MODE_LIGHTER_COLOR = 11;
BLEND_MODE_OVERLAY = 12;
BLEND_MODE_SOFT_LIGHT = 13;
BLEND_MODE_HARD_LIGHT = 14;
BLEND_MODE_VIVID_LIGHT = 15;
BLEND_MODE_LINEAR_LIGHT = 16;
BLEND_MODE_PIN_LIGHT = 17;
BLEND_MODE_HARD_MIX = 18;
BLEND_MODE_DIFFERENCE = 19;
BLEND_MODE_EXCLUSION = 20;
BLEND_MODE_SUBTRACT = 21;
BLEND_MODE_DIVIDE = 22;
BLEND_MODE_HUE = 23;
BLEND_MODE_SATURATION = 24;
BLEND_MODE_COLOR = 25;
BLEND_MODE_LUMINOSITY = 26;
}
BlendMode blend_mode = 1;
rv.data.Layer.Blending blend = 2;
}
message TransitionType {
string transition_name = 1;
rv.data.Transition transition = 2;
}
message DoubleType {
double value = 1;
}
message EffectsType {
repeated rv.data.Effect effects = 1;
}
message MediaType {
double transition_duration = 1;
rv.data.UUID selected_effect_preset_uuid = 2;
rv.data.Transition transition = 3;
repeated rv.data.Effect effects = 4;
rv.data.Media element = 5;
enum LayerType {
LAYER_TYPE_BACKGROUND = 0;
LAYER_TYPE_FOREGROUND = 1;
LAYER_TYPE_FILL = 2;
LAYER_TYPE_INPUT = 3;
}
LayerType layer_type = 10;
bool always_retrigger = 11;
repeated rv.data.Action.MediaType.PlaybackMarker markers = 12;
oneof MediaType {
rv.data.Action.MediaType.Image image = 6;
rv.data.Action.MediaType.Video video = 7;
rv.data.Action.MediaType.Audio audio = 8;
rv.data.Action.MediaType.LiveVideo live_video = 9;
}
message Image {
}
message Video {
enum PlaybackBehavior {
PLAYBACK_BEHAVIOR_STOP = 0;
PLAYBACK_BEHAVIOR_LOOP = 1;
PLAYBACK_BEHAVIOR_LOOP_FOR_COUNT = 2;
PLAYBACK_BEHAVIOR_LOOP_FOR_TIME = 3;
}
PlaybackBehavior playback_behavior = 1;
enum EndBehavior {
END_BEHAVIOR_STOP = 0;
END_BEHAVIOR_STOP_ON_BLACK = 1;
END_BEHAVIOR_STOP_ON_CLEAR = 2;
END_BEHAVIOR_FADE_TO_BLACK = 3;
END_BEHAVIOR_FADE_TO_CLEAR = 4;
}
EndBehavior end_behavior = 2;
double loop_time = 3;
uint32 times_to_loop = 4;
bool soft_loop = 5;
double soft_loop_duration = 6;
}
message Audio {
enum PlaybackBehavior {
PLAYBACK_BEHAVIOR_STOP = 0;
PLAYBACK_BEHAVIOR_LOOP = 1;
PLAYBACK_BEHAVIOR_LOOP_FOR_COUNT = 2;
PLAYBACK_BEHAVIOR_LOOP_FOR_TIME = 3;
}
PlaybackBehavior playback_behavior = 1;
double loop_time = 2;
uint32 times_to_loop = 3;
enum MediaActionAudioType {
MEDIA_ACTION_AUDIO_TYPE_TUNE = 0;
MEDIA_ACTION_AUDIO_TYPE_SOUND = 1;
}
MediaActionAudioType audio_type = 4;
}
message LiveVideo {
}
message PlaybackMarker {
rv.data.UUID uuid = 1;
double time = 2;
rv.data.Color color = 3;
string name = 4;
repeated rv.data.Action actions = 5;
}
}
message SlideType {
oneof Slide {
rv.data.PresentationSlide presentation = 2;
rv.data.PropSlide prop = 3;
}
}
message BackgroundType {
rv.data.Background element = 1;
}
message TimerType {
enum TimerAction {
ACTION_START = 0;
ACTION_STOP = 1;
ACTION_RESET = 2;
ACTION_RESET_AND_START = 3;
ACTION_STOP_AND_RESET = 4;
ACTION_INCREMENT = 5;
}
TimerAction action_type = 2;
rv.data.CollectionElementType timer_identification = 4;
rv.data.Timer.Configuration timer_configuration = 10;
double increment_amount = 11;
}
message ClearType {
enum ClearTargetLayer {
CLEAR_TARGET_LAYER_ALL = 0;
CLEAR_TARGET_LAYER_AUDIO = 1;
CLEAR_TARGET_LAYER_BACKGROUND = 2;
CLEAR_TARGET_LAYER_LIVE_VIDEO = 3;
CLEAR_TARGET_LAYER_PROP = 4;
CLEAR_TARGET_LAYER_SLIDE = 5;
CLEAR_TARGET_LAYER_LOGO = 6;
CLEAR_TARGET_LAYER_MESSAGES = 7;
CLEAR_TARGET_LAYER_AUDIO_EFFECTS = 8;
}
ClearTargetLayer target_layer = 2;
enum ContentDestination {
CONTENT_DESTINATION_GLOBAL = 0;
CONTENT_DESTINATION_ANNOUNCEMENTS = 1;
}
ContentDestination content_destination = 4;
}
message ClearGroupType {
rv.data.CollectionElementType identification = 1;
}
message TransportControlType {
oneof Command {
rv.data.Action.TransportControlType.Play play = 1;
rv.data.Action.TransportControlType.Pause pause = 2;
rv.data.Action.TransportControlType.JumpToTime jumpToTime = 3;
}
message Play {
}
message Pause {
}
message JumpToTime {
double time = 1;
}
}
message StageLayoutType {
repeated rv.data.Stage.ScreenAssignment stage_screen_assignments = 4;
enum SlideTarget {
SLIDE_TARGET_NO_CHANGE = 0;
SLIDE_TARGET_STAGE_ONLY = 1;
SLIDE_TARGET_ALL = 2;
}
SlideTarget slide_target = 5;
}
message SlideDestinationType {
enum SlideTarget {
SLIDE_TARGET_NO_CHANGE = 0;
SLIDE_TARGET_STAGE_ONLY = 1;
SLIDE_TARGET_ALL = 2;
}
SlideTarget slide_target = 1;
}
message PropType {
rv.data.CollectionElementType identification = 3;
}
message MaskType {
rv.data.CollectionElementType identification = 3;
}
message MessageType {
rv.data.CollectionElementType message_identificaton = 1;
repeated rv.data.Message.TokenValue content = 3;
}
message CommunicationType {
rv.data.CollectionElementType device_identification = 1;
string format = 2;
string description = 3;
repeated rv.data.Action.CommunicationType.Command commands = 4;
oneof CommandTypeData {
rv.data.Action.CommunicationType.MIDICommand midi_command = 5;
rv.data.Action.CommunicationType.GlobalCacheCommand global_cache_command = 6;
rv.data.Action.CommunicationType.GVG100Command gvg100_command = 7;
rv.data.Action.CommunicationType.SonyBVSCommand sony_BVS_command = 8;
}
message Command {
string name = 1;
string value = 2;
rv.data.IntRange replacement_range = 3;
repeated string possible_values = 4;
}
message MIDICommand {
enum State {
STATE_ON = 0;
STATE_OFF = 1;
}
State state = 1;
uint32 channel = 2;
uint32 note = 3;
uint32 intensity = 4;
}
message GlobalCacheCommand {
enum CommandAction {
COMMAND_ACTION_ON = 0;
COMMAND_ACTION_OFF = 1;
COMMAND_ACTION_ON_OFF_WITH_INTERVAL = 2;
COMMAND_ACTION_OFF_ON_WITH_INTERVAL = 3;
}
CommandAction command_action = 1;
uint32 output = 2;
uint32 interval = 3;
}
message GVG100Command {
enum CommandAction {
COMMAND_ACTION_FADE_TO_BLACK = 0;
COMMAND_ACTION_DSK_TOGGLE = 1;
}
CommandAction command_action = 1;
}
message SonyBVSCommand {
enum CommandAction {
COMMAND_ACTION_FADE_TO_BLACK = 0;
COMMAND_ACTION_KEY_ON = 1;
COMMAND_ACTION_KEY_OFF = 2;
COMMAND_ACTION_DSK_ON = 3;
COMMAND_ACTION_DSK_OFF = 4;
}
CommandAction command_action = 1;
}
}
message MultiScreenType {
rv.data.CollectionElementType identification = 3;
}
message DocumentType {
rv.data.CollectionElementType identification = 1;
rv.data.UUID selected_arrangement = 2;
enum ContentDestination {
CONTENT_DESTINATION_GLOBAL = 0;
CONTENT_DESTINATION_ANNOUNCEMENTS = 1;
}
ContentDestination content_destination = 3;
}
message ExternalPresentationType {
rv.data.URL url = 1;
}
message AudienceLookType {
rv.data.CollectionElementType identification = 1;
}
message AudioInputType {
int32 index = 1;
bool override_mode = 2;
rv.data.AudioInput.BehaviorMode behavior_mode = 3;
bool override_volume = 4;
double volume = 5;
}
message MacroType {
rv.data.CollectionElementType identification = 1;
}
message CaptureType {
oneof CaptureAction {
rv.data.Action.CaptureType.CaptureStart start = 1;
rv.data.Action.CaptureType.CaptureStop stop = 2;
}
message CaptureStart {
rv.data.CollectionElementType preset_identification = 1;
}
message CaptureStop {
bool shows_alert_before_stopping = 1;
}
}
}