propresenter7-php-lib/proto/analyticsEvent.proto
Thorsten Bus 8e80a8af88 Upgrade proto schema to ProPresenter Proto 19beta
Sync the bundled .proto definitions with greyshirtguy/ProPresenter7-Proto
"Proto 19beta" (dumped from ProPresenter v19 beta build 318767123,
2025-06-05). This pulls in the schema for ProPresenter 19 features
including new advertisement groups, custom options, media metadata,
prop API v1, transport API, feature flags, PSB workspace, and zone
definitions, plus refactored analytics tracked events.

Strategy: merge rather than wholesale replace. All Proto 19beta files
overwrite our existing copies so we pick up the field/message updates
upstream made between 7.16.2 and 19beta. Eleven new .proto files are
added: advertisementGroup, analyticsEdit, analyticsMediaManagement,
analyticsPowerPoint, analyticsTrackedEvents, analyticsTriggerCue,
customOptions, mediaMetadata, proCoreFeatureFlags, psbWorkspace, zone.
Three google/protobuf well-known types (any, source_context, type) are
added for completeness; only descriptor.proto is actually imported.

Five proto files are kept that are not part of Proto 19beta upstream:
calendar.proto and keyMappings.proto were extracted from PP binaries
to support our parse-calendar and parse-key-mappings tools, while
analyticsCapture/Update/WHMStore.proto are retained from the prior
7.16.2 set so existing generated descriptors keep loading.

generated/ is regenerated from scratch with `protoc --php_out=generated
--proto_path=proto *.proto` (protoc 29.3, google/protobuf PHP 4.33.5).
The full PHPUnit suite (369 tests, 1298 assertions) still passes
without any source changes - the new schema is wire-compatible with our
reference files and high-level wrappers.

Documentation references to "v7.16.2" are updated to "Proto 19beta" in
LICENSE, doc/formats/pp_song_spec.md, pp_playlist_spec.md,
pp_bundle_spec.md, and doc/internal/decisions.md.
2026-05-04 07:19:24 +02:00

225 lines
14 KiB
Protocol Buffer
Executable file

syntax = "proto3";
package rv.analytics;
option cc_enable_arenas = true;
option csharp_namespace = "Pro.SerializationInterop.RVProtoData.Analytics";
option swift_prefix = "Analytics_";
import "analyticsApi.proto";
import "analyticsCreate.proto";
import "analyticsEdit.proto";
import "analyticsImport.proto";
import "analyticsMediaManagement.proto";
import "analyticsMultiTracks.proto";
import "analyticsPlaybackMarker.proto";
import "analyticsProContent.proto";
import "analyticsStartup.proto";
import "analyticsSync.proto";
import "analyticsTimecode.proto";
import "analyticsTimeline.proto";
import "analyticsTrigger.proto";
import "analyticsTriggerCue.proto";
import "analyticsTriggerMedia.proto";
import "analyticsUI.proto";
import "analyticsTrackedEvents.proto";
import "analyticsPowerPoint.proto";
message Event {
oneof Interaction {
.rv.analytics.api.MessageReceived api_message_received = 1;
.rv.analytics.create.Library create_library = 2;
.rv.analytics.create.Playlist create_playlist = 3;
.rv.analytics.create.Presentation create_presentation = 4;
.rv.analytics.create.TemplatePlaylist create_from_template_playlist = 5;
.rv.analytics.edit.Presentation edit_presentation = 6;
.rv.analytics.import.SongSelect import_songselect = 7;
.rv.analytics.multitracks.Import import_multitracks = 8;
.rv.analytics.procontent.MediaBinView procontent_mediabin_view = 9;
.rv.analytics.procontent.Download procontent_download = 10;
.rv.analytics.procontent.DownloadRetry procontent_download_retry = 11;
.rv.analytics.playbackmarker.CreateMarker playback_marker = 12;
.rv.analytics.startup.Looks startup_looks = 13;
.rv.analytics.startup.Summary startup_screen_configuration = 14;
.rv.analytics.startup.Output startup_screen_configuration_screen = 15;
.rv.analytics.startup.Single startup_screen_configuration_single_screen = 16;
.rv.analytics.startup.Mirrored startup_screen_configuration_mirrored_screen = 17;
.rv.analytics.startup.EdgeBlend startup_screen_configuration_edge_blend_screen = 18;
.rv.analytics.startup.Grouped startup_screen_configuration_grouped_screen = 19;
.rv.analytics.startup.Preferences startup_preferences = 20;
.rv.analytics.startup.SongSelect startup_songselect = 21;
.rv.analytics.startup.Content startup_content = 22;
.rv.analytics.startup.Themes startup_themes = 23;
.rv.analytics.startup.Macro startup_macro = 24;
.rv.analytics.startup.ClearGroup startup_clear_group = 25;
.rv.analytics.startup.KeyMapping startup_key_mapping = 26;
.rv.analytics.multitracks.Startup startup_multitracks = 27;
.rv.analytics.startup.NetworkLink startup_network_link = 28;
.rv.analytics.startup.Capture startup_capture = 29;
.rv.analytics.startup.Versioning startup_versioning = 30;
.rv.analytics.startup.DiskUsage startup_disk_usage = 31;
.rv.analytics.startup.Interface startup_interface = 32;
.rv.analytics.sync.Local sync_local = 33;
.rv.analytics.timecode.Activate timecode_activate = 34;
.rv.analytics.timecode.Startup timecode_startup = 35;
.rv.analytics.timeline.Action timeline_action = 36;
.rv.analytics.timeline.RecordCue timeline_record_cue = 37;
.rv.analytics.timeline.CueTrigger timeline_cue_trigger = 38;
.rv.analytics.trackedevents.ApplicationLaunch application_launch = 50;
.rv.analytics.trackedevents.VideoInputTriggered video_input_triggered = 51;
.rv.analytics.trackedevents.VideoInputCustomMap video_input_custom_map = 52;
.rv.analytics.trackedevents.VideoInputStartUp video_input_start_up = 53;
.rv.analytics.trackedevents.VideoInputThumbnailUpdate video_input_thumbnail_update = 54;
.rv.analytics.trackedevents.AudioInputAutoOnChange audio_input_auto_on_change = 55;
.rv.analytics.trackedevents.AudioSettingsSdiNdiActive audio_settings_sdi_ndi_active = 56;
.rv.analytics.trackedevents.AudioSettingsCustomMap audio_settings_custom_map = 57;
.rv.analytics.trackedevents.AudioInputModeSelection audio_input_mode_selection = 58;
.rv.analytics.trackedevents.AudioInputAutoOnStartup audio_input_auto_on_startup = 59;
.rv.analytics.trackedevents.AudioSettingsSdiNdiState audio_settings_sdi_ndi_state = 60;
.rv.analytics.trackedevents.AudioInputStartUp audio_input_start_up = 61;
.rv.analytics.trackedevents.CueTriggered cue_triggered = 62;
.rv.analytics.trackedevents.InputAudioMonitoring input_audio_monitoring = 63;
.rv.analytics.trackedevents.ResiStartUp resi_start_up = 64;
.rv.analytics.trackedevents.ResiLoginChange resi_login_change = 65;
.rv.analytics.trackedevents.RemoteStreamStart remote_stream_start = 66;
.rv.analytics.trackedevents.RemoteStreamStop remote_stream_stop = 67;
.rv.analytics.trackedevents.StartCaptureDisk start_capture_disk = 68;
.rv.analytics.trackedevents.StartCaptureRtmp start_capture_rtmp = 69;
.rv.analytics.trackedevents.StartCaptureResi start_capture_resi = 70;
.rv.analytics.trackedevents.StopCapture stop_capture = 71;
.rv.analytics.trackedevents.GenericEvent analytic_reset = 72;
.rv.analytics.trackedevents.Print print = 73;
.rv.analytics.trackedevents.Device device = 74;
.rv.analytics.trackedevents.Downgrade downgrade = 75;
.rv.analytics.trackedevents.CCLIReport ccli_report = 76;
.rv.analytics.trackedevents.TransitionWindow transition_window = 77;
.rv.analytics.trackedevents.EditorObjectAdded editor_object_added = 78;
.rv.analytics.trackedevents.DataIdDuplicated data_id_duplicated = 79;
.rv.analytics.trackedevents.ForceQuit force_quit = 80;
.rv.analytics.trackedevents.MediaCleanupSize media_cleanup_size = 81;
.rv.analytics.trackedevents.NetworkApp network_app = 82;
.rv.analytics.trigger.ActionCaptureStart trigger_action_capture_start = 100;
.rv.analytics.trigger.ActionCaptureStop trigger_action_capture_stop = 101;
.rv.analytics.trigger.ActionClear trigger_action_clear = 102;
.rv.analytics.trigger.ActionClearGroup trigger_action_clear_group = 103;
.rv.analytics.trigger.ActionCommunications trigger_action_communications = 104;
.rv.analytics.trigger.ActionLook trigger_action_look = 105;
.rv.analytics.trigger.ActionMacro trigger_action_macro = 106;
.rv.analytics.trigger.ActionMessage trigger_action_message = 107;
.rv.analytics.trigger.ActionProp trigger_action_prop = 108;
.rv.analytics.trigger.ActionSlideDestination trigger_action_slide_destination = 109;
.rv.analytics.trigger.ActionStage trigger_action_stage = 110;
.rv.analytics.trigger.ActionTimer trigger_action_timer = 111;
.rv.analytics.trigger.media.Audio trigger_media_audio = 112;
.rv.analytics.trigger.media.Image trigger_media_image = 113;
.rv.analytics.trigger.media.VideoInput trigger_media_video_input = 114;
.rv.analytics.trigger.media.Video trigger_media_video = 115;
.rv.analytics.trigger.cue.Slide trigger_cue_slide = 116;
.rv.analytics.trigger.cue.SlideFileFeedElement trigger_cue_slide_file_feed_element = 117;
.rv.analytics.trigger.cue.SlideRssFeedElement trigger_cue_slide_rss_feed_element = 118;
.rv.analytics.trigger.cue.SlideScrollingTextElement trigger_cue_slide_scrolling_text_element = 119;
.rv.analytics.trigger.TestPattern trigger_test_pattern = 120;
.rv.analytics.trigger.media.AirCastVideo trigger_media_aircast_video = 121;
.rv.analytics.trigger.media.AirCastAudio trigger_media_aircast_audio = 122;
.rv.analytics.trigger.media.AirCastVideo aircast_video_input_configured = 123;
.rv.analytics.trigger.media.AirCastAudio aircast_audio_input_configured = 124;
.rv.analytics.mediamanagement.InstallationComplete media_management_installation_complete = 140;
.rv.analytics.mediamanagement.BootstrappingComplete media_management_bootstrapping_complete = 141;
.rv.analytics.mediamanagement.MessageFailure media_management_message_failure = 142;
.rv.analytics.mediamanagement.UnexpectedlyNotRunning media_management_unexpectedly_not_running = 143;
.rv.analytics.mediamanagement.ConnectionChanged media_management_connection_changed = 144;
.rv.analytics.mediamanagement.AddedMediaReference media_management_added_media_reference = 145;
.rv.analytics.mediamanagement.NotResponding media_management_not_responding = 146;
.rv.analytics.ui.QuickSearchShown ui_quicksearch = 200;
.rv.analytics.ui.QuickSearchSearch ui_quicksearch_search = 201;
.rv.analytics.ui.QuickSearchOpenItems ui_quicksearch_openitems = 202;
.rv.analytics.ui.ToolbarThemeShown ui_toolbar_theme = 203;
.rv.analytics.ui.ToolbarThemeApplication ui_toolbar_theme_application = 204;
.rv.analytics.ui.MainViewShow ui_mainview_show = 205;
.rv.analytics.ui.MainViewPresentationEditor ui_mainview_presentation_editor = 206;
.rv.analytics.ui.MainViewReflowEditor ui_mainview_reflow = 207;
.rv.analytics.ui.MainViewBible ui_mainview_bible = 208;
.rv.analytics.ui.BibleTrigger bible_trigger = 209;
.rv.analytics.ui.BibleGenerateSlides bible_generate_slides = 210;
.rv.analytics.ui.BibleGenerateNext bible_generate_next = 211;
.rv.analytics.ui.BibleGenerateNext bible_generate_previous = 212;
.rv.analytics.ui.BibleSaveSlides bible_save_slides = 213;
.rv.analytics.ui.BibleLookup bible_lookup = 214;
.rv.analytics.ui.BibleStartup bible_startup = 215;
.rv.analytics.ui.BibleRemove bible_remove = 216;
.rv.analytics.ui.BibleInstall bible_install = 217;
.rv.analytics.ui.MainViewMaskEditor ui_mainview_mask_editor = 218;
.rv.analytics.ui.MainViewStageEditor ui_mainview_stage_editor = 219;
.rv.analytics.ui.MainViewThemeEditor ui_mainview_theme_editor = 220;
.rv.analytics.ui.MainViewCopyrightEditor ui_mainview_copyright_editor = 221;
.rv.analytics.ui.MainViewPropsEditor ui_mainview_props_editor = 222;
.rv.analytics.ui.LowerRightTimers ui_lowerright_timers = 223;
.rv.analytics.ui.LowerRightTimersCollapse ui_lowerright_timers_collapse = 224;
.rv.analytics.ui.LowerRightTimersEdit ui_lowerright_timers_edit = 225;
.rv.analytics.ui.LowerRightTimersState ui_lowerright_timers_state = 226;
.rv.analytics.ui.LowerRightTimersCreate ui_lowerright_timers_create = 227;
.rv.analytics.ui.LowerRightTimersDelete ui_lowerright_timers_delete = 228;
.rv.analytics.ui.LowerRightMessages ui_lowerright_messages = 229;
.rv.analytics.ui.LowerRightMessagesEdit ui_lowerright_messages_edit = 230;
.rv.analytics.ui.LowerRightMessagesState ui_lowerright_messages_state = 231;
.rv.analytics.ui.LowerRightMessagesCreate ui_lowerright_messages_create = 232;
.rv.analytics.ui.LowerRightMessagesDelete ui_lowerright_messages_delete = 233;
.rv.analytics.ui.LowerRightProps ui_lowerright_props = 234;
.rv.analytics.ui.LowerRightPropsTransition ui_lowerright_props_transition = 235;
.rv.analytics.ui.LowerRightPropsCreate ui_lowerright_props_create = 236;
.rv.analytics.ui.LowerRightPropsDelete ui_lowerright_props_delete = 237;
.rv.analytics.ui.LowerRightPropsState ui_lowerright_props_state = 238;
.rv.analytics.ui.LowerRightStage ui_lowerright_stage = 239;
.rv.analytics.ui.LowerRightStageChangeLayout ui_lowerright_stage_changelayout = 240;
.rv.analytics.ui.LowerRightStageMessageState ui_lowerright_stage_messagestate = 241;
.rv.analytics.ui.LowerRightStageConfigureScreens ui_lowerright_stage_configurescreens = 242;
.rv.analytics.ui.LowerRightStageEditLayouts ui_lowerright_stage_editlayouts = 243;
.rv.analytics.ui.LowerRightMacros ui_lowerright_macros = 244;
.rv.analytics.ui.LowerRightMacrosTrigger ui_lowerright_macros_trigger = 245;
.rv.analytics.ui.LowerRightMacrosCreate ui_lowerright_macros_create = 246;
.rv.analytics.ui.LowerRightMacrosDelete ui_lowerright_macros_delete = 247;
.rv.analytics.ui.TextInspector ui_textinspector = 248;
.rv.analytics.ui.TextInspectorScrollingText ui_textinspector_scrolling_text = 249;
.rv.analytics.ui.TextInspectorForeground ui_textinspector_foreground = 250;
.rv.analytics.ui.TextInspectorUnderlineColor ui_textinspector_underline_color = 251;
.rv.analytics.ui.TextInspectorBackgroundColor ui_textinspector_background_color = 252;
.rv.analytics.ui.TextInspectorLineTransform ui_textinspector_line_transform = 253;
.rv.analytics.ui.ShowSlideLabel ui_show_slide_label = 254;
.rv.analytics.ui.ShowSlideLabelChange ui_show_slide_label_change = 255;
.rv.analytics.ui.EditorOverlayShown ui_editor_overlay_shown = 258;
.rv.analytics.ui.EditorOverlayClosed ui_editor_overlay_closed = 259;
.rv.analytics.ui.WhatsNewViewed ui_whats_new_viewed = 260;
.rv.analytics.ui.ClearGroups ui_clear_groups = 261;
.rv.analytics.ui.ClearGroupsCreate ui_clear_groups_create = 262;
.rv.analytics.ui.ClearGroupsDelete ui_clear_groups_delete = 263;
.rv.analytics.ui.ClearGroupsChangeVisibility ui_clear_groups_change_visibility = 264;
.rv.analytics.ui.ClearGroupsChangeIcon ui_clear_groups_change_icon = 265;
.rv.analytics.ui.PreviewAreaClearGroupsTrigger ui_preview_area_clear_groups_trigger = 266;
.rv.analytics.ui.PreviewAreaClearGroupsChanged ui_preview_area_clear_groups_changed = 267;
.rv.analytics.ui.PlaceholderLink ui_placeholder_link = 268;
.rv.analytics.ui.PlaceholderUnlink ui_placeholder_unlink = 269;
.rv.analytics.ui.PlanningCenterLive ui_planningCenterLive = 270;
.rv.analytics.ui.NetworkGroupAdd ui_networkgroup_add = 271;
.rv.analytics.ui.NetworkGroupRemove ui_networkgroup_remove = 272;
.rv.analytics.ui.NetworkGroupLeave ui_networkgroup_leave = 283;
.rv.analytics.ui.CcliReportReset ui_ccli_report_reset = 273;
.rv.analytics.ui.CcliReportShown ui_ccli_report_shown = 274;
.rv.analytics.ui.Capture ui_capture_shown = 275;
.rv.analytics.ui.Welcome ui_welcome = 276;
.rv.analytics.ui.WelcomeScreenConfigurationHelp ui_welcome_screen_configuration_help = 277;
.rv.analytics.ui.WelcomeDownloadSampleContent ui_welcome_download_sample_content = 278;
.rv.analytics.ui.WelcomeUserGroup ui_welcome_user_group = 279;
.rv.analytics.ui.WelcomeTutorials ui_welcome_tutorials = 280;
.rv.analytics.ui.WelcomeKnowledgeBase ui_welcome_knowlegdeBase = 284;
.rv.analytics.ui.WelcomeBlog ui_welcome_blog = 285;
.rv.analytics.ui.WelcomeFacebook ui_welcome_facebook = 286;
.rv.analytics.ui.WelcomeInstagram ui_welcome_instagram = 287;
.rv.analytics.ui.WelcomeMigration ui_welcome_migration = 288;
.rv.analytics.ui.TestPatterns ui_testPatterns = 281;
.rv.analytics.ui.SettingsCustomLogo ui_settings_customLogo = 282;
.rv.analytics.ui.WindowedOutputCreated ui_windowed_output_created = 289;
.rv.analytics.powerpoint.ImportPowerPoint import_powerpoint = 290;
}
}