]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/learning/fundamental.itely
Issue 3687 (part 2): Amend docs to use \compressMMRests
[lilypond.git] / Documentation / learning / fundamental.itely
index 60e67ee1358a51eb8b88b5100d5ca4cff4a71150..d86134e9ea8388367a82d533cd45fd75f44fcc2c 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.2"
+@c \version "2.19.20"
 
 @node Fundamental concepts
 @chapter Fundamental concepts
@@ -801,7 +801,7 @@ later sections.
   \\  % Voice two
     {
       % Ignore these for now - they are explained in Ch 4
-      \once \override NoteColumn.ignore-collision = ##t
+      \once \override NoteColumn.force-hshift = #0
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
@@ -851,7 +851,7 @@ not understand.
   \\  % Voice two
     { \voiceTwoStyle
       % Ignore these for now - they are explained in Ch 4
-      \once \override NoteColumn.ignore-collision = ##t
+      \once \override NoteColumn.force-hshift = #0
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
@@ -1129,7 +1129,7 @@ as here:
 @cindex note collisions
 @cindex collisions, notes
 @cindex shift commands
-@funindex \shiftOff
+@funindex \undo\shiftOn
 @funindex shiftOff
 @funindex \shiftOn
 @funindex shiftOn
@@ -1150,10 +1150,10 @@ final chord the C in voice three is also shifted to the right
 relative to the other notes.
 
 The @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, and
-@code{\shiftOff} commands specify the degree to which notes and
+@code{\undo\shiftOn} commands specify the degree to which notes and
 chords of the voice should be shifted if a collision
 would otherwise occur.  By default, the outer voices (normally
-voices one and two) have @code{\shiftOff} specified, while the
+voices one and two) have @code{\undo\shiftOn} specified, while the
 inner voices (three and four) have @code{\shiftOn} specified.
 When a shift is applied, voices one and three are shifted to
 the right and voices two and four to the left.
@@ -1167,7 +1167,8 @@ with stems up and one note (or chord) from a voice with stems
 down.  If notes from two voices which have their stems in the
 same direction are placed at the same position and both voices
 have no shift or the same shift specified, the error message
-@qq{Too many clashing note columns} will be produced.
+@qq{This voice needs a @code{@bs{}voiceXx} or @code{@bs{}shiftXx} setting}
+will be produced.
 
 
 @seealso
@@ -3013,11 +3014,11 @@ violin = \new Staff {
 However, you can also use these variables (also known as
 macros, or user-defined commands) for tweaks:
 
-@c TODO Avoid padtext - not needed with skylining
 @lilypond[quote,verbatim,ragged-right]
 dolce = \markup { \italic \bold dolce }
 
-padText = { \once \override TextScript.padding = #5.0 }
+centreText = { \once \override TextScript.self-alignment-X = #CENTER }
+
 fthenp =_\markup {
   \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
 }
@@ -3025,9 +3026,9 @@ fthenp =_\markup {
 violin = \relative c'' {
   \repeat volta 2 {
     c4._\dolce b8 a8 g a b |
-    \padText
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\fthenp b8 c4 c-. |
+    \centreText
+    c4.^"hi there!" d8 e f g d |
+    c4.\fthenp b8 c4 c-. |
   }
 }
 
@@ -3035,7 +3036,6 @@ violin = \relative c'' {
   {
     \violin
   }
-  \layout { ragged-right = ##t }
 }
 @end lilypond
 
@@ -3050,9 +3050,9 @@ the last line.
 violin = \relative c'' @{
   \repeat volta 2 @{
     c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
-    \once \override TextScript.padding = #5.0
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\markup @{
+    \once \override TextScript.self-alignment-X = #CENTER
+    c4.^"hi there!" d8 e f g d |
+    c4._\markup @{
       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
     @}
     b8 c4 c-. |
@@ -3060,13 +3060,10 @@ violin = \relative c'' @{
 @}
 @end example
 
-@c TODO Replace the following with a better example  -td
-@c Skylining handles this correctly without padText
-
 So far we've seen static substitution -- when LilyPond
-sees @code{\padText}, it replaces it with the stuff that
+sees @code{\centreText}, it replaces it with the stuff that
 we've defined it to be (ie the stuff to the right of
-@code{padtext=}).
+@code{centreText=}).
 
 LilyPond can handle non-static substitution, too (you
 can think of these as functions).
@@ -3080,12 +3077,12 @@ padText =
      \once \override TextScript.padding = #padding
    #})
 
-\relative c''' {
-  c4^"piu mosso" b a b |
+\relative c'' {
+  c4^"piu mosso" b a b
   \padText #1.8
-  c4^"piu mosso" d e f |
+  c4^"piu mosso" b a b
   \padText #2.6
-  c4^"piu mosso" fis a g |
+  c4^"piu mosso" b a b
 }
 @end lilypond
 
@@ -3167,22 +3164,18 @@ takes 3@tie{}measures in 2/4 time
 R2*3
 @end example
 
-When printing the part, multi-rests
-must be condensed.  This is done by setting a run-time variable
+When printing the part, multi-measure rests must be compressed.  There
+is a music function available to do this:
 
 @example
-\set Score.skipBars = ##t
+\compressMMRests @{ ... @}
 @end example
 
-@noindent
-This command sets the property @code{skipBars} in the
-@code{Score} context to true (@code{##t}).  Prepending the rest and
-this option to the music above, leads to the following result
+Applying this to @code{hornNotes} gives:
 
 @lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\compressMMRests \transpose f c' \relative c {
   \time 2/4
-  \set Score.skipBars = ##t
   R2*3 |
   r4 f8 a | cis4 f | e4 d |
 }
@@ -3223,5 +3216,13 @@ leading to
 >>
 @end lilypond
 
+@seealso
+Learning Manual:
+@ref{Organizing pieces with variables}.
 
+Notation Reference:
+@ruser{Transpose},
+@ruser{Writing parts},
+@ruser{Full measure rests},
+@ruser{Including LilyPond files}.