propresenter7-php-lib/proto/proApiV1Macro.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

163 lines
3.9 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 "proApiV1Color.proto";
import "proApiV1Identifier.proto";
message API_v1_Macro {
.rv.data.API_v1_Identifier id = 1;
.rv.data.API_v1_Color color = 2;
string image_type = 3;
repeated .rv.data.API_v1_MacroAction actions = 4;
}
message API_v1_MacroAction {
string type = 1;
}
message API_v1_Macro_Collection {
.rv.data.API_v1_Identifier id = 1;
repeated .rv.data.API_v1_Macro macros = 2;
}
message API_v1_Macro_Request {
message Macros {
}
message GetMacro {
string id = 1;
}
message PutMacro {
string id = 1;
string name_change = 2;
.rv.data.API_v1_Color color_change = 3;
string image_type_change = 4;
}
message DeleteMacro {
string id = 1;
}
message TriggerMacro {
string id = 1;
}
message MacroCollections {
}
message GetMacroCollection {
string id = 1;
}
message PostMacroCollections {
string name = 1;
}
message PutMacroCollection {
string id = 1;
.rv.data.API_v1_Macro_Collection changes = 2;
}
message DeleteMacroCollection {
string id = 1;
}
message MacroIcon {
string id = 1;
}
message PutMacroIcon {
string id = 1;
string content_type = 2;
bytes icon = 3;
}
oneof Request {
.rv.data.API_v1_Macro_Request.Macros macros = 1;
.rv.data.API_v1_Macro_Request.GetMacro get_macro = 2;
.rv.data.API_v1_Macro_Request.PutMacro put_macro = 3;
.rv.data.API_v1_Macro_Request.DeleteMacro delete_macro = 4;
.rv.data.API_v1_Macro_Request.TriggerMacro trigger_macro = 5;
.rv.data.API_v1_Macro_Request.MacroCollections macro_collections = 6;
.rv.data.API_v1_Macro_Request.GetMacroCollection get_macro_collection = 7;
.rv.data.API_v1_Macro_Request.PostMacroCollections post_macro_collections = 8;
.rv.data.API_v1_Macro_Request.PutMacroCollection put_macro_collection = 9;
.rv.data.API_v1_Macro_Request.DeleteMacroCollection delete_macro_collection = 10;
.rv.data.API_v1_Macro_Request.MacroIcon macro_icon = 11;
.rv.data.API_v1_Macro_Request.PutMacroIcon put_macro_icon = 12;
}
}
message API_v1_Macro_Response {
message Macros {
repeated .rv.data.API_v1_Macro macros = 1;
}
message GetMacro {
.rv.data.API_v1_Macro macro = 1;
}
message PutMacro {
.rv.data.API_v1_Macro macro = 1;
}
message DeleteMacro {
}
message TriggerMacro {
}
message MacroCollections {
message Collections {
repeated .rv.data.API_v1_Macro_Collection collections = 1;
}
.rv.data.API_v1_Macro_Response.MacroCollections.Collections macro_collections = 1;
}
message GetMacroCollection {
.rv.data.API_v1_Macro_Collection macro_collection = 1;
}
message PostMacroCollections {
.rv.data.API_v1_Macro_Collection macro_collection = 1;
}
message PutMacroCollection {
.rv.data.API_v1_Macro_Collection macro_collection = 1;
}
message DeleteMacroCollection {
}
message MacroIcon {
string content_type = 1;
bytes icon = 2;
}
message PutMacroIcon {
}
oneof Response {
.rv.data.API_v1_Macro_Response.Macros macros = 1;
.rv.data.API_v1_Macro_Response.GetMacro get_macro = 2;
.rv.data.API_v1_Macro_Response.PutMacro put_macro = 3;
.rv.data.API_v1_Macro_Response.DeleteMacro delete_macro = 4;
.rv.data.API_v1_Macro_Response.TriggerMacro trigger_macro = 5;
.rv.data.API_v1_Macro_Response.MacroCollections macro_collections = 6;
.rv.data.API_v1_Macro_Response.GetMacroCollection get_macro_collection = 7;
.rv.data.API_v1_Macro_Response.PostMacroCollections post_macro_collections = 8;
.rv.data.API_v1_Macro_Response.PutMacroCollection put_macro_collection = 9;
.rv.data.API_v1_Macro_Response.DeleteMacroCollection delete_macro_collection = 10;
.rv.data.API_v1_Macro_Response.MacroIcon macro_icon = 11;
.rv.data.API_v1_Macro_Response.PutMacroIcon put_macro_icon = 12;
}
}