raggedlast = ##t
in the \paper
block
causes the last line to be set flush-left instead of justified.
Timing_engraver
now sets the Timing
alias on
its containing context automatically.
font-encoding
has been added, which makes the switch between normal text
and
other encodings like braces
, music
and math
.
\context
instead of \translator
.
set!
,
for example
(set! (ly:grob-property grob 'beam) ... )
\addquote clarinet \notes\relative c' { \transposition bes fis4 fis fis fis } \score { \notes \relative c'' { c8 d8 \quote 2 oboe es8 gis } }
\transposition
command. An
E-flat alto saxophone is specified as
\transposition es'
convert-ly -e -n --from=2.1.24 --to=2.1.26 *.scm
\noBeam
c8 c \noBeam c c
will print two separate eighth notes, and two beamed notes.
Score
no longer is the top context;
Score
is contained in the Global
context. Consequently,
it is possible to tweak Score
as follows:
\context Score \with { ... }
stringTunings
property.
(old) (new) \property A.B = #C \set A.B = #C \property A.B \unset \unset A.B \property A.B \set #C = #D \override A.B #C = #D \property A.B \override #C = #D (removed) \property A.B \revert #C \revert A.B #C
Furthermore, if A
is left out, the bottommost context is used
by default. In other words, it is no longer necessary to explicitly
mention Voice
, Lyrics
or ChordNames
.
Old:
\property Voice.autoBeaming = ##f \property Staff.TimeSignature \set #'style = #'C
New:
\set autoBeaming = ##f \override Staff.TimeSignature #'style = #'C
\override
and \revert
no longer
hide tweaks at higher context levels.
mbinclude
has been removed, plain @include
or
\input
can be used now.
It now supports running convert-ly on the lilypond snippets,
lilypond-book --filter='convert-ly --from=2.0.0' my-book.tely
LyricsVoice
context has been removed. Lyrics should only
be constructed in Lyrics
.
Thread
context has been removed. Note heads and rests
are now constructed at Voice
level.
<c' g''\harmonic>
\drums
mode, and printed or
performed in a DrumStaff
context:
\score { \drums \new DrumStaff { hihat4 cowbell8 } }
\autochange the-music
\markup
now has an equivalent in
Scheme. The markup*
macro creates such objects; the following
two markup commands are equivalent:
f4^#(markup* #:raise 0.2 #:bold "hi") f4^\markup { \raise #0.2 \bold hi }
vocalName
and vocNam
.
--safe-mode
, TeX and
PostScript file output is disallowed, and lilypond-bin is invoked with
--safe-mode
, the user's Guile expressions are evaluated in a
safe environment and file inclusion is not allowed.
Warning: this does not protect against denial-of-service attacks using Guile, TeX or PostScript.
(This feature is still experimental.)
\partcombine mus1 mus2
See input/regression/new-part-combine.ly for an example.
\mark
command now only does automatic incrementing for marks specified as
integer. For example, \mark #1
will print an A in the default
style. See input/regression/rehearsal-mark-letter.ly,
input/regression/rehearsal-mark-number.ly.
\context Voice \applyoutput #(add-balloon-text 'NoteHead "heads, or tails?" '(0 . -3)) c8
#(set-global-staff-size 15) \paper { #(paper-set-staff-size (* 15 pt)) }
Both have the same effect on the global layout of a piece. Similarly, the paper size may be changed as follows
#(set-default-paper-size "a4") \paper { #(set-paper-size "a4") }
barCheckSynchronize
superfluous, so it is now switched
off by default.
Warning: this will cause problems in scores that use bar checks to shorten measures.
=
quotes which indicates what its absolute
octave should be. In the following example,
\relative c'' { c='' b=' d,='' }
the d will generate a warning, because a d” is expected, but a d' is found.
Lyrics
lines can be put melodies
individually, allowing for different melismatic sections in every
Lyrics
. See input/regression/lyric-combine-new.ly.
\new Voice \with { \consists "Pitch_squash_engraver" } { c'4 }
\change
should now be used, e.g.
\change Staff = up
Staff
, can now be changed
using \set
, eg.
\new Staff { \override Staff.StaffSymbol #'line-count = #4 c'4 }
puts a quarter note C on a staff with 4 lines.
\translator { \ScoreContext autoBeaming = ##f }
the definition of ScoreContext
is updated to include the changed
setting.
font-size
is similar to the old font-relative-size
, but may be set to
fractional values; the closest design size will be scaled to achieve
the desired size. As a side-effect, there are now no longer
limitations in using smaller fonts (eg. grace notes) at small staff
sizes.
ih
for a half-sharp and eh
for a half-flat. Hence, the
following is an ascending list of pitches:
ceses ceseh ces ceh c cih cis cisih cisis
\duration #SCHEME-DURATION \pitch #SCHEME-PITCH \outputproperty func symbol = value
For \outputproperty
, the following may be substituted:
\applyoutput #(outputproperty-compatibility func symbol value)
\clef "G_8" \clef "G_15" \clef "G_9"
<pitches>
while simultaneous music is entered as
<<..music list..>>
In effect, the meanings of both have been swapped relative to their 1.8
definition. The syntax for lists in \markup
has changed
alongside, but figured bass mode was not changed, i.e.:
\markup { \center <..list of markups..> } \figure { <figures> }
As chords the more often used than simultaneous music, this change will save keystrokes.
<< \tag #'part << { c4 f2 g4 } % in the part, we have cue-notes \\ R1 >> \tag #'score R1 % in the score: only a rest >>
The same can be applied to articulations, texts, etc.: they are made by prepending
-\tag #your-tags
to an articulation, for example,
c4-\tag #'with-fingerings -4 -\tag #'with-strings \6
This defines a note, which has a conditional fingering and a string-number indication.
\property Voice.fingeringOrientations = #'(left down)
This will put the fingering for the lowest note below the chord, and the rest to the left.
ly2dvi
has been renamed to
lilypond
. The binary itself is now installed as
lilypond-bin
.
\acciaccatura
and \appoggiatura
,
\appoggiatura f8 e4 \acciaccatura g8 f4
Both reflect the traditional meanings of acciaccatura and appogiatura, and both insert insert a slur from the first grace note to the main note.
\new
command will create a context with a unique
name automatically. Hence, for multi-staff scores, it is no longer
necessary to invent arbitrary context names. For example, a two-staff
score may be created by
\simultaneous { \new Staff { notes for 1st staff } \new Staff { notes for 2nd staff } }
\octave pitch
This checks that pitch (without octave) yields pitch (with octave) in \relative mode. If not, a warning is printed, and the octave is corrected.
c8[( d8])
is a pair of beamed slurred eighth notes.
\relative
has been simplified. Octaves are
now always propagated in the order that music is entered. In the
following example,
PRE \repeat "unfold" 3 BODY \alternative { ALT1 ALT2 } POST
the octave of BODY is based on PRE, the starting octave of ALT1 on BODY, the starting octave of ALT2 on ALT1, and the starting octave of POST on ALT2.
The same mechanism is used for all other music expressions, except the chord. Backwards compatibility is retained through a special program option, which is set through
#(ly:set-option 'old-relative)
.ly
file to process and view
it automagically through the new lily-wins
frontend.
c8-[-( d8-]-)
In version 2.0, postfix syntax will be the only syntax available, and the dashes will become optional.
This will simplify the language: all articulations can be entered as postfix, in any order.
<< PITCHES >>
It is not necessary to update files to this syntax, but it will be for using LilyPond version 2.0. In version 2.0, this syntax will be changed to
< PITCHES >
for chords, and
\simultaneous { .. }
for simultaneous music.
To convert your files from <PITCHES> to <<PITCHES>>, use the script included in buildscripts/convert-new-chords.py
This change was introduced for the following reasons
\applycontext #SCHEME-FUNCTION
\applyoutput #SCHEME-FUNCTION
SCHEME-FUNCTION takes a single argument, and is called for every grob that is created in the current context.
R1*20^\markup { "GP" }
\apply #notes-to-clusters { NOTE NOTE .. }
#(set-time-signature 7 8 '(3 2 2))
NOTE-\startGroup .. NOTE-\stopGroup
#(set-octavation 1)
Read comments on this page, or
add one.
This page is for LilyPond-2.2.6 (stable-branch). |