Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.4"
+@c \version "2.17.30"
@node Music engraving
@chapter Music engraving
while the newer edition seems cold and mechanical.
It is hard to immediately see what makes the difference with the newer
-edition. Everything looks neat and tiny, possibly even @qq{better}
+edition. Everything looks neat and tidy, possibly even @qq{better}
because it looks more computerized and uniform. This really puzzled us
for quite a while. We wanted to improve computer notation, but we first
had to figure out what was wrong with it.
In spacing, the distribution of space should reflect the durations
between notes. However, as we saw in the Bach Suite above, many modern
scores adhere to the durations with mathematical precision, which leads
-to poor results. In the next example a motive is printed twice: the
+to poor results. In the next example a motif is printed twice: the
first time using exact mathematical spacing, and the second with
corrections. Which do you prefer?
\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
}
}
}
\layout {
\context {
\Staff
- \override NoteSpacing #'stem-spacing-correction = #0.6
+ \override NoteSpacing.stem-spacing-correction = #0.6
}
}
}
\key c \minor
}
-\new Score <<
- \new Staff \with {
+\score {
+ <<
+ \new Staff \with {
fontSize = #-4
- \override StaffSymbol #'staff-space = #(magstep -4)
- \override StaffSymbol #'thickness = #(magstep -3)
+ \override StaffSymbol.staff-space = #(magstep -4)
+ \override StaffSymbol.thickness = #(magstep -3)
}
\relative c' {
\global
g8.(^> b16 c ees) g8-.^> r r
R2.
}
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff \relative c' {
- \global
- s2.
- s4. s8 r8 r16 <c f aes c>
- <c f aes c>4.^> <c ees g>8 r r
- }
- \new Staff \relative c {
- \global
- \clef "bass"
- <<
+ \new PianoStaff <<
+ \set PianoStaff.instrumentName = #"Piano"
+ \new Staff \relative c' {
+ \global
+ s2.
+ s4. s8 r8 r16 <c f aes c>
+ <c f aes c>4.^> <c ees g>8 r r
+ }
+ \new Staff \relative c {
+ \global
+ \clef "bass"
+ <<
{
- \once \override DynamicText #'X-offset = #-3
+ \once \override DynamicText.X-offset = #-3
<ees g c>2.~->^\f
<ees g c>4.~ <ees g c>8
} \\ {
<c g c,>2.~
<c g c,>4.~ <c g c,>8
}
- >>
- r8 r16 <f, c' aes'>16
- <f c' aes'>4.-> <c' g'>8 r r
- }
+ >>
+ r8 r16 <f, c' aes'>16
+ <f c' aes'>4.-> <c' g'>8 r r
+ }
+ >>
>>
->>
+}
@end lilypond
@end ignore
@lilypond
\relative c {
\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
}
@lilypond
\relative c {
\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
@lilypond
\relative c {
\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
automatically by comparing LilyPond's output to the output of a
commercial software product. In this case we have chosen Finale 2008,
which is one of the most popular commercial score writers, particularly
-in North America. Sibelius is their major rival and they appear to be
+in North America. Sibelius is its major rival and appears to be
especially strong in the European market.
For our comparison we selected Bach's Fugue in G minor from the
d4 r4 r8 d'16 c bes8 c16 d
ees8 d c ees a, r r4
}
+
partIII = \relative c' {
\voiceOne
r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a
}
+
partIV = \relative c {
\voiceTwo
d4 r r2
}
\context {
\PianoStaff
- \override StaffGrouper #'between-staff-spacing #'padding = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #1
}
}
}
@item Most of the beams extend too far off the staff. A beam that points
towards the center of the staff should have a length of about one
octave, but engravers shorten this when the beam points away from the
-staff in multi-voice music. The Finale beaming can be easily improved
+staff in multi-voice music. The Finale beaming can easily be improved
with their Patterson Beams plug-in, but we elected to skip that step for
this example.
@item Finale doesn't adjust the positions of interlocking note heads,
lower voices exchange positions temporarily:
@lilypond
-collide = \once \override NoteColumn #'force-hshift = #0
-\new Score <<
- \new Voice = "sample" \relative c''{
- \key g \minor
- <<
- { \voiceOne g4 \collide g4 }
- \new Voice { \voiceTwo bes \collide bes }
- >>
- }
- \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
->>
+collide = \once \override NoteColumn.force-hshift = #0
+
+\score {
+ <<
+ \new Voice = "sample" \relative c''{
+ \key g \minor
+ <<
+ { \voiceOne g4 \collide g4 }
+ \new Voice { \voiceTwo bes \collide bes }
+ >>
+ }
+ \new Lyrics \lyricsto "sample" \lyricmode { "good " " bad" }
+ >>
+}
@end lilypond
@item Finale has placed all of the rests at fixed heights on the staff.
\new Voice = "I" \relative c''' {
\time 3/4
\voiceOne
- \times 6/7 { g8 g g g g g g }
+ \tuplet 7/6 { g8 g g g g g g }
\oneVoice
r4 <b,, fis' g bes> r4\fermata
}
\new Voice = "II" \relative c' {
\voiceTwo
c4
- \times 4/5 {
+ \tuplet 5/4 {
<c ees>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
<fis, b>) r\fermata
}
>>
\remove "Phrasing_slur_engraver"
\remove "Slur_engraver"
\remove "Script_engraver"
+ \remove "New_fingering_engraver"
\remove "Beam_engraver"
\remove "Auto_beam_engraver"
}
\remove "Phrasing_slur_engraver"
\remove "Slur_engraver"
\remove "Script_engraver"
+ \remove "New_fingering_engraver"
\remove "Beam_engraver"
\remove "Auto_beam_engraver"
}
\remove "Phrasing_slur_engraver"
\remove "Slur_engraver"
\remove "Script_engraver"
+ \remove "New_fingering_engraver"
\remove "Beam_engraver"
\remove "Auto_beam_engraver"
}
\remove "Phrasing_slur_engraver"
\remove "Slur_engraver"
\remove "Script_engraver"
+ \remove "New_fingering_engraver"
\remove "Beam_engraver"
\remove "Auto_beam_engraver"
}
chord has all directions up (right).
@lilypond[quote,ragged-right]
-\new Score \with {
- \override SpacingSpanner #'spacing-increment = #3
- \override TimeSignature #'transparent = ##t
-} \relative c' {
- \stemDown <e g b>4_>-\arpeggio
- \override Arpeggio #'direction = #RIGHT
- \stemUp <e g b>4^>-\arpeggio
+\score {
+ \relative c' {
+ \stemDown <e g b>4_>-\arpeggio
+ \override Arpeggio.direction = #RIGHT
+ \stemUp <e g b>4^>-\arpeggio
+ }
+ \layout {
+ \context {
+ \Score
+ \override SpacingSpanner.spacing-increment = #3
+ \hide TimeSignature
+ }
+ }
}
@end lilypond
<<
\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
>>
\set autoBeaming = ##f
\time 2/4
<d f g>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
+ \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
<d f g>4
- \once \override NoteHead #'style = #'cross
+ \once \override NoteHead.style = #'cross
<d f g>4
\applyOutput #'Voice #mc-squared
<d f g>4
\time 4/8
\key c \minor
<< {
- \revert Stem #'direction
+ \revert Stem.direction
\change Staff = down
\set subdivideBeams = ##t
g16.[
\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
} \\ {
\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 <as b>
<g b>
<g cis>
} \\ {
- \override Staff.Arpeggio #'arpeggio-direction =#down
+ \override Staff.Arpeggio.arpeggio-direction =#down
<cis, e, gis, b, cis>4\arpeggio
}
>> }
>>
\midi {
- \context {
- \Score
- tempoWholesPerMinute = #(ly:make-moment 60 8)
- }
+ \tempo 8 = 60
}
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
@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.
}
\context {
\PianoStaff
- \override StaffGrouper #'between-staff-spacing #'padding = #1
+ \override StaffGrouper.staff-staff-spacing.padding = #1
}
}
}