- Move src/, tests/, bin/, generated/, proto/, composer.json, composer.lock, phpunit.xml from php/ to repo root - Move ref/ to doc/reference_samples/ for better organization - Remove vendor/ from git tracking (now properly gitignored) - Update all test file paths (dirname adjustments and ref/ -> doc/reference_samples/) - Update all documentation paths (AGENTS.md, doc/*.md) - Remove php.bak/ directory - All 252 tests pass
452 lines
12 KiB
Protocol Buffer
Executable file
452 lines
12 KiB
Protocol Buffer
Executable file
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;
|
|
}
|
|
}
|
|
|