syntax="proto2"; package RMF; message CategoryProto { required string name=21; message Float { required string name=1; message Entry { optional double value=1; }; repeated Entry entry=2; }; repeated Float float_list=1; message PerFrameFloat { required string name=1; message Entry { message Frame { optional double value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameFloat per_frame_float_list=2; message Int { required string name=1; message Entry { optional int32 value=1; }; repeated Entry entry=2; }; repeated Int int_list=3; message PerFrameInt { required string name=1; message Entry { message Frame { optional int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameInt per_frame_int_list=4; message String { required string name=1; message Entry { optional string value=1; }; repeated Entry entry=2; }; repeated String string_list=5; message PerFrameString { required string name=1; message Entry { message Frame { optional string value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameString per_frame_string_list=6; message Index { required string name=1; message Entry { optional int32 value=1; }; repeated Entry entry=2; }; repeated Index index_list=7; message PerFrameIndex { required string name=1; message Entry { message Frame { optional int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameIndex per_frame_index_list=8; message NodeID { required string name=1; message Entry { optional int32 value=1; }; repeated Entry entry=2; }; repeated NodeID node_id_list=9; message PerFrameNodeID { required string name=1; message Entry { message Frame { optional int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameNodeID per_frame_node_id_list=10; message Floats { required string name=1; message Entry { repeated double value=1; }; repeated Entry entry=2; }; repeated Floats floats_list=11; message PerFrameFloats { optional string name=1; message Entry { message Frame { repeated double value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameFloats per_frame_floats_list=12; message Ints { required string name=1; message Entry { repeated int32 value=1; }; repeated Entry entry=2; }; repeated Ints ints_list=13; message PerFrameInts { required string name=1; message Entry { message Frame { repeated int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameInts per_frame_ints_list=14; message Strings { required string name=1; message Entry { repeated string value=1; }; repeated Entry entry=2; }; repeated Strings strings_list=15; message PerFrameStrings { required string name=1; message Entry { message Frame { repeated string value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameStrings per_frame_strings_list=16; message Indexes { required string name=1; message Entry { repeated int32 value=1; }; repeated Entry entry=2; }; repeated Indexes indexes_list=17; message PerFrameIndexes { required string name=1; message Entry { message Frame { repeated int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameIndexes per_frame_indexes_list=18; message NodeIDs { required string name=1; message Entry { repeated int32 value=1; }; repeated Entry entry=2; }; repeated NodeIDs node_ids_list=19; message PerFrameNodeIDs { required string name=1; message Entry { message Frame { repeated int32 value=1; }; repeated Frame frame=1; }; repeated Entry entry=2; }; repeated PerFrameNodeIDs per_frame_node_ids_list=20; }; message RMFProto { optional string description=1; message ArityData { repeated CategoryProto category=1; }; repeated ArityData arity=2; message Node { required int32 type =1; required string name=2; repeated int32 children=3; }; repeated Node node=3; message Pair { required int32 type =1; required int32 id0=2; required int32 id1=3; }; repeated Pair pair=4; message Triplet { required int32 type =1; required int32 id0=2; required int32 id1=3; required int32 id2=4; }; repeated Triplet triplet=5; message Quad { required int32 type =1; required int32 id0=2; required int32 id1=3; required int32 id2=4; required int32 id3=5; }; repeated Quad quad=6; message FrameData { optional string comment=1; }; repeated FrameData frame=7; };