X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ftopdocs%2FNEWS.tely;h=b5f0216e7d5fa16257c86ee5b08a791ab9b93eb7;hb=def21b306e2b8fa2d5630fab0878e9922e197f0c;hp=d6511260188948a1e1875ae1d78ea94c63872659;hpb=c27cdd423527bcd4d019bb54e2ab5fe470fba9a6;p=lilypond.git diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index d651126018..3b4ab8ea8e 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -40,7 +40,7 @@ See user manual, \NAME\ @ifhtml This document is also available in @uref{NEWS.pdf,PDF}. It's part of -the @uref{../,LilyPond Documentation} +the @uref{../,LilyPond Documentation} . @end ifhtml @@ -65,6 +65,193 @@ which scares away people. @end ignore +@item Three automatic accidentals rules have been added: @code{neo-modern}, +@code{neo-modern-cautionary} and @code{dodecaphonic}. The following +example illustrates @code{neo-modern} rule. +@lilypond[] +notes = { + << + \relative c' { + cis'8 fis, d'4 8 f bis4 | + cis2. 4 | + } + \\ + \relative c' { + ais'2 cis, | + fis8 b a4 cis2 | + } + >> +} + +\new Staff { + #(set-accidental-style 'neo-modern) + \notes +} +@end lilypond + +@item Flags can now be generated with Scheme-code using the @code{'flag} Stem +grob property. Existing scores will work without change. +@lilypond +testnotes = { \autoBeamOff c'8 d'16 c''8 d''16 } + +#(define (inverted-flag stem-grob) + (let* ((dir (if (eqv? (ly:grob-property stem-grob 'direction) UP) "d" "u")) + (flag (retrieve-glyph-flag "" dir "" stem-grob)) + (stroke-style (ly:grob-property stem-grob 'stroke-style)) + (stencil (if (null? stroke-style) flag + (add-stroke-glyph flag stem-grob dir stroke-style "")))) + (ly:stencil-rotate stencil 180 -1 -1))) + +#(define-public (weight-flag stem-grob) + (let* ((log (- (ly:grob-property stem-grob 'duration-log) 2)) + (is-up (eqv? (ly:grob-property stem-grob 'direction) UP)) + (yext (if is-up (cons (* log -0.8) 0) (cons 0 (* log 0.8)))) + (flag-stencil (make-filled-box-stencil '(-0.4 . 0.4) yext)) + (stroke-style (ly:grob-property stem-grob 'stroke-style)) + (stroke-stencil (if (equal? stroke-style "grace") (make-line-stencil 0.2 -0.9 -0.4 0.9 -0.4) empty-stencil))) + (ly:stencil-add flag-stencil stroke-stencil))) + +{ + \time 3/8 + \override Stem #'flag = #weight-flag + \testnotes + + \override Stem #'flag = #inverted-flag + \testnotes + +} + +@end lilypond + +@item Harp pedalling diagrams were added: + +@lilypond +\markup \harp-pedal #"^v-|vv-o^" +@end lilypond + +@item +Predefined, user-configurable, transposable fret diagrams +are now available in the @code{FretBoards} context: +@lilypond[] +\include "predefined-guitar-fretboards.ly" +<< + \new ChordNames { + \chordmode { + c1 \transpose c e { c } + } + } + \new FretBoards { + \chordmode { + c1 \transpose c e { c } + } + } +>> +@end lilypond + +@item +The following syntax changes were made, in chronological order. In +addition, fret diagram properties have been moved to +@code{fret-diagram-details}, and @code{#'style} property is used to +select solid/dashed lines instead of @code{#'dash-fraction}. + +@example +#'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 +\center-align -> \center-column +\hcenter -> \center-align +@end example + +@item Metronome marks can now also contain a textual description. The +duration and count (if given) are shown in parentheses after the text. + +@lilypond +{ + \tempo "Fast" + c'4 c' c' c' + c'4 c' c' c' + \tempo "Andante" 4 = 120 + c'4 c' c' c' + c'4 c' c' c' + \tempo 4 = 100 + c'4 c' c' c' + c'4 c' c' c' + \tempo "" 4 = 30 + c'4 c' c' c' + c'4 c' c' c' +} +@end lilypond + +@item In figured bass you can now also use a backslash through a number to +indicate a raised 6th step. + +@lilypond[ragged-right] +\new FiguredBass \figuremode { < 6\\ 5\\ > < 6/ > } +@end lilypond + +@item +Arpeggios may now use ``parenthesis'' style brackets: + +@lilypond[relative,ragged-right] + \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur + + % Note: does not work for cross staff arpeggios. + \override Arpeggio #'X-extent = #ly:grob::stencil-width + 2\arpeggio ~ c +@end lilypond + +@item +Enclosing text within boxes with rounded corners is now possible, +using the @code{rounded-box} command. + +@item +@command{lilypond-book} can run any program instead of @command{latex} +to guess the line width, thanks to @code{--latex-program} command line +option. + +@item +Underlining is now possible with the @code{\underline} markup command. + +@item +It is now possible to specify, using the @code{page-count} variable in +the paper block, the number of pages that will be used. + +@item +A new page breaking function, @code{ly:minimal-breaking}, is dedicated +to books with many pages or a lot of texts. + +@item +A table of contents is included using @code{\markuplines \table-of-contents}. +Elements are added to it using the @code{\tocItem} command. + +@item +Text spreading over several pages is entered using the +@code{\markuplines} keyword. Builtin markup list commands, such as +@code{\justified-lines} or @code{\wordwrap-lines} may be used, and new +ones created using the @code{define-markup-list-command} Scheme macro. + @item Particular points of a book may be marked with the @code{\label} command. Then, the page where these points are placed can be refered to @@ -87,7 +274,7 @@ performance, page layout, MIDI results and warnings. This helps to reduce the number of regression errors during development, resulting in more stable releases. -See @uref{INSTALL.html#testing} for more information. +See @uref{INSTALL.html#Testing-LilyPond} for more information. @item Nested properties, such as @code{details} in @code{Slur}, can be reverted as well. The syntax for this is @@ -97,19 +284,21 @@ reverted as well. The syntax for this is @end example @item -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. +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. -@c with ragged-right we can't see the gliss. @lilypond[] \relative c'' { - \override Glissando #'bound-details #'right #'text = \markup { \hcenter \bold down } + \override Glissando #'bound-details #'right #'text = \markup { \center-align \bold down } \override Glissando #'bound-details #'right #'Y = #-4 \override Glissando #'bound-details #'right #'padding = #0.0 \override Glissando #'bound-details #'left #'arrow = ##t \override Glissando #'bound-details #'left #'padding = #3.0 \override Glissando #'style = #'trill + \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods + \override Glissando #'minimum-length = #12 c1 \glissando c' }