| [ << New for specialist notation ] | [Top][Contents] | [ >> ] |
| [ < New for specialist notation ] | [ Up : Top ] | [ > ] |
Miscellaneous improvements
- Embedding PNG images is now supported using the new
\imagemarkup command. This supplements the existing\epsfilecommand for EPS images.\imageworks for both PNG and EPS images. For EPS images, the difference between using\imageand\epsfileis that\imageadds a white background by default, while\epsfiledoes not. - The new
\qr-codemarkup command inserts a QR code of the specified size for the specified URL. This can be used to link to, e.g., the website of a composer or publisher, the LilyPond source files for the score, recordings, etc.\markup \qr-code #10 "https://lilypond.org"
- Parentheses for text markup have been added to the Emmentaler fonts, which harmonize with digits (in contrast to the already available parentheses for accidentals).
- A figure-dash glyph (U+2012) and an en-dash glyph (U+2013) have been added to the Emmentaler fonts.
- A figure space (U+2007), a thin space (U+2009), and a hair space (U+200A) have been added to the Emmentaler fonts.
- The
-dinclude-settingsoption can now be given multiple times to include several stylesheets. - In the LaTeX backend of
lilypond-book, all inline images are now vertically shifted. The amount can be controlled globally with command-line option --inline-vshift and locally with an argument to the snippet optioninline. - Two new command-line options -dfirst and -dlast
have been introduced; they are equivalent to setting
showFirstLengthandshowLastLength, respectively, in a LilyPond input file. For example, sayinglilypond -dlast=R1*5 ...
makes LilyPond render only the last five measures (assuming a 4/4 time signature).
- A visual index of all LilyPond graphical objects (grobs) is now available as a manual. This is based on Joram Berger’s work for LilyPond 2.19.
- The printing of arpeggios has been improved, using new, different
default values for the
Arpeggio.positionsproperty. Adjustments of this property must probably be updated. - LilyPond provides support for in-notes, i.e., footnote-like annotations between music systems. This isn’t new (it was actually available since version 2.15.17, published in 2011) but it had some flaws and wasn’t documented until now.
- The
lilysongscript has been removed. Besides lacking any documentation, it hasn’t been maintained for a long time. Additionally, it has been using an external speech synthesis program calledfestival, which is no longer maintained either. - Two new spacing styles are available for the
space-alistgrob property:shrink-spaceandsemi-shrink-space; these spaces only shrink and don’t stretch. They are also used directly in LilyPond, improving the formatting of tightly spaced staves. - The
lilypondbinary has a new command-line option -dstaff-size to set the global staff size, equivalent to settingset-global-staff-sizein a LilyPond input file. - Instead of the functions
\bookOutputNameand\bookOutputSuffixwe now recommend to use the paper variablesoutput-filenameandoutput-suffix(which are not new but stayed undocumented until now). While the former will work unchanged, the latter is more coherent and easier to understand, especially if combined with predefined paper variables. - The
Stem.details.lengthsproperty now also accepts pairs as list elements, allowing to set the length for up and down stems separately. - The
ly:self-alignment-interface::aligned-on-x-parentfunction (used by many grobs to compute the x-offset) now listens to a newPaperColumnproperty calledX-alignment-extent. Set by default, it provides a fallback width for thePaperColumngrob in case it doesn’t contain note heads. This helps align dynamic scripts that are attached to spacer rests, for example.music = \new Staff << { f'2 g'2 } { s4\f s\f s\f s\f } >> \score { \music } \score { \music \layout { \context { \Score \override PaperColumn.X-alignment-extent = ##f } } }
-
BassFigureContinuationgrobs now supporthorizontal-line-spanner-interface; thepaddingproperty has been replaced with the corresponding sub-properties inbound-details. - The
\align-on-othermarkup command now accepts#fas a value for the alignment, indicating a markup’s reference point. - A new function
\withRelativeDiris now available for markup commands that include files, and where such files should be found relative to the input file. Example:\markup { \image #X #3 \withRelativeDir "test.png" } - The positioning of horizontal (analysis) brackets has been
improved; in particular, the
HorizontalBracketgrob now has anoutside-staff-priorityvalue of 800. As a consequence, however, nested horizontal brackets might be positioned differently than before. You can fix this by adjustingoutside-staff-priorityvalues with\tweak(where the outermost bracket should get the highest priority value). - A new Scheme function
to-staff-spaceis provided to convert absolute dimensions (in various units) to staff-space units. Examples:top-markup-spacing.basic-distance = #(to-staff-space 2 'cm) % default unit is pt \markup \override #`(baseline-skip . ,(to-staff-space 20)) \column { foo bar } - Two new markup functions
\abs-hspaceand\abs-vspaceare available to provide absolute dimensions that stay the same regardless of the current staff size. - The data emitted by the command-line option -dshow-available-fonts is now sent to standard output.
- Function
ly:font-config-display-fontsgot an optional argument to select the output port. - The Scheme command-line option handling is now more robust. In
course of the new implementation, some minor changes were
necessary.
- On the command line, the argument for the -dpaper-size
option no longer needs to be extra-quoted, i.e., a call like
-dpaper-size=a3works just fine. - The pixmap-format option now expects a string as a value,
not a symbol. No change on the command line, but a call like
#(ly:set-option 'pixmap-format 'pngalpha)
must be changed to
#(ly:set-option 'pixmap-format "pngalpha")
The same holds for options separate-page-formats and tall-page-formats. Note that
convert-lycan handle this automatically.
- On the command line, the argument for the -dpaper-size
option no longer needs to be extra-quoted, i.e., a call like
- The
side-position-interfacegot two new properties,X-paddingandminimum-X-space, to control the horizontal padding and minimum distance to a grob’s parent object, independently of the vertical padding and minimum distance. This is useful for grobs likeFingeringthat can be attached either horizontally or vertically to note heads, and which need different padding values for the X- and Y-axis, respectively. -
\pushContextPropertyand\popContextPropertyare two new commands for manipulating context properties. The first one pushes the current value to a stack and sets a new value, while the second one pops off the value from the stack and uses it to restore the previous value.{ c' \pushContextProperty Staff.fontSize 3 c' \pushContextProperty Staff.fontSize 6 c' \popContextProperty Staff.fontSize c' \popContextProperty Staff.fontSize c' }
For older news, go to https://lilypond.org/doc/v2.22/Documentation/changes/, or go back to the Documentation index.
| [ << New for specialist notation ] | [Top][Contents] | [ >> ] |
| [ < New for specialist notation ] | [ Up : Top ] | [ > ] |
![[image of music]](../9d/lily-7878c139.png)
![[image of music]](../0b/lily-56eaf92c.png)
![[image of music]](../d6/lily-4453a346.png)