]> git.donarmstrong.com Git - lilypond.git/blob - NEWS.txt
Imported Upstream version 2.19.45
[lilypond.git] / NEWS.txt
1 New features in 2.20 since 2.18
2 *******************************
3
4    * Blocks introduced with `\header' can be stored in variables and
5      used as arguments to music and scheme functions and as the body of
6      `#{...#}' constructs.  They are represented as a Guile module.
7
8      While `\book', `\bookpart', `\score', `\with', `\layout', `\midi',
9      `\paper' blocks can be passed around in similar manner, they are
10      represented by different data types.
11
12    * Dot-separated symbol lists like `FretBoard.stencil' were already
13      supported as of version 2.18.  They may now also contain unsigned
14      integers, and may alternatively be separated by commata.  This
15      allows usage such as
16
17           { \time 2,2,1 5/8  g'8 8 8 8 8 }
18            [image of music]
19
20
21      and
22      \tagGroup violin,oboe,bassoon
23
24    * Such lists may also be used in expressions for assignments, sets,
25      and overrides.  This allows usage such as
26
27           { \unset Timing.beamExceptions
28             \set Timing.beatStructure = 1,2,1
29             g'8 8 8 8 8 8 8 8 }
30            [image of music]
31
32
33    * Association list elements could previously be assigned values
34      individually (for example, paper variables like
35      `system-system-spacing.basic-distance').  They may now be also
36      referenced in this manner, as with
37      \paper {
38        \void \displayScheme \system-system-spacing.basic-distance
39      }
40
41      In combination with the previously mentioned changes, this allows
42      setting and referencing pseudovariables like `violin.1'.
43
44    * LilyPond source files may now be embedded inside the generated PDF
45      files.  This experimental feature is disabled by default and may
46      be regarded as unsafe, as PDF documents with hidden content tend
47      to present a security risk.  Please note that not all PDF viewers
48      have the ability to handle embedded documents (if not, the PDF
49      output will appear normally and source files will remain
50      invisible).  This feature only works with the PDF backend.
51
52    * French note names are now defined specifically instead of being
53      aliased to Italian note names: in addition to the generic
54      Italian-derived syntax, the D pitch may be entered as `rĂ©'.
55      Double sharps may also be entered using the `-x' suffix.
56
57    * Additional bass strings (for lute tablature) are supported.
58
59           m = { f'4 d' a f d a, g, fis, e, d, c,  \bar "|." }
60
61           \score {
62             \new TabStaff \m
63             \layout {
64               \context {
65                 \Score
66                 tablatureFormat = #fret-letter-tablature-format
67               }
68               \context {
69                 \TabStaff
70                 stringTunings = \stringTuning <a, d f a d' f'>
71                 additionalBassStrings = \stringTuning <c, d, e, fis, g,>
72                 fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
73               }
74             }
75           }
76            [image of music]
77
78
79    * The markup-list-command `\table' is now available.  Each column
80      may be aligned differently.
81
82           \markuplist {
83               \override #'(padding . 2)
84               \table
85                 #'(0 1 0 -1)
86                 {
87                   \underline { center-aligned right-aligned center-aligned left-aligned }
88                   one "1" thousandth "0.001"
89                   eleven "11" hundredth "0.01"
90                   twenty "20" tenth "0.1"
91                   thousand "1000" one "1.0"
92                 }
93           }
94            [image of music]
95
96
97    * A new markup-command, `\with-dimensions-from', makes
98      `\with-dimensions' easier to use by taking the new dimensions from
99      a markup object, given as first argument.
100
101           \markup {
102             \pattern #5 #Y #0 "x"
103             \pattern #5 #Y #0 \with-dimensions-from "x" "f"
104             \pattern #5 #Y #0 \with-dimensions-from "x" "g"
105             \override #'(baseline-skip . 2)
106             \column {
107               \pattern #5 #X #0 "n"
108               \pattern #5 #X #0 \with-dimensions-from "n" "m"
109               \pattern #5 #X #0 \with-dimensions-from "n" "!"
110             }
111           }
112            [image of music]
113
114
115    * A new page breaking function `ly:one-line-auto-height-breaking'
116      places a whole score on a single line and changes the page width
117      to match, just like `ly:one-line-breaking'.  The difference is that
118      it also automatically modifies the height of the page to fit the
119      height of the music.
120
121    * Markup-command `\draw-squiggle-line' is now available.
122      Customizing is possible with overrides of `thickness',
123      `angularity', `height' and `orientation'
124
125           \markup
126             \overlay {
127               \draw-squiggle-line #0.5 #'(3 . 3) ##t
128
129               \translate #'(3 . 3)
130               \override #'(thickness . 4)
131               \draw-squiggle-line #0.5 #'(3 . -3) ##t
132
133               \translate #'(6 . 0)
134               \override #'(angularity . -5)
135               \draw-squiggle-line #0.5 #'(-3 . -3) ##t
136
137               \translate #'(3 . -3)
138               \override #'(angularity . 2)
139               \override #'(height . 0.3)
140               \override #'(orientation . -1)
141               \draw-squiggle-line #0.2 #'(-3 . 3) ##t
142             }
143            [image of music]
144
145
146    * A new command, `\RemoveAllEmptyStaves', has been made available,
147      which acts exactly like `\RemoveEmptyStaves', except for also
148      removing empty staves on the first system in a score.
149
150    * Markup-commands `\undertie' and `\overtie' are now available, as
151      well as the generic markup-command `\tie'.
152
153           \markup {
154             \undertie "undertied"
155             \overtie "overtied"
156           }
157
158           m = {
159             c''1 \prall -\tweak text \markup \tie "131" -1
160           }
161
162           { \voiceOne \m \voiceTwo \m }
163            [image of music]
164
165
166    * `TabStaff' is now able to print micro-tones for bendings etc.
167
168           \layout {
169             \context {
170               \Score
171               supportNonIntegerFret = ##t
172             }
173           }
174
175           mus = \relative { c'4 cih d dih }
176
177           <<
178             \new Staff << \clef "G_8" \mus >>
179             \new TabStaff \mus
180           >>
181            [image of music]
182
183
184    * Two new styles of whiteout are now available.  The `outline' style
185      approximates the contours of a glyph's outline, and its shape is
186      produced from multiple displaced copies of the glyph.  The
187      `rounded-box' style produces a rounded rectangle shape.  For all
188      three styles, including the default `box' style, the whiteout
189      shape's `thickness', as a multiple of staff-line thickness, can be
190      customized.
191
192           \markup {
193             \combine
194               \filled-box #'(-1 . 15) #'(-3 . 4) #1
195               \override #'(thickness . 3)
196               \whiteout whiteout-box
197           }
198           \markup {
199             \combine
200               \filled-box #'(-1 . 24) #'(-3 . 4) #1
201               \override #'(style . rounded-box)
202               \override #'(thickness . 3)
203               \whiteout whiteout-rounded-box
204           }
205           \markup {
206             \combine
207               \filled-box #'(-1 . 18) #'(-3 . 4) #1
208               \override #'(style . outline)
209               \override #'(thickness . 3)
210               \whiteout whiteout-outline
211           }
212           \relative {
213             \override Staff.Clef.whiteout-style = #'outline
214             \override Staff.Clef.whiteout = 3
215             g'1
216           }
217            [image of music]
218
219
220    * All of `\override', `\revert', `\set', and `\unset' now work with
221      the `\once' prefix for making one-time settings.
222
223           \relative {
224             c'4 d
225             \override NoteHead.color = #red
226             e4 f |
227             \once \override NoteHead.color = #green
228             g4 a
229             \once \revert NoteHead.color
230             b c |
231             \revert NoteHead.color
232             f2 c |
233           }
234            [image of music]
235
236
237    * When outputting MIDI, LilyPond will now store the `title' defined
238      in a score's `\header' block (or, if there is no such definition
239      on the `\score' level, the first such definition found in a
240      `\header' block of the score's enclosing `\bookpart', `\book', or
241      top-level scope) as the name of the MIDI sequence in the MIDI
242      file.  Optionally, the name of the MIDI sequence can be overridden
243      using the new `midititle' `\header' field independently of `title'
244      (for example, in case `title' contains markup code which does not
245      render as plain text in a satisfactory way automatically).
246
247    * Music (and scheme and void) functions and markup commands that
248      just supply the final parameters to a chain of overrides, music
249      function and markup command calls can now be defined in the form
250      of just writing the expression cut short with `\etc'.
251
252           bold-red-markup = \markup \bold \with-color #red \etc
253           highlight = \tweak font-size 3 \tweak color #red \etc
254
255           \markup \bold-red "text"
256           \markuplist \column-lines \bold-red { One Two }
257
258           { c' \highlight d' e'2-\highlight -! }
259            [image of music]
260
261
262    * LilyPond functions defined with `define-music-function',
263      `define-event-function', `define-scheme-function' and
264      `define-void-function' can now be directly called from Scheme as
265      if they were genuine Scheme procedures.  Argument checking and
266      matching will still be performed in the same manner as when
267      calling the function through LilyPond input.  This includes the
268      insertion of defaults for optional arguments not matching their
269      predicates.  Instead of using `\default' in the actual argument
270      list for explicitly skipping a sequence of optional arguments,
271      `*unspecified*' can be employed.
272
273    * Current input location and parser are now stored in GUILE fluids
274      and can be referenced via the function calls `(*location*)' and
275      `(*parser*)'.  Consequently, a lot of functions previously taking
276      an explicit `parser' argument no longer do so.
277
278      Functions defined with `define-music-function',
279      `define-event-function', `define-scheme-function' and
280      `define-void-function' no longer use `parser' and `location'
281      arguments.
282
283      With those particular definitions, LilyPond will try to recognize
284      legacy use of `parser' and `location' arguments, providing
285      backwards-compatible semantics for some time.
286
287    * In the "english" notename language, the long notenames for pitches
288      with accidentals now contain a hyphen for better readability.  You
289      now have to write
290      \key a-flat \major
291      instead of the previous
292      \key aflat \major
293
294      Double accidentals do not get another hyphen, so the Dutch `cisis'
295      has the long English notename `c-sharpsharp'.
296
297    * The visual style of tremolo slashes (shape, style and slope) is
298      now more finely controlled.
299
300           [image of music]
301
302
303    * Multi-measure rests have length according to their total duration,
304      under the control of `MultiMeasureRest.space-increment'.
305
306           [image of music]
307
308
309    * Page numbers may now be printed in roman numerals, by setting the
310      `page-number-type' paper variable.
311
312    * It is now possible to use `\time' and `\partial' together to
313      change the time signature in mid measure.
314
315           \override Score.BarNumber.break-visibility = #end-of-line-invisible
316           \partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||"
317           \time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 |
318            [image of music]
319
320
321    * It is now possible to override the `text' property of chord names.
322
323           <<
324           \new ChordNames \chordmode {
325             a' b c:7
326             \once \override ChordName.text = #"foo"
327             d
328           }
329           >>
330            [image of music]
331
332
333    * Improved horizontal alignment when using `TextScript', with
334      `DynamicText' or `LyricText'.
335
336    * A new command `\magnifyStaff' has been added which scales staff
337      sizes, staff lines, bar lines, beamlets and horizontal spacing
338      generally at the `Staff' context level.  Staff lines are prevented
339      from being scaled smaller than the default since the thickness of
340      stems, slurs, and the like are all based on the staff line
341      thickness.
342
343    * `InstrumentName' now supports `text-interface'.
344
345    * There is now support for controlling the `expression level' of
346      MIDI channels using the `Staff.midiExpression' context property.
347      This can be used to alter the perceived volume of even sustained
348      notes (albeit in a very `low-level' way) and accepts a number
349      value between `0.0' and `1.0'.
350
351      \score {
352        \new Staff \with {
353          midiExpression = #0.6
354          midiInstrument = #"clarinet"
355        }
356        <<
357          { a'1~ a'1 }
358          {
359            \set Staff.midiExpression = #0.7 s4\f\<
360            \set Staff.midiExpression = #0.8 s4
361            \set Staff.midiExpression = #0.9 s4
362            \set Staff.midiExpression = #1.0 s4
363
364            \set Staff.midiExpression = #0.9 s4\>
365            \set Staff.midiExpression = #0.8 s4
366            \set Staff.midiExpression = #0.7 s4
367            \set Staff.midiExpression = #0.6 s4\!
368          }
369        >>
370        \midi { }
371      }
372
373    * Support for making it easier to use alternative `music' fonts other
374      than the default Emmentaler in LilyPond has been added.  See
375      `http://fonts.openlilylib.org/' for more information.
376
377    * Grobs and their parents can now be aligned separately allowing
378      more flexibility for grob positions.  For example the `left' edge
379      of a grob can now be aligned on the `center' of its parent.
380
381    * Improvements to the `\partial' command have been made to avoid
382      problems when using multiple, parallel contexts.
383
384    * `\chordmode' can now use `< >' and `<< >>' constructs.
385
386    * A new command `\tagGroup' has now been added.  This complements
387      the existing `\keepWithTag' and `\removeWithTag' commands.  For
388      Example:
389
390      \tagGroup #'(violinI violinII viola cello)
391
392      declares a list of `tags' that belong to a single `tag group'.
393
394      \keepWithTag #'violinI
395
396      Is now only concerned with `tags' from `violinI'’s tag group.
397
398      Any element of the included music tagged with one or more tags
399      from the group, but _not_ with VIOLINI, will be removed.
400
401    * The `\addlyrics' function now works with arbitrary contexts
402      incuding `Staff'.
403
404    * String numbers can now also be used to print roman numerals (e.g.
405      for unfretted string instruments).
406
407           c2\2
408           \romanStringNumbers
409           c\2
410           \arabicStringNumbers
411           c1\3
412            [image of music]
413
414
415    * The `thin-kern' property of the `BarLine' grob has been renamed to
416      `segno-kern'.
417
418    * `KeyCancellation' grobs now ignore cue clefs (like `KeySignature'
419      grobs do).
420
421    * Add support for `\once \unset'
422
423    * It is now possible to individually color both the dots and
424      parentheses in fret diagrams when using the
425      `\fret-diagram-verbose' markup command.
426
427           \new Voice {
428             c1^\markup {
429               \override #'(fret-diagram-details . (
430                            (finger-code . in-dot))) {
431                 \fret-diagram-verbose #'((mute 6)
432                                          (place-fret 5 3 1 red)
433                                          (place-fret 4 5 2 inverted)
434                                          (place-fret 3 5 3 green)
435                                          (place-fret 2 5 4 blue inverted)
436                                          (place-fret 1 3 1 violet)
437                                          (barre 5 1 3 ))
438               }
439             }
440             c1^\markup {
441               \override #'(fret-diagram-details . (
442                            (finger-code . below-string))) {
443                 \fret-diagram-verbose #'((mute 6)
444                                        (place-fret 5 3 1 red parenthesized)
445                                        (place-fret 4 5 2 yellow
446                                                          default-paren-color
447                                                          parenthesized)
448                                        (place-fret 3 5 3 green)
449                                        (place-fret 2 5 4 blue )
450                                        (place-fret 1 3 1)
451                                        (barre 5 1 3))
452               }
453             }
454           }
455            [image of music]
456
457
458    * Two new properties have been added for use in
459      `fret-diagram-details' when using the `\fret-diagram-verbose'
460      markup command; `fret-label-horizontal-offset' which affects the
461      `fret-label-indication' and `paren-padding' which controls the
462      space between the dot and the parentheses surrounding it.
463
464           \new Voice {
465             c1^\markup {
466               \fret-diagram-verbose #'((mute 6)
467                                        (place-fret 5 3 1)
468                                        (place-fret 4 5 2)
469                                        (place-fret 3 5 3)
470                                        (place-fret 1 6 4 parenthesized)
471                                        (place-fret 2 3 1)
472                                        (barre 5 2 3))
473             }
474             c1^\markup {
475               \override #'(fret-diagram-details . (
476                            (fret-label-horizontal-offset . 2)
477                            (paren-padding . 0.25))) {
478                 \fret-diagram-verbose #'((mute 6)
479                                          (place-fret 5 3 1)
480                                          (place-fret 4 5 2)
481                                          (place-fret 3 5 3)
482                                          (place-fret 1 6 4 parenthesized)
483                                          (place-fret 2 3 1)
484                                          (barre 5 2 3))
485               }
486             }
487           }
488            [image of music]
489
490
491    * A new markup command `\justify-line' has been added.  Similar to
492      the `\fill-line' markup command except that instead of setting
493      _words_ in columns, the `\justify-line' command balances the
494      whitespace between them ensuring that when there are three or more
495      words in a markup, the whitespace is always consistent.
496
497           \markup \fill-line {oooooo oooooo oooooo oooooo}
498           \markup \fill-line {ooooooooo oooooooo oo ooo}
499            [image of music]
500
501
502           \markup \justify-line {oooooo oooooo oooooo oooooo}
503           \markup \justify-line {ooooooooo oooooooo oo ooo}
504            [image of music]
505
506
507    * A new command `\magnifyMusic' has been added, which allows the
508      notation size to be changed without changing the staff size, while
509      automatically scaling stems, beams, and horizontal spacing.
510
511           \new Staff <<
512             \new Voice \relative {
513               \voiceOne
514               <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
515             }
516             \new Voice \relative {
517               \voiceTwo
518               \magnifyMusic 0.63 {
519                 \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
520                 r32 c'' a c a c a c r c a c a c a c
521                 r c a c a c a c a c a c a c a c
522               }
523             }
524           >>
525            [image of music]
526
527
528    * A new flexible template suitable for a range of choral music, is
529      now provided.  This may be used to create simple choral music,
530      with or without piano accompaniment, in two or four staves. Unlike
531      other templates, this template is `built-in', which means it does
532      not need to be copied and edited: instead it is simply `\include''d
533      in the input file.  For details, see *note Built-in templates:
534      (lilypond-learning)Built-in templates.
535
536    * The positioning of tuplet numbers for kneed beams has been
537      significantly improved.  Previously, tuplet numbers were placed
538      according to the position of the tuplet bracket, even if it was
539      not printed.  This could lead to stranded tuplet numbers.  Now
540      they are now positioned closer to the kneed-beam when an
541      appropriate beam segment exists for its placement and when the
542      bracket is not drawn.
543
544      Collision detection is also added, offsetting horizontally if too
545      close to an adjoining note column but preserving the number's
546      vertical distance from the kneed beam.  If the number itself is
547      too large to fit in the available space the original,
548      bracket-based, positioning system is used instead; and in the
549      event of a collision (e.g. with an accidental) the tuplet number
550      is moved vertically away instead.
551
552           \time 3/4
553           \override Beam.auto-knee-gap = 3
554           \tuplet 3/2 4 {
555             g8 c'' e,
556             c'8 g,, e''
557             g,,8 e''' c,,
558           }
559            [image of music]
560
561
562      The original kneed-beam tuplet behavior is still available through
563      an `\override' via a new, `knee-to-beam' property.
564
565           \time 3/4
566           \override Beam.auto-knee-gap = 3
567           \override TupletNumber.knee-to-beam = ##f
568           \tuplet 3/2 4 {
569             g8 c'' e,
570             c'8 g,, e''
571             g,,8 e''' c,,
572           }
573            [image of music]
574
575
576    * `\lyricsto' and `\addLyrics' have been `harmonized'.  Both now
577      accept the same kind of delimited argument list that `\lyrics' and
578      `\chords' accept.  Backward compatibility has been added so music
579      identifiers (i.e. `\mus') are permitted as arguments.  A
580      `convert-ly' rule has been added that removes redundant uses of
581      `\lyricmode' and rearranges combinations with context starters such
582      that `\lyricsto' in general is applied last (i.e. like
583      `\lyricmode' would be).
584
585    * Scheme functions and identifiers can now be used as output
586      definitions.
587
588    * Scheme expressions can now be used as chord constituents.
589
590    * Improved visual spacing of small and regular `MI' Funk and Walker
591      noteheads so they are now the same width as other shaped notes in
592      their respective sets.  `SOL' noteheads are also now visually
593      improved when used with both the normal Aiken and Sacred Harp
594      heads, as well as with the thin variants.
595
596    * `LeftEdge' now has a definable `Y-extent' (i.e.vertical).  See *note
597      LeftEdge: (lilypond-internals)LeftEdge.
598
599    * Added a new `make-path-stencil' function that supports all `path'
600      commands both relative and absolute:
601
602      `lineto', `rlineto', `curveto', `rcurveto', `moveto', `rmoveto',
603      `closepath'.  The function also supports `single-letter' syntax
604      used in standard SVG path commands:
605
606      `L', `l', `C', `c', `M', `m', `Z' and `z'.  The new command is
607      also backward-compatible with the original
608      `make-connected-path-stencil' function.  Also see
609      `scm/stencil.scm'.
610
611    * Context properties named in the `alternativeRestores' property are
612      restored to their value at the start of the _first_ alternative in
613      all subsequent alternatives.
614
615      Currently the default set restores `current meter';
616
617           \time 3/4
618           \repeat volta 2 { c2 e4 | }
619           \alternative {
620             { \time 4/4 f2 d | }
621             { f2 d4 | }
622           }
623           g2. |
624            [image of music]
625
626
627      `measure position';
628
629           \time 3/4
630           \repeat volta 2 { c2 e4 | }
631           \alternative {
632             { \time 4/4
633               \set Timing.measurePosition = #(ly:make-moment -1/2)
634               f2 | }
635             { f2 d4 | }
636           }
637           g2. |
638            [image of music]
639
640
641      and `chord changes';
642
643           <<
644             \new ChordNames {
645               \set chordChanges = ##t
646               \chordmode { c1:m d:m c:m d:m }
647             }
648             \new Staff {
649               \repeat volta 2 { \chordmode { c1:m } }
650               \alternative {
651                 { \chordmode { d:m } }
652                 { \chordmode { c:m } }
653               }
654             \chordmode { d:m }
655           }
656           >>
657            [image of music]
658
659
660    * Improved MIDI output for breathe marks.  After tied notes, breaths
661      take time _only_ from the last note of the tie; e.g.  `{ c4~ c8
662      \breathe }' performs as `{ c4~ c16 r }' instead of `{ c4 r8 }'.
663      This is more consistent with articulations and how humans
664      interpret breaths after ties.  It now also makes it easier to
665      align simultaneous breathe marks over multiple parts, all with
666      different note lengths.
667
668    * A new note head style for Tabulature has been added;
669      `TabNoteHead.style = #'slash'.
670
671    * Four new Clef glyphs have been added _Double G_, _Tenor G_,
672      _Varpercussion_ and _varC_ and their related tessitura.
673
674             \override Staff.Clef.full-size-change = ##t
675
676             \clef "GG" c c c c
677             \clef "tenorG" c c c c
678             \clef "varC" c c c c
679             \clef "altovarC" c c c c
680             \clef "tenorvarC" c c c c
681             \clef "baritonevarC" c c c c
682             \clef "varpercussion" c c c c
683
684             \break
685             \override Staff.Clef.full-size-change = ##f
686
687             \clef "GG" c c c c
688             \clef "tenorG" c c c c
689             \clef "varC" c c c c
690             \clef "altovarC" c c c c
691             \clef "tenorvarC" c c c c
692             \clef "baritonevarC" c c c c
693             \clef "varpercussion" c c c c
694            [image of music]
695
696
697    * Isolated durations in music sequences now stand for unpitched
698      notes.  This may be useful for specifying rhythms to music or
699      scheme functions.  When encountered in the final score, the
700      pitches are provided by the preceding note or chord.  Here are two
701      examples where this makes for readable input:
702
703           \new DrumStaff \with { \override StaffSymbol.line-count = 1 }
704           \drummode {
705             \time 3/4
706             tambourine 8 \tuplet 3/2 { 16 16 16 }
707                        8 \tuplet 3/2 { 16 16 16 } 8 8 |
708           }
709            [image of music]
710
711
712           \new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
713            [image of music]
714
715
716    * `\displayLilyMusic' and its underlying Scheme functions no longer
717      omit redundant note durations.  This makes it easier to reliably
718      recognize and format standalone durations in expressions like
719      { c4 d4 8 }
720
721    * Beaming exceptions can now be constructed using the
722      `\beamExceptions' scheme function.  One can now write
723
724           \time #'(2 1) 3/16
725           \set Timing.beamExceptions =
726             \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
727           c16 c c |
728           \repeat unfold 6 { c32 } |
729            [image of music]
730
731
732      with multiple exceptions separated with `|' bar checks (writing
733      the exception pattern without pitches is convenient but not
734      mandatory).  Previously, setting the beam exceptions would have
735      required writing
736
737      \set Timing.beamExceptions =
738      #'(                         ;start of alist
739         (end .                   ;entry for end of beams
740          (                       ;start of alist of end points
741           ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
742          )))
743
744    * The most common articulations are now reflected in MIDI output.
745      Accent and marcato make notes louder; staccato, staccatissimo and
746      portato make them shorter. Breath marks shorten the previous note.
747
748      This behavior is customizable through the `midiLength' and
749      `midiExtraVelocity' properties on `ArticulationEvent'.  See
750      `script-init.ly' for examples.
751
752    * The PostScript functionality of stroke adjustment is no longer
753      applied automatically but left to the discretion of the PostScript
754      device (by default, Ghostscript uses it for resolutions up to
755      150dpi when generating raster images).  When it is enabled, a more
756      complex drawing algorithm designed to benefit from stroke
757      adjustment is employed mostly for stems and bar lines.
758
759      Stroke adjustment can be forced by specifying the command line
760      option `-dstrokeadjust' to LilyPond.  When generating `PDF' files,
761      this will usually result in markedly better looking `PDF' previews
762      but significantly larger file size.  Print quality at high
763      resolutions will be unaffected.
764
765
766
767 \1f
768 Local Variables:
769 coding: utf-8
770 End: