syntax = "proto3"; package rv.data; option cc_enable_arenas = true; option csharp_namespace = "Pro.SerializationInterop.RVProtoData"; option swift_prefix = "RVData_"; 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 { reserved "social_media"; reserved 31; message OldType { enum Category { CATEGORY_UNKNOWN = 0; CATEGORY_MEDIA = 1; CATEGORY_APPLICATION = 2; } .rv.data.Action.OldType.Category category = 1; int32 application_type = 2; } message Label { reserved 1; 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 { .rv.data.Layer.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 { reserved 13; message Image { } message Video { .rv.data.Action.MediaType.PlaybackBehavior playback_behavior = 1; .rv.data.Action.MediaType.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 MediaActionAudioType { MEDIA_ACTION_AUDIO_TYPE_TUNE = 0; MEDIA_ACTION_AUDIO_TYPE_SOUND = 1; } .rv.data.Action.MediaType.PlaybackBehavior playback_behavior = 1; double loop_time = 2; uint32 times_to_loop = 3; .rv.data.Action.MediaType.Audio.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; } enum PlaybackBehavior { PLAYBACK_BEHAVIOR_STOP = 0; PLAYBACK_BEHAVIOR_LOOP = 1; PLAYBACK_BEHAVIOR_LOOP_FOR_COUNT = 2; PLAYBACK_BEHAVIOR_LOOP_FOR_TIME = 3; } 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; } 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; .rv.data.Action.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 SlideType { reserved "template"; reserved 1; oneof Slide { .rv.data.PresentationSlide presentation = 2; .rv.data.PropSlide prop = 3; } } message BackgroundType { .rv.data.Background element = 1; } message TimerType { reserved 1; reserved 3; reserved 5; reserved 6; reserved 7; reserved 8; reserved 9; enum TimerAction { ACTION_START = 0; ACTION_STOP = 1; ACTION_RESET = 2; ACTION_RESET_AND_START = 3; ACTION_STOP_AND_RESET = 4; ACTION_INCREMENT = 5; } .rv.data.Action.TimerType.TimerAction action_type = 2; .rv.data.CollectionElementType timer_identification = 4; .rv.data.Timer.Configuration timer_configuration = 10; double increment_amount = 11; } message ClearType { reserved 1; reserved 3; 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; } .rv.data.Action.ClearType.ClearTargetLayer target_layer = 2; .rv.data.Action.ContentDestination content_destination = 4; } message ClearGroupType { .rv.data.CollectionElementType identification = 1; } message TransportControlType { message Play { } message Pause { } message JumpToTime { double time = 1; } oneof Command { .rv.data.Action.TransportControlType.Play play = 1; .rv.data.Action.TransportControlType.Pause pause = 2; .rv.data.Action.TransportControlType.JumpToTime jumpToTime = 3; } } message StageLayoutType { reserved "collection_identification"; reserved "action_type"; reserved 1; reserved 3; enum SlideTarget { SLIDE_TARGET_NO_CHANGE = 0; SLIDE_TARGET_STAGE_ONLY = 1; SLIDE_TARGET_ALL = 2; } repeated .rv.data.Stage.ScreenAssignment stage_screen_assignments = 4; .rv.data.Action.StageLayoutType.SlideTarget slide_target = 5; } message SlideDestinationType { .rv.data.Action.StageLayoutType.SlideTarget slide_target = 1; } message PropType { reserved 1; reserved 2; .rv.data.CollectionElementType identification = 3; } message MaskType { reserved 1; reserved 2; .rv.data.CollectionElementType identification = 3; } message MessageType { reserved 2; .rv.data.CollectionElementType message_identificaton = 1; repeated .rv.data.Message.TokenValue content = 3; } message CommunicationType { 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; } .rv.data.Action.CommunicationType.MIDICommand.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; } .rv.data.Action.CommunicationType.GlobalCacheCommand.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; } .rv.data.Action.CommunicationType.GVG100Command.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; } .rv.data.Action.CommunicationType.SonyBVSCommand.CommandAction command_action = 1; } .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 MultiScreenType { reserved 1; reserved 2; .rv.data.CollectionElementType identification = 3; } message DocumentType { .rv.data.CollectionElementType identification = 1; .rv.data.UUID selected_arrangement = 2; .rv.data.Action.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 { message CaptureStart { .rv.data.CollectionElementType preset_identification = 1; } message CaptureStop { bool shows_alert_before_stopping = 1; } oneof CaptureAction { .rv.data.Action.CaptureType.CaptureStart start = 1; .rv.data.Action.CaptureType.CaptureStop stop = 2; } } enum ContentDestination { CONTENT_DESTINATION_GLOBAL = 0; CONTENT_DESTINATION_ANNOUNCEMENTS = 1; } enum LayerType { LAYER_TYPE_BACKGROUND = 0; LAYER_TYPE_FOREGROUND = 1; LAYER_TYPE_FILL = 2; LAYER_TYPE_INPUT = 3; } 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; } .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; .rv.data.Action.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; } }