propresenter7-php-lib/proto/rv2d.proto
Thorsten Buss 4d10db4f17 Initial public release
PHP 8.4 library and CLI tools to read, modify, and generate ProPresenter 7
files: songs (.pro), playlists (.proplaylist), bundles (.probundle), themes,
and the global library files (Macros, Labels, Groups, ClearGroups, CCLI,
Messages, Timers, Stage, Workspace, Props, TestPatterns, Calendar,
KeyMappings, CommunicationDevices).

Built on the MIT-licensed ProPresenter7-Proto schema by greyshirtguy
(v7.16.2). Includes 18 CLI parsers, comprehensive API docs in doc/,
binary-format specs, and a synthetic 369-test PHPUnit suite covering
RTF extraction, translation slides, ZIP64 repair, round-trip fidelity,
and end-to-end generation.
2026-05-03 22:21:01 +02:00

51 lines
1 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 "graphicsData.proto";
message IdentificationOverlay {
message Output {
int32 x = 1;
int32 y = 2;
int32 width = 3;
int32 height = 4;
string name = 5;
double frame_rate = 6;
}
string screen_name = 3;
repeated .rv.data.IdentificationOverlay.Output outputs = 1;
}
message LayerIdentificationOverlay {
enum Layer {
LAYER_VIDEO_INPUT = 0;
LAYER_MEDIA = 1;
LAYER_PRESENTATION = 2;
LAYER_ANNOUNCEMENTS = 3;
LAYER_PROPS = 4;
LAYER_MESSAGES = 5;
}
.rv.data.LayerIdentificationOverlay.Layer layer = 1;
string layer_name = 2;
}
message TextLayer {
message Composite {
}
oneof LayerType {
.rv.data.TextLayer.Composite composite = 1;
.rv.data.Media media = 2;
.rv.data.Graphics.Text.CutOutFill cut_out = 3;
.rv.data.Graphics.BackgroundEffect background_effect = 4;
}
}