New features in 2.12 since 2.10 ******************************* * Fret diagrams can now have variable string thickness: [image of music] * A new fret diagram orientation, opposing-landscape, is available: [image of music] * Unbeamed 128th notes are now supported: [image of music] * Extending LilyPond's existing support for microtones, there are now arrowed accidentals for the notation of microtonal alterations. To use them, redefine the `glyph-name-alist' property of `Accidental' as in the following example which uses quartertones to typeset arrowed accidentals. Alternatively, it is possible to define separate names for all notes with arrowed accidentals (see `ly/makam.ly' for boilerplate code). [image of music] * Straight flags (used in old scores of e.g. Bach, but also in different form in modern scores of e.g. Stockhausen) are now implemented: [image of music] * `\bookpart' blocks may be used to split a book into several parts, separated by a page break, in order to ease the page breaking, or to use different `\paper' settings in different parts. \bookpart { \header { title = "Book title" subtitle = "First part" } \score { ... } ... } \bookpart { \header { subtitle = "Second part" } \score { ... } ... } * Nested contexts of the same type are now allowed. This deprecates `InnerStaffGroup' and `InnerChoirStaff'. [image of music] * Percent repeat counters can be shown at regular intervals using the context property `repeatCountVisibility'. [image of music] * In addition to the already existing `showLastLength' property, `showFirstLength' can now be set as well, rendering only the first measures of a piece. Both properties may be set at the same time: [image of music] * The file extension for MIDI can be set using the command-line program default `midi-extension'. For Windows, the default extension has been changed to `.mid'. * Two variations on the default double repeat bar line are now available. [image of music] * Four automatic accidentals rules have been added: `neo-modern', `neo-modern-cautionary', `dodecaphonic' and `teaching'. The following example illustrates `neo-modern' rule. [image of music] * Flags can now be generated with Scheme-code using the `'flag' `Stem' grob property. Existing scores will work without change. [image of music] * Harp pedalling diagrams were added: [image of music] * Predefined, user-configurable, transposable fret diagrams are now available in the `FretBoards' context: [image of music] * The following syntax changes were made, in chronological order. In addition, fret diagram properties have been moved to `fret-diagram-details', and the `#'style' property is used to select solid/dashed lines instead of `#'dash-fraction'. 'break-align-symbol -> 'break-align-symbols scripts.caesura -> scripts.caesura.curved \setEasyHeads -> \easyHeadsOn \easyHeadsOff (new command) \fatText -> \textLengthOn \emptyText -> \textLengthOff \set hairpinToBarline -> \override Hairpin #'to-barline \compressMusic -> \scaleDurations \octave -> \octaveCheck \arpeggioUp -> \arpeggioArrowUp \arpeggioDown -> \arpeggioArrowDown \arpeggioNeutral -> \arpeggioNormal \setTextCresc -> \crescTextCresc \setTextDecresc -> \dimTextDecresc \setTextDecr -> \dimTextDecr \setTextDim -> \dimTextDim \setHairpinCresc -> \crescHairpin \setHairpinDecresc -> \dimHairpin \sustainUp -> \sustainOff \sustainDown -> \sustainOn \sostenutoDown -> \sostenutoOn \sostenutoUp -> \sostenutoOff 'infinite-spacing-height -> 'extra-spacing-height #(set-octavation oct) -> \ottava #oct \put-adjacent markup axis dir markup -> \put-adjacent axis dir markup markup \pointAndClickOn (new command) \pointAndClickOff (new command) \center-align -> \center-column \hcenter -> \center-align printallheaders -> print-all-headers \bigger -> \larger (already existing command) systemSeparatorMarkup -> system-separator-markup Moreover, some files in the `ly/' directory have been renamed; the *-init.ly filenames are now only used for files that are automatically included, while such files as `makam-init.ly' or `gregorian-init.ly' have been renamed to `makam.ly' or `gregorian.ly'. * The "tex" and "texstr" backends have been removed. Font are now accessed via the fontconfig library; the Pango library is used to display text strings. * Metronome marks can now also contain a textual description. The duration and count (if given) are shown in parentheses after the text. [image of music] * In figured bass you can now also use a backslash through a number to indicate a raised 6th step. [image of music] * Arpeggios may now use "parenthesis" style brackets: [image of music] * Single-system scores are now naturally spaced instead of being stretched to fill the line width. This can be changed by setting `ragged-right = ##f'. * Enclosing text within boxes with rounded corners is now possible, using the `\rounded-box' markup command. * `lilypond-book' can run any program instead of `latex' to guess the line width, thanks to `--latex-program' command line option. * Underlining is now possible with the `\underline' markup command. * It is now possible to specify, using the `page-count' variable in the paper block, the number of pages that will be used. * A new page breaking function, `ly:minimal-breaking', is dedicated to books with many pages or a lot of text. * A table of contents is included using `\markuplines \table-of-contents'. Elements are added to it using the `\tocItem' command. * Text spreading over several pages is entered using the `\markuplines' keyword. Builtin markup list commands, such as `\justified-lines' or `\wordwrap-lines' may be used, and new ones created using the `define-markup-list-command' Scheme macro. * Particular points of a book may be marked with the `\label' command. Then, the page where these points are placed can be referred to using the `\page-ref' markup command. * Page breaking and page turning commands (`\pageBreak', `\noPageBreak', etc.) can be used at top-level, between scores and top-level markups. * The following options are now changed as a `-d' sub-option: `--backend', `--safe', `--preview' and `--no-pages' (which became `-dno-print-pages'). The `-b' option does not exist any more. * Improved testing procedures now catch changes in CPU and memory performance, page layout, MIDI results and warnings. This helps to reduce the number of regression errors during development, resulting in more stable releases. See `INSTALL.html#Testing-LilyPond' for more information. * Nested properties, such as `'details' in `Slur', can be reverted as well. The syntax for this is \revert Slur #'(details closeness-factor) * All line spanners are more flexible now in the configuration of their end points. This includes glissando, voice followers, text crescendos and other text spanners. The old syntax for setting text on line spanners is no longer valid. [image of music] This feature was sponsored by Trevor Bača. * The environment variable `LILYPONDPREFIX' has been renamed `LILYPOND_DATADIR'. * Notes or rests, such as a typical end note, that fill an entire measure are preceded by some more space. [image of music] * All `\score's in a lilypond-book fragment are now inserted into the document. Also, toplevel markups don't result in an entire page. * Alterations (such as a sharp or flat) may now be arbitrary fractions. This allows some forms of microtonal music. For example, Turkish makam music uses 1/9th tone alterations. [image of music] * Tie directions may be set with `^~' and `_~'. * Tablature now supports harmonics and slides: [image of music] This feature was sponsored by Mike Amundsen * Horizontal spacing now follows object outlines more accurately. This allows tighter horizontal spacing. [image of music] * Objects that belong outside of the staff are now positioned automatically to avoid collisions. [image of music] * Staves are spaced vertically using a skyline algorithm. This helps prevent uneven vertical spacing. [image of music]  Local Variables: coding: utf-8 End: