<repeat>
องค์ประกอบ <repeat> ครอบเนื้อหา <structure> และเล่นมากกว่าหนึ่งครั้ง การซ้ำอาจซ้อนกันได้ เพลงจึงประกอบขึ้นจากหลายชั้นของการซ้ำ
องค์ประกอบแม่
หัวข้อที่มีชื่อว่า “องค์ประกอบแม่”<structure><repeat>- repeat อาจครอบ repeat อื่น
แอตทริบิวต์
หัวข้อที่มีชื่อว่า “แอตทริบิวต์”| แอตทริบิวต์ | จำเป็น | ประเภท | คำอธิบาย |
|---|---|---|---|
times |
ไม่ | จำนวนเต็ม | จำนวนครั้งทั้งหมดที่เนื้อหาที่ครอบเล่น 2 ขึ้นไป ค่าเริ่มต้น: 2 |
ลูกเดียวกับที่ <structure> รับ ลำดับใดก็ได้และซ้ำได้อิสระ:
ความหมาย
หัวข้อที่มีชื่อว่า “ความหมาย”ทุกอย่างภายใน <repeat> เล่น times รอบก่อนที่โน้ตจะดำเนินต่อไป จำนวนนี้คือจำนวนครั้งทั้งหมด ไม่ใช่จำนวนครั้งที่เพิ่มจากครั้งแรก times="2" จึงเล่นเนื้อหานั้นสองครั้ง และสองก็เป็นค่าเริ่มต้นด้วย เพราะ <repeat> ที่เล่นเนื้อหาครั้งเดียวไม่ได้ซ้ำอะไรเลย ละ times ไว้แล้วเนื้อหาเล่นสองครั้ง การครอบสองท่อนไว้ด้วยกันจะซ้ำทั้งคู่พร้อมกัน ได้ผลเป็น A B A B ซึ่งต่างจากการซ้ำแต่ละท่อนแยกกัน
เมื่อ repeat ซ้อนกัน จำนวนครั้งจะคูณกัน ท่อนที่ครอบด้วย times="2" ซ้อนอยู่ในอีก times="2" จะเล่นสี่ครั้ง
<structure> <repeat times="2"> <repeat times="2"> <section id="s1" name="ท่อน 1" /> </repeat> <section id="s2" name="ท่อน 2" /> </repeat></structure>เล่นท่อน 1 สองครั้ง แล้วท่อน 2 หนึ่งครั้ง จากนั้นเล่นทั้งคู่ซ้ำอีกรอบ รวมเป็นสี่ห้องของท่อน 1 และสองห้องของท่อน 2 เรียงตามลำดับ 1 1 2 1 1 2
จำนวนรอบทั้งหมด
หัวข้อที่มีชื่อว่า “จำนวนรอบทั้งหมด”จำนวนรอบทั้งหมดของท่อนคือผลรวมของทุกการเล่นท่อนนั้น: สำหรับ <section> หรือ <play> แต่ละตัวที่อ้างถึงท่อนนั้น ให้คูณค่า times ของ <repeat> ทุกตัวที่ครอบตัวนั้นอยู่ แล้วรวมทุกตัวเข้าด้วยกัน ท่อนที่เล่นหนึ่งครั้งตรงที่ประกาศและอีกครั้งผ่าน <play> จึงมีสองรอบ ส่วนท่อนที่ประกาศโดยไม่มี repeat ครอบเลยมีหนึ่งรอบ ในตัวอย่างข้างบน ท่อน 1 มีรอบทั้งหมด 4 และท่อน 2 มี 2
การนับรอบเป็นแบบสัมบูรณ์ ตั้งแต่ครั้งแรกไปจนถึงครั้งสุดท้าย โดยไม่สนว่ารอบนั้นเกิดจาก repeat ชั้นไหน แอตทริบิวต์ pass ของ <ending> ใช้ตัวเลขสัมบูรณ์นี้ pass="4" บนท่อน 1 ข้างต้นจึงหมายถึงครั้งสุดท้ายในสี่ครั้ง และ pass="2,4" หมายถึงสองในสี่ครั้งนั้น
ลำดับท่อน
หัวข้อที่มีชื่อว่า “ลำดับท่อน”<repeat> ไม่ได้เปลี่ยนวิธีอ่านลำดับท่อน ลำดับยังคงเป็นลำดับที่องค์ประกอบ <section> ปรากฏในเอกสาร ไล่แบบ depth-first ผ่านชั้น <repeat> ที่ครอบอยู่ ดู <structure>
การสอดคล้องมาตรฐาน
หัวข้อที่มีชื่อว่า “การสอดคล้องมาตรฐาน”timesต้องเป็นจำนวนเต็ม2ขึ้นไป และเป็น2เมื่อไม่ระบุ<repeat>ที่เล่นเนื้อหาครั้งเดียวไม่ใช่การซ้ำ โน้ตที่เล่นท่อนครั้งเดียวจึงไม่ต้องมี<repeat>ครอบ<repeat>ต้องมี<section>หรือ<play>อย่างน้อยหนึ่งตัว ไม่ว่าโดยตรงหรืออยู่ใน<repeat>ที่ซ้อนอยู่ข้างใน repeat ที่ครอบเฉพาะ annotation และ direction ไม่มีอะไรให้เล่นเลย- การซ้ำซ้อนลึกเท่าใดก็ได้
- หากต้องการซ้ำช่วงบรรทัดภายในท่อนเดียวแทนท่อนทั้งหมด ใช้
<line-repeat>