X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fessay%2Fengraving.itely;h=3b97143b2a713f2583f99dc4dbbd4903ada7db0c;hb=fd565020849c9cd24d4e7ce47c50f756198a44c9;hp=7b58fb050c37eb86c528b9d0149c413f10bc8ddc;hpb=f66e6785e42f181199f6cf357434f60baba1e149;p=lilypond.git diff --git a/Documentation/essay/engraving.itely b/Documentation/essay/engraving.itely index 7b58fb050c..3b97143b2a 100644 --- a/Documentation/essay/engraving.itely +++ b/Documentation/essay/engraving.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.15.32" +@c \version "2.19.24" @node Music engraving @chapter Music engraving @@ -317,9 +317,9 @@ music = { \layout { \context { \Staff - \override NoteSpacing #'stem-spacing-correction = #0.0 - \override NoteSpacing #'same-direction-correction = #0.0 - \override StaffSpacing #'stem-spacing-correction = #0.0 + \override NoteSpacing.stem-spacing-correction = #0.0 + \override NoteSpacing.same-direction-correction = #0.0 + \override StaffSpacing.stem-spacing-correction = #0.0 } } } @@ -345,7 +345,7 @@ music = { \layout { \context { \Staff - \override NoteSpacing #'stem-spacing-correction = #0.6 + \override NoteSpacing.stem-spacing-correction = #0.6 } } } @@ -447,15 +447,11 @@ magnified by 236% to print at the same size as the previous example: At smaller sizes, LilyPond uses proportionally heavier lines so the music will still read well. -@ignore This also allows staves of different sizes to coexist peacefully when used together on the same page: -@c TODO: are the stems in this example the right thickness? How should -@c line weights be scaled for small staves? - @c Grieg's Violin Sonata Op. 45 -@lilypond[indent=1.5cm] +@lilypond[indent=1.5\cm] global = { \time 6/8 \key c \minor @@ -464,31 +460,29 @@ global = { \score { << \new Staff \with { - fontSize = #-4 - \override StaffSymbol #'staff-space = #(magstep -4) - \override StaffSymbol #'thickness = #(magstep -3) + \magnifyStaff #2/3 } - \relative c' { + \relative { \global \set Staff.instrumentName = #"Violin" - c8.(\f^> b16 c d) ees8.(^> d16 c b) + c'8.(\f^> b16 c d) ees8.(^> d16 c b) g8.(^> b16 c ees) g8-.^> r r R2. } \new PianoStaff << \set PianoStaff.instrumentName = #"Piano" - \new Staff \relative c' { + \new Staff \relative { \global s2. - s4. s8 r8 r16 + s4. s8 r8 r16 4.^> 8 r r } - \new Staff \relative c { + \new Staff \relative { \global \clef "bass" << { - \once \override DynamicText #'X-offset = #-3 + \once \override DynamicText.X-offset = #-3 2.~->^\f 4.~ 8 } \\ { @@ -503,7 +497,7 @@ global = { >> } @end lilypond -@end ignore + @node Why work so hard? @unnumberedsubsec Why work so hard? @@ -561,11 +555,11 @@ How do we actually make formatting decisions? In other words, which of the three configurations should we choose for the following slur? @lilypond -\relative c { +\relative { \clef bass - \once \override Slur #'positions = #'(1.5 . 1) + \once \override Slur.positions = #'(1.5 . 1) e8[( f] g[ a b d,)] r4 - \once \override Slur #'positions = #'(2 . 3) + \once \override Slur.positions = #'(2 . 3) e8[( f] g[ a b d,)] r4 e8[( f] g[ a b d,)] r4 } @@ -601,9 +595,9 @@ has given each one a score in @q{ugly points}. The first example gets 15.39 points for grazing one of the noteheads: @lilypond -\relative c { +\relative { \clef bass - \once \override Slur #'positions = #'(1.5 . 1) + \once \override Slur.positions = #'(1.5 . 1) e8[(_"15.39" f] g[ a b d,)] r4 } @end lilypond @@ -615,9 +609,9 @@ side, plus another 2 points because the slur ascends while the melody descends for a total of 13.08 ugly points: @lilypond -\relative c { +\relative { \clef bass - \once \override Slur #'positions = #'(2 . 3) + \once \override Slur.positions = #'(2 . 3) e8[(_"13.08" f] g[ a b d,)] r4 } @end lilypond @@ -628,7 +622,7 @@ it is the most attractive of the three configurations, so LilyPond selects this one: @lilypond -\relative c { +\relative { \clef bass e8[(_"12.04" f] g[ a b d,)] r4 } @@ -744,10 +738,10 @@ For our comparison we selected Bach's Fugue in G minor from the Well-Tempered Clavier, Book I, BWV 861, whose opening subject is @lilypond -\relative c' { +\relative { \key g \minor \clef "treble_8" - r8 d ees g, fis4 g + r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a bes8 } @end lilypond @@ -779,24 +773,24 @@ measures 28--29, as shown here with Finale first and LilyPond second: @lilypond[staffsize=19.5,line-width=14\cm] global = { \key g \minor } -partI = \relative c' { +partI = \relative { \voiceOne - fis8 d' ees g, fis4 g + fis'8 d' ees g, fis4 g r8 a16 bes c8 bes16 a d8 r r4 } -partII = \relative c' { +partII = \relative { \voiceTwo - d4 r4 r8 d'16 c bes8 c16 d + d'4 r4 r8 d'16 c bes8 c16 d ees8 d c ees a, r r4 } -partIII = \relative c' { +partIII = \relative { \voiceOne - r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a + r2 r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a } -partIV = \relative c { +partIV = \relative { \voiceTwo d4 r r2 r8 d ees g, fis4 a @@ -830,7 +824,7 @@ partIV = \relative c { } \context { \PianoStaff - \override StaffGrouper #'staff-staff-spacing #'padding = #1 + \override StaffGrouper.staff-staff-spacing.padding = #1 } } } @@ -849,7 +843,7 @@ which makes the music extremely difficult to read when the upper and lower voices exchange positions temporarily: @lilypond -collide = \once \override NoteColumn #'force-hshift = #0 +collide = \once \override NoteColumn.force-hshift = #0 \score { << @@ -860,7 +854,7 @@ collide = \once \override NoteColumn #'force-hshift = #0 \new Voice { \voiceTwo bes \collide bes } >> } - \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" } + \new Lyrics \lyricsto "sample" { "good " " bad" } >> } @end lilypond @@ -976,8 +970,8 @@ formed by the concept of music expressions: by combining small fragments of music into larger ones, more complex music can be expressed. For example -@lilypond[quote,verbatim,fragment,relative=1] -f4 +@lilypond[quote,verbatim,fragment] +f'4 @end lilypond @noindent @@ -1038,12 +1032,12 @@ nature of music notation: @lilypond[quote,fragment] << - \new Staff \relative c'' { + \new Staff \relative { \key g \major \time 3/4 - d4 g,8 a b c d4 g, g + d''4 g,8 a b c d4 g, g } - \new Staff \relative c' { + \new Staff \relative { \clef "bass" \key g \major 2 a4 b2. @@ -1084,28 +1078,28 @@ consider a more complicated musical example: \new PianoStaff << \new Staff = "RH" << - \new Voice = "I" \relative c''' { + \new Voice = "I" \relative { \time 3/4 \voiceOne - \times 6/7 { g8 g g g g g g } + \tuplet 7/6 { g''8 g g g g g g } \oneVoice r4 r4\fermata } - \new Voice = "II" \relative c' { + \new Voice = "II" \relative { \voiceTwo - c4 - \times 4/5 { + c'4 + \tuplet 5/4 { 8 f g \change Staff = "LH" \oneVoice \stemUp g,( c} r4 - \override Stem #'cross-staff = ##t - \override Stem #'length = #12 + \override Stem.cross-staff = ##t + \override Stem.length = #12 ) r\fermata } >> \new Staff = "LH" << - \new Voice = "III" \relative c' { + \new Voice = "III" \relative { \time 2/4 \clef "bass" g4 \stopStaff s @@ -1168,6 +1162,7 @@ heads, the @code{Note_heads_engraver}. \remove "Phrasing_slur_engraver" \remove "Slur_engraver" \remove "Script_engraver" + \remove "New_fingering_engraver" \remove "Beam_engraver" \remove "Auto_beam_engraver" } @@ -1200,6 +1195,7 @@ Then a @code{Staff_symbol_engraver} adds the staff, \remove "Phrasing_slur_engraver" \remove "Slur_engraver" \remove "Script_engraver" + \remove "New_fingering_engraver" \remove "Beam_engraver" \remove "Auto_beam_engraver" } @@ -1231,6 +1227,7 @@ the @code{Clef_engraver} defines a reference point for the staff, \remove "Phrasing_slur_engraver" \remove "Slur_engraver" \remove "Script_engraver" + \remove "New_fingering_engraver" \remove "Beam_engraver" \remove "Auto_beam_engraver" } @@ -1259,6 +1256,7 @@ and the @code{Stem_engraver} adds stems. \remove "Phrasing_slur_engraver" \remove "Slur_engraver" \remove "Script_engraver" + \remove "New_fingering_engraver" \remove "Beam_engraver" \remove "Auto_beam_engraver" } @@ -1366,16 +1364,16 @@ chord has all directions up (right). @lilypond[quote,ragged-right] \score { - \relative c' { - \stemDown 4_>-\arpeggio - \override Arpeggio #'direction = #RIGHT + \relative { + \stemDown 4_>-\arpeggio + \override Arpeggio.direction = #RIGHT \stemUp 4^>-\arpeggio } \layout { \context { \Score - \override SpacingSpanner #'spacing-increment = #3 - \override TimeSignature #'transparent = ##t + \override SpacingSpanner.spacing-increment = #3 + \hide TimeSignature } } } @@ -1401,12 +1399,12 @@ fragment = { << \new Staff \fragment \new Staff \with { - \override Beam #'beam-thickness = #0.3 - \override Stem #'thickness = #0.5 - \override Bar #'thickness = #3.6 - \override Tie #'thickness = #2.2 - \override StaffSymbol #'thickness = #3.0 - \override Tie #'extra-offset = #'(0 . 0.3) + \override Beam.beam-thickness = #0.3 + \override Stem.thickness = #0.5 + \override Bar.thickness = #3.6 + \override Tie.thickness = #2.2 + \override StaffSymbol.thickness = #3.0 + \override Tie.extra-offset = #'(0 . 0.3) } \fragment >> @@ -1436,23 +1434,23 @@ note head symbol is changed during the music fragment. ((-2) (make-smaller-markup (make-bold-markup "2"))) (else "bla"))))))))) -\new Voice \relative c' { +\new Voice \relative { \stemUp \set autoBeaming = ##f \time 2/4 + 4 + \once \override NoteHead.stencil = #note-head::brew-ez-stencil + \once \override NoteHead.font-size = #-7 + \once \override NoteHead.font-family = #'sans + \once \override NoteHead.font-series = #'bold 4 - \once \override NoteHead #'stencil = #note-head::brew-ez-stencil - \once \override NoteHead #'font-size = #-7 - \once \override NoteHead #'font-family = #'sans - \once \override NoteHead #'font-series = #'bold - 4 - \once \override NoteHead #'style = #'cross + \once \override NoteHead.style = #'cross 4 - \applyOutput #'Voice #mc-squared + \applyOutput Voice #mc-squared 4 << { d8[ es-( fis^^ g] fis2-) } - \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 } + \repeat unfold 5 { \applyOutput Voice #mc-squared s8 } >> } @end lilypond @@ -1484,9 +1482,9 @@ By adding chord names and lyrics we obtain a lead sheet. << \chords { c2 c f2 c } \new Staff - \relative c' { + \relative { \time 2/4 - c4 c g' g a a g2 + c'4 c g' g a a g2 } \addlyrics { twin -- kle twin -- kle lit -- tle star } >> @@ -1508,7 +1506,7 @@ following example combines some more exotic constructs. \time 4/8 \key c \minor << { - \revert Stem #'direction + \revert Stem.direction \change Staff = down \set subdivideBeams = ##t g16.[ @@ -1525,7 +1523,7 @@ following example combines some more exotic constructs. \set followVoice = ##t c'''32([ b''16 a''16 gis''16 g''32)] } \\ { - s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ { @@ -1537,16 +1535,16 @@ following example combines some more exotic constructs. \clef bass \key c \minor \set subdivideBeams = ##f - \override Stem #'french-beaming = ##t - \override Beam #'beam-thickness = #0.3 - \override Stem #'thickness = #4.0 + \override Stem.french-beaming = ##t + \override Beam.beam-thickness = #0.3 + \override Stem.thickness = #4.0 g'16[ b16 fis16 g16] << \makeClusters { as16 } \\ { - \override Staff.Arpeggio #'arpeggio-direction =#down + \override Staff.Arpeggio.arpeggio-direction =#down 4\arpeggio } >> } @@ -1557,7 +1555,7 @@ following example combines some more exotic constructs. \layout { \context { \Staff - \consists Horizontal_bracket_engraver + \consists "Horizontal_bracket_engraver" } } } @@ -1576,8 +1574,8 @@ therefore be easily embedded in other text-based formats such as @command{lilypond-book} program, included with LilyPond, the input fragments can be replaced by music images in the resulting PDF or HTML output files. Another example is the third-party OOoLilyPond extension -for OpenOffice.org, which makes it extremely easy to embed musical -examples in documents. +for OpenOffice.org or LibreOffice, which makes it extremely easy to +embed musical examples in documents. For more examples of LilyPond in action, full documentation, and the software itself, see our main website: www.lilypond.org. @@ -1655,42 +1653,42 @@ LilyPond, version @version{}: @lilypond[staffsize=14.3,line-width=15.9\cm] global = {\key g \minor} -partI = \relative c' { +partI = \relative { \voiceOne - fis8 d' ees g, fis4 g + fis'8 d' ees g, fis4 g r8 a16 bes c8 bes16 a d8 r r4 r2 r8 d16 ees f8 ees16 d - ees4 ~ ees16 d c bes a4 r8 ees'16 d + ees4 ~ 16 d c bes a4 r8 ees'16 d c8 d16 ees d8 e16 fis g8 fis16 g a4 ~ - a8 d, g f ees d c bes + 8 d, g f ees d c bes a2 g\fermata \bar "|." } -partII = \relative c' { +partII = \relative { \voiceTwo - d4 r4 r8 d'16 c bes8 c16 d + d'4 r4 r8 d'16 c bes8 c16 d ees8 d c ees a, r r4 r8 fis16 g a8 g16 fis g2 ~ - g2 r8 d' ees g, + 2 r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a bes4. 8 r r 4 d2 } -partIII = \relative c' { +partIII = \relative { \voiceOne - r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a - bes2 ~ bes8 b16 a g8 a16 b + r2 r8 d' ees g, fis4 g r8 a16 bes c8 bes16 a + bes2 ~ 8 b16 a g8 a16 b c4 r r2 R1 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a b2 } -partIV = \relative c { +partIV = \relative { \voiceTwo d4 r r2 r8 d ees g, fis4 a d,8 d'16 c bes8 c16 d ees2 ~ - ees8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a + 8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a d,8 d'16 c bes8 c16 d ees8 c a fis' g f ees d c bes a g c a d d, g2\fermata @@ -1724,7 +1722,7 @@ partIV = \relative c { } \context { \PianoStaff - \override StaffGrouper #'staff-staff-spacing #'padding = #1 + \override StaffGrouper.staff-staff-spacing.padding = #1 } } }