]> git.donarmstrong.com Git - lilypond.git/blobdiff - NEWS.txt
resolve merge
[lilypond.git] / NEWS.txt
index 1a11d9b769fbd20ee8bba600ad28b85d95df37c4..64fcff492d4d7d3a8e6590d501f4a474e2efaab1 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
-New features in 2.12 since 2.10
+New features in 2.14 since 2.12
 *******************************
 
-   * Fret diagrams can now have variable string thickness:
+   * Lilypond now helps beams avoid collisions with other grobs!  This
+     feature works completely with manual beams.  It also works for all
+     automatic beams that do not end right before a change in staff.
+     For this special case, please use manual beams.
 
-          [image of music]
+   * The Articulate script by Peter Chubb, which is GPLv3 licensed, is
+     now a part of the distribution.  It allows easy generation of
+     improved MIDI files that perform non-legato by default, legato
+     slurs, staccato, tempo markings, trills, etc.
 
+          \include "articulate.ly"
+          \articulate <<
+                all the rest of the score...
+          >>
 
-   * A new fret diagram orientation, opposing-landscape, is available:
+   * Single beat repeats for sixteenth or shorter notes and beat
+     repeats for measures containing notes of varying durations are now
+     supported.
 
-          [image of music]
+     [image of music]
 
+   * Lilypond now engraves woodwind fingering charts.
 
-   * Unbeamed 128th notes are now supported:
+     [image of music]
 
-          [image of music]
+   * MIDI output has been improved
+        * the option `\set Score.midiChannelMapping = #'voice' puts
+          each voice on its own midi MIDI channel
 
+        * the option `\set Score.midiChannelMapping = #'instrument'
+          puts identical instruments on the same MIDI channel.  This
+          means that e.g. for a full orchestral score there are always
+          16 (15 plus percussion) differently sounding instruments
+          available, unrestricted by the number of staves or voices.
+          (Some MIDI players will cut off notes, however, if two voices
+          play the same pitch simultaneously on the same channel.) This
+          option also stores each voice in a separate track in the MIDI
+          file.
 
-   * 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).
+        * the default, `\set Score.midiChannelMapping = #'staff',
+          assigns one MIDI channel per staff.  This setting allows
+          instrument changes (implemented as MIDI program changes) to
+          re-use single MIDI channel.
 
-          [image of music]
+        * dynamics are now rendered as note velocities, no longer as
+          midi volume.  This improves the sound on [high end] midi
+          renderers.
 
+   * MIDI-import through Midi2ly is improved
+        * Midi2ly now also works on Windows systems
 
-   * 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:
+        * MIDI-files with more than 32 tracks are now handled
 
-          [image of music]
+        * notes on certain simultaneous voices no longer ignored
+
+        * notes overrunning a bar line are no longer truncated
+
+        * initial key signature and time signature are respected
+
+        * a problem with octaves in subsequent tracks/voices is fixed
+
+        * initial support for multiple voices notated on one staff
+
+        * the instrumentName is set from track data
+
+        * new -skip option, rests are displayed by default
 
+        * rests overrunning a bar line are not truncated
 
-   * `\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.
+        * new -include-header option for setting titles
 
-          \bookpart {
-            \header {
-              title = "Book title"
-              subtitle = "First part"
+        * new -preview option for big MIDI-files
+     The first feature was sponsored by Valentin Villenave, the other
+     features were sponsored by Image-Line Software for FL Studio.
+
+   * A new `Completion_rest_engraver' is available for automatically
+     converting long rests which overrun bar lines, matching the
+     `Completion_heads_engraver' for notes
+          \layout {
+            \context {
+              \Voice
+              \remove "Note_heads_engraver"
+              \consists "Completion_heads_engraver"
+              \remove "Rest_engraver"
+              \consists "Completion_rest_engraver"
             }
-            \score { ... }
-            ...
           }
-          \bookpart {
-            \header {
-              subtitle = "Second part"
-            }
-            \score { ... }
-            ...
+     This feature was sponsored by Image-Line Software for FL Studio.
+
+   * Dots can be added to the table of contents items using:
+          \paper {
+            tocItemMarkup = \tocItemWithDotsMarkup
           }
 
-   * Nested contexts of the same type are now allowed.  This deprecates
-     `InnerStaffGroup' and `InnerChoirStaff'.
+   * New markup commands `\pattern' and `\fill-with-pattern' are
+     available.  [image of music]
 
-          [image of music]
+   * A minimal composer toolkit of modal transformations is provided.
+     A motif may be transposed, inverted and/or converted to its
+     retrograde within any scale.
 
+     [image of music]
 
-   * Percent repeat counters can be shown at regular intervals using the
-     context property `repeatCountVisibility'.
+   * Added minimal support for black mensural notation.
 
-          [image of music]
+   * Enhanced support for obliqua shapes within white mensural
+     ligatures.
 
+     [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:
+   * New markup functions `\with-link' and `\page-link' that add
+     hyperlinks to a given label or a given page number. This works in
+     the PDF backend only. All entries to the table of contents now
+     automatically add hyperlinks to the pages they are referring to.
 
-          [image of music]
+   * Compound time signatures are now supported by the `\compoundMeter'
+     command, which can be used instead of `\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'.
+   * Lyrics above a staff must have their `staff-affinity' set to
+     `DOWN' or must have their `alignAboveContext' property set in
+     order to be properly aligned.  For more information, see *note
+     Placing lyrics vertically: (lilypond-notation)Placing lyrics
+     vertically.
 
-   * Two variations on the default double repeat bar line are now
-     available.
+   * `stringTunings' property values have changed from a list of
+     semitones above middle C to a list of LilyPond pitch values.
+     convert-ly will handle the change automatically where the value of
+     `stringTunings' is set to a Scheme constant value.
 
-          [image of music]
+     New commands `makeStringTuning' and `contextStringTuning' allow
+     the creation of string tunings in the form of a Lilypond chord
+     construct.
 
+   * By using `\cueDuringWithClef', cue notes can now also have their
+     own clef, which is correctly reset at the end of the cue notes.
+     At the begin of each line, the standard clef is still displayed,
+     but the cue clef is shown after the time/key signature in smaller
+     size.
 
-   * 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]
 
-          [image of music]
+   * Note names can be selected with a new `\language "italiano"'
+     command, which can be used in safe mode.  The old `\include
+     "italiano.ly"' syntax is still supported for now, but will be
+     deprecated in the future.
+
+   * autobeaming is now disabled by `\cadenzaOn' and enabled by
+     `\cadenzaOff'.  Beaming in cadenzas should be indicated manually.
+     Also, if a cadenza is used in a piece with autobeaming disabled, it
+     will need to be disabled again after the cadenza.
 
+   * The user is now able to specify the name of the predefined
+     fretboard table.  This allows the use of multiple tables, with
+     switching between them based on user input.
 
-   * Flags can now be generated with Scheme-code using the `'flag'
-     `Stem' grob property.  Existing scores will work without change.
+   * The part-combiner's decision to combine/not combine notes can now
+     be customized
 
           [image of music]
 
 
-   * Harp pedalling diagrams were added:
+   * Tablature staves show fret numbers only by default. To get the
+     former style, `\tabFullNotation' is provided.
 
-          [image of music]
+   * Funk-style and Walker-style shape notes have been added.
 
+   * Rests will no longer keep a staff alive if
+     `\RemoveEmptyStaffContext' is used.
 
-   * Predefined, user-configurable, transposable fret diagrams are now
-     available in the `FretBoards' context:
+   * New option `-dinclude-settings=INCLUDEFILE.ly', which causes
+     lilypond to include the given file before the score is processed.
+     This allows the user to change global settings without the need to
+     change the score itself.  That way, several different
+     editions/version (e.g. different page sizes) can be generated from
+     a file without having to modify the score for each version.
 
-          [image of music]
+   * The autobeaming settings syntax has been changed.  beatLength,
+     beatGrouping, beamSettings, and measureGrouping have all been
+     eliminated.  Autobeaming is now controlled by baseMoment,
+     beatStructure, and beamExceptions.  Default settings for each of
+     these properties can be stored for any time signature in
+     time-signature-settings, so that when the time signature is
+     changed, the autobeaming will automatically change.  The new
+     syntax should be much easier and require fewer overrides.
 
+   * The SVG backend has optional support for WOFF fonts
+     (http://www.w3.org/Submission/WOFF).  Using the Scheme option `-d
+     svg-woff' together with the SVG backend selection `-d
+     backend=svg', produces SVG output with CSS WOFF font selection.
 
-   * 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.
+   * The LilyPond G clef has been rotated 1.5 degrees clockwise for
+     improved balance.  The old and new versions can be compared by
+     looking at the documentation: old version
+     (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/The-Feta-font.html#Clef-glyphs),
+     new version
+     (http://lilypond.org/doc/v2.14/Documentation/notation/the-feta-font.html#Clef-glyphs).
+
+   * Text crescendo spanners can now be added directly using `\cresc',
+     `\dim' and `\decresc'.
 
           [image of music]
 
 
-   * In figured bass you can now also use a backslash through a number
-     to indicate a raised 6th step.
+   * The documented syntax of `lilypond' environments in the LaTeX mode
+     of `lilypond-book' has been changed to conform with standard LaTeX
+     syntax: options now come after the environment name:
+          \begin{lilypond}[OPTIONS] ...
 
-          [image of music]
+     The previous syntax with options after `\begin' is still accepted
+     by `lilypond-book' but deprecated.  Something like
+          sed -i '/begin\[/s/begin\(\[[^]]*]\)\({lilypond}\)/begin\2\1/'
+
+     might do the trick for conversion.
 
+   * Aesthetics of shape note heads have been enhanced.  Variable line
+     thicknesses have been implemented.  All note widths have been made
+     consistent.  Minor shape note commands that use the relative major
+     key for scale steps have been added.
 
-   * Arpeggios may now use "parenthesis" style brackets:
+   * A variant of the Segno sign is provided:
 
           [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'.
+   * Context modifications (`\with' blocks) can be stored in variables
+     and inserted into contexts or other `\with' blocks:
 
-   * Enclosing text within boxes with rounded corners is now possible,
-     using the `\rounded-box' markup command.
+          coloredheads = \with { \override NoteHead #'color = #red }
+          noclef = \with { \remove "Clef_engraver" }
+          \score {
+            \new Staff {
+              \new Voice \with { \coloredheads } \relative c' { c4 e g c }
+            }
+            \layout {
+              \context {
+                \Staff
+                \noclef
+              }
+            }
+          }
+           [image of music]
 
-   * `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.
+   * A half-open articulation was added:
 
-   * It is now possible to specify, using the `page-count' variable in
-     the paper block, the number of pages that will be used.
+          [image of music]
 
-   * 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.
+     This is sometimes used to indicate half-open hi-hats.
 
-   * 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.
+   * The Unicode Bidirectional Algorithm is now fully supported for
+     single-line markup due to enhanced integration with Pango.
 
-   * 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.
+   * LilyPond is now licensed under the GNU GPL v3+.
 
-   * Page breaking and page turning commands (`\pageBreak',
-     `\noPageBreak', etc.) can be used at top-level, between scores and
-     top-level markups.
+   * In tablature, frets can be indicated with labels other than
+     numbers:
 
-   * 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.
+          \new TabStaff
+          \with {
+            stringTunings = #`(,(ly:make-pitch 1 3 NATURAL)
+                               ,(ly:make-pitch 1 1 NATURAL)
+                            ,(ly:make-pitch 0 5 NATURAL)
+                            ,(ly:make-pitch 0 3 NATURAL)
+                            ,(ly:make-pitch 0 1 NATURAL)
+                            ,(ly:make-pitch -1 5 NATURAL))
+            tablatureFormat = #fret-letter-tablature-format
+          }
+          \new TabVoice {
+            \set fretLabels = #`(,(markup #:with-color red "a")
+                                 "b"
+                                 ,(markup #:italic #:smaller "c"))
+            <f d>4. <bes>8 <g e>4
+          }
+           [image of music]
 
-   * 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.
+   * Layout objects can be printed over a white background, which
+     whites-out objects in lower layers which lie beneath:
 
-   * Nested properties, such as `'details' in `Slur', can be reverted
-     as well.  The syntax for this is
+          \time 3/4
+          \override Staff.StaffSymbol #'layer = #4
+          \once \override Tie #'layer = #2
+          b'2.~
+          \once \override Staff.TimeSignature #'whiteout = ##t
+          \once \override Staff.TimeSignature #'layer = #3
+          \time 5/4
+          b4
+           [image of music]
 
-          \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.
+   * Chords can be repeated using the `q' shortcut:
 
-          [image of music]
+          <c e g>8.-^ q16 q4-^
+           [image of music]
 
 
-     This feature was sponsored by Trevor Bača.
+   * With two-sided mode, margins for odd and even pages can be set
+     using `inner-margin' and `outer-margin':
 
-   * The environment variable `LILYPONDPREFIX' has been renamed
-     `LILYPOND_DATADIR'.
+     \paper {
+       two-sided = ##t
+       inner-margin = 10 \mm
+       outer-margin = 20 \mm
+     }
 
-   * Notes or rests, such as a typical end note, that fill an entire
-     measure are preceded by some more space.
+   * Paper margin defaults, as specified in
+     `ly/paper-defaults-init.ly', apply to the default paper size (a4)
+     and are automatically scaled according to the paper size chosen.
 
-          [image of music]
+   * All combinations of `left-margin', `right-margin' and `line-width'
+     work now.  There is no more need to set `line-width' manually
+     unless you explicitly want to.
 
+   * Support for using an alternative music font, such as Gonville, is
+     now added.
 
-   * All `\score's in a lilypond-book fragment are now inserted into
-     the document.  Also, toplevel markups don't result in an entire
-     page.
+   * In addition to the existing `\hspace' markup command, a new
+     `\vspace' command has been added to provide an easy and flexible
+     way to add vertical space in markups.
 
-   * 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.
+   * The direction of manual beams can be set with `^[' and `_['.
+
+   * A version of the breve note head has been added with two vertical
+     lines on each side.
 
           [image of music]
 
 
-   * Tie directions may be set with `^~' and `_~'.
+   * Instrument names and vocal names now take into account the extent
+     of system start delimiters in other staves for their positioning,
+     resulting in improved default alignment for left-, center- and
+     right-aligned names.
+
+          [image of music]
 
-   * Tablature now supports harmonics and slides:
+
+   * Braces in markup can now be selected by point size using the
+     markup commands `\left-brace' and `\right-brace'.
 
           [image of music]
 
 
-     This feature was sponsored by Mike Amundsen
+   * Intermediate .ps files which are created by LilyPond during
+     compilation are now deleted by default.  To keep them, add the
+     following line to your input files:
+     #(ly:set-option 'delete-intermediate-files #f)
+
+   * Dashed and dotted slurs, phrasing slurs, and ties have been made
+     variable thickness, and partially dashed slurs are now available:
 
-   * Horizontal spacing now follows object outlines more accurately.
-     This allows tighter horizontal spacing.
+          [image of music]
+
+
+   * An eyeglasses markup was added, indicating strongly to look at the
+     conductor for instructions:
 
           [image of music]
 
 
-   * Objects that belong outside of the staff are now positioned
-     automatically to avoid collisions.
+   * A snap-pizzicato (also known as Bartok-pizzicato) articulation was
+     added:
 
           [image of music]
 
 
-   * Staves are spaced vertically using a skyline algorithm.  This helps
-     prevent uneven vertical spacing.
+   * Tuplet number formatting functions are now available to print
+     other fractions and to add notes to the number or fraction:
 
           [image of music]
 
 
+   * FretBoards now have a chordChanges property to keep repeated
+     FretBoard objects from being typeset.
+
+   * The vertical spacing engine has been drastically changed, making
+     it more flexible and easier to control.  The spacing between
+     staves within a system can now change to better use the space on
+     the page.  User-defined contexts may participate in this flexible
+     spacing, depending on how their `staff-affinity' is defined.  Some
+     page formatting variables (`page-top-space', `between-system-space
+     -padding', and `before- between- after-title-space') have been
+     replaced by flexible vertical dimensions.
+
 
 
 \1f