+ <xs:element name="marks" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
+ Marks are placed on specific timeline frames and marks start of animation sequences, stop of animation sequence and removal of the entire scene.
+ They affect what happens when CG PLAY, CG STOP, CG INVOKE and CG NEXT are sent via AMCP.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="mark" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ One of the mark types is "start" which marks the start of a named animation. There is an implicit start mark at frame 0 called "intro" which is started when CG PLAY is executed. The "intro" animation can be defined at another frame if desired. There is another start mark that should be called "outro" which is coupled to CG STOP. Any other start mark is used with CG INVOKE.
+ Another mark type is "stop" which makes the timeline stop when reached. The only thing that can make the timeline move again is a CG NEXT, CG STOP or a CG INVOKE.
+ The "jump_to" mark type tells the timeline to jump to another "start" whenever reached, enabling the possibility of creating animation loops.
+ The last mark type is "remove" with the only purpose of completely stopping rendering when reached. It is used instead of "stop" to mark the end of the "outro" animation.
+ Note that a "stop" or "jump_to" can be on the same frame as a "start" for example on end of intro and start of outro. There will be no conflict in this case when outro is started.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute type="xs:nonNegativeInteger" name="at" use="required"><xs:annotation><xs:documentation>The timeline frame to place the mark at.</xs:documentation></xs:annotation></xs:attribute>
+ <xs:attribute type="mark_action" name="type" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ The type of mark.
+ "start" marks the start of an animation sequence.
+ "stop" means that any animation should stop at the marked frame.
+ "jump_to" means that the entire timeline should jump to the mentioned start label whenever the frame is encountered.
+ "remove" is usually the end of the "outro" animation and causes the scene to stop rendering completely.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute type="identifier" name="label" use="optional"><xs:annotation><xs:documentation>Is only used for "start" and "jump_to" marks and defines the name of the animation for "start" and the destination start for "jump_to".</xs:documentation></xs:annotation></xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>