]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/new/positioning-multi-measure-rests.ly
Imported Upstream version 2.16.0
[lilypond.git] / Documentation / snippets / new / positioning-multi-measure-rests.ly
diff --git a/Documentation/snippets/new/positioning-multi-measure-rests.ly b/Documentation/snippets/new/positioning-multi-measure-rests.ly
new file mode 100644 (file)
index 0000000..8f9865a
--- /dev/null
@@ -0,0 +1,59 @@
+\version "2.16.0"
+
+\header {
+  lsrtags = "rhythms, tweaks-and-overrides"
+
+  texidoc = "
+Unlike ordinary rests, there is no predefined command to change the
+staff position of a multi-measure rest symbol of either form by
+attaching it to a note.  However, in polyphonic music multi-measure
+rests in odd-numbered and even-numbered voices are vertically
+separated. The positioning of multi-measure rests can be controlled as
+follows:
+
+"
+  doctitle = "Positioning multi-measure rests"
+}
+
+\relative c'' {
+  % Multi-measure rests by default are set under the fourth line
+  R1
+  % They can be moved using an override
+  \override MultiMeasureRest #'staff-position = #-2
+  R1
+  \override MultiMeasureRest #'staff-position = #0
+  R1
+  \override MultiMeasureRest #'staff-position = #2
+  R1
+  \override MultiMeasureRest #'staff-position = #3
+  R1
+  \override MultiMeasureRest #'staff-position = #6
+  R1
+  \revert MultiMeasureRest #'staff-position
+  \break
+
+  % In two Voices, odd-numbered voices are under the top line
+  << { R1 } \\ { a1 } >>
+  % Even-numbered voices are under the bottom line
+  << { a1 } \\ { R1 } >>
+  % Multi-measure rests in both voices remain separate
+  << { R1 } \\ { R1 } >>
+
+  % Separating multi-measure rests in more than two voices
+  % requires an override
+  << { R1 } \\ { R1 } \\
+     \once \override MultiMeasureRest #'staff-position = #0
+     { R1 }
+  >>
+
+  % Using compressed bars in multiple voices requires another override
+  % in all voices to avoid multiple instances being printed
+  \compressFullBarRests
+  <<
+   \revert MultiMeasureRest #'staff-position
+    { R1*3 }
+    \\
+   \revert MultiMeasureRest #'staff-position
+    { R1*3 }
+  >>
+}