]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/changes.tely
Add documentation for define-scheme-function command
[lilypond.git] / Documentation / changes.tely
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename lilypond-changes.info
3 @settitle LilyPond Changes
4
5 @include macros.itexi
6
7 @ifhtml
8 @macro inputfileref{DIR,NAME}
9 @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
10 @end macro
11 @macro usermanref{NAME}
12 @inforef{\NAME\,,../user/lilypond/lilypond}@c
13 @end macro
14 @end ifhtml
15
16 @ifnothtml
17 @macro inputfileref{DIR,NAME}
18 @file{\DIR\/\NAME\}@c
19 @end macro
20 @macro usermanref{NAME}
21 See user manual, \NAME\
22 @end macro
23 @end ifnothtml
24
25 @macro textanchor{NAME}
26 @html
27 <a name="\NAME\"></a>
28 @end html
29 @end macro
30
31
32 @documentencoding utf-8
33 @documentlanguage en
34 @afourpaper
35
36 @finalout
37
38 @node Top
39 @top New features in 2.16 since 2.14
40
41 @allowcodebreaks false
42
43 @itemize
44
45 @ignore
46
47 HINTS
48
49 * add new items at the top
50
51 * only show verbatim input for syntax/input changes
52
53 * try to be as brief possible in those cases
54
55 * don't try to provide real-world examples, they often get too big,
56 which scares away people.
57
58 * Write complete sentences.
59
60 * only show user-visible changes.
61
62 @end ignore
63
64 @item
65 There is a new @code{define-scheme-function} command in analogy to
66 @code{define-music-function} which can be used to define functions
67 evaluating to Scheme expressions while accepting arguments in Lilypond
68 syntax.
69
70 @item
71 The construct @code{#@{ @dots{} #@}} can now be used not just for
72 constructing sequential music lists, but also for single music events,
73 void music expressions, post events, markups (mostly freeing users from
74 having to use the @code{markup} macro), markup lists, number
75 expressions, context definitions and modifications, and a few other
76 things.  If it encloses nothing or only a single music event, it no
77 longer returns a sequential music list but rather a void music
78 expression or just the music event itself, respectively.
79
80 @item
81 New command-line option @option{--loglevel=@var{level}} to control how much output
82 LilyPond creates. Possible values are ERROR, WARN, BASIC_PROGRESS, PROGRESS, DEBUG.
83
84 @item
85 @code{\set \once} now correctly resets the property value to the previous value.
86 @lilypond[fragment,quote,relative=2]
87   \set fingeringOrientations = #'(left)
88   <e-1>4
89   \once \set fingeringOrientations = #'(right)
90   <e-1>
91   <e-1>-"left"
92 @end lilypond
93
94
95 @item
96 The alignment of dynamic spanners (hairpins, text crescendo, etc.) is now
97 automatically broken if a different direction is explicitly given.
98 @lilypond[fragment,quote,relative=2]
99 c4_\< c c^\> c c1_\p
100 @end lilypond
101
102
103 @item
104 Appoggiaturas and acciaccaturas now also work inside a slur, not only inside
105 a phrasing slur. Also, a function @code{\slashedGrace} was added that does
106 does not use a slur from the acciaccatura note.
107 @lilypond[fragment,relative=2]
108 c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4)
109 @end lilypond
110
111
112 @item
113 To suppress the line on a crescendo text spanner (and other similar spanners),
114 LilyPond now fully supports the @code{#'style = #'none} property.
115 @lilypond[fragment,quote,relative=2]
116 \override DynamicTextSpanner #'style = #'none
117 c4\cresc c c g, c'\p
118 @end lilypond
119
120 @item
121 LilyPond.app now supports MacOS X 10.7, thanks Christian Hitz!
122
123 @item
124 Glissandi can now span multiple lines.
125
126 @end itemize
127
128 @ifhtml
129 For older news, go to
130 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/},
131 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html},
132 or @uref{../,go back} to the Documentation index.
133
134
135 @end ifhtml
136
137 @bye