]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/topdocs/NEWS.tely
(Top): add tie NEWS.
[lilypond.git] / Documentation / topdocs / NEWS.tely
1 \input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
2 @setfilename NEWS.info
3 @settitle NEWS
4
5 @ifhtml
6 @macro inputfileref{DIR,NAME}
7 @uref{../../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
8 @end macro
9 @macro usermanref{NAME}
10 @inforef{\NAME\,,../../user/lilypond/lilypond}@c
11 @end macro
12 @end ifhtml
13
14 @ifnothtml
15 @macro inputfileref{DIR,NAME}
16 @file{\DIR\/\NAME\}@c
17 @end macro
18 @macro usermanref{NAME}
19 See user manual, \NAME\
20 @end macro
21 @end ifnothtml
22
23
24 @macro textanchor{NAME}
25 @html
26 <a name="\NAME\"></a>
27 @end html
28 @end macro
29
30
31 @documentencoding utf-8
32 @documentlanguage en
33
34 @ifnottex
35 @node Top
36 @top
37 @end ifnottex
38 @unnumbered New features in 2.7 since 2.6
39
40 @ifhtml
41 This document is also available in @uref{NEWS.pdf,PDF}. It's part of
42 the @uref{../,LilyPond Documentation} 
43 @end ifhtml
44
45
46
47
48 @itemize @bullet
49
50 @item The tie formatting for chords has been further polished. More
51 cases are handled gracefully, and all scoring parameters may now be
52 changed through the @code{details} property of the @code{Tie} grob.
53
54 This refinement was sponsored by Steve Doonan.
55
56 @item Positions of staff lines may now be set individually, for
57 example
58
59 @lilypond[raggedright]
60 \new Staff  \relative c' {
61   \override Staff.StaffSymbol #'line-positions = #'(-7 -2 0 7)
62   g c f b e a
63 }
64 @end lilypond
65
66 This feature  was sponsored by Andrea Valle.
67
68
69 @item A MusicXML importer is included now.
70
71 It was sponsored by among others, Mark van den Borre, 
72 and Muziekacademie Lede.
73
74 @item
75 Stem direction on the center staff line are now interpolated between
76 neighbors. This results in less stem direction changes, leading to a
77 more even appearance. For example,
78
79 @lilypond[raggedright]
80 \relative c'' {
81   c4 b c b
82   c c c r
83   b a b a
84 }
85 @end lilypond 
86
87 This feature was sponsored by Mike Rolish and Basil Crow.
88
89 @item
90 Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
91 staff.
92
93 @lilypond[raggedright]
94 \relative {
95   \slurUp
96   \override TupletBracket #'bracket-visibility = ##f
97   \override TupletBracket #'staff-padding = ##f
98   \override Slur #'details #'region-size  = #6
99   
100   \times 2/3
101   {
102     c(  \stemDown g' \stemNeutral  c,)
103   }
104 }
105 @end lilypond
106
107 This feature was sponsored by Trent Johnston.
108
109
110 @item Tuplet brackets and numbers  are implemented as separate grobs,
111 @code{TupletBracket} and @code{TupletNumber}.
112
113 This rewrite was sponsored by Trent Johnston.
114
115 @item String arguments for music functions may be specified without
116 @code{#} marks. This allows syntactical constructs (like \clef and
117 \bar) to be expressed in generic music functions.
118
119 @item Ties in chords are also formatted using a scoring based
120 formatting. This reduces the number of collisions for ties in chords,
121
122 @lilypond[raggedright,fragment,relative=2]
123   <b  d f g> ~  <b  d f g> 
124 @end lilypond
125
126 Here, the tie for the D is flipped, in spite the default rule for
127 tie directions.
128
129 This rewrite was sponsored by Steve Doonan.
130
131 @item With the @code{\tweak} music function, layout objects that are directly
132 connected to input may be tuned easily,
133
134 @lilypond[relative=2,fragment,verbatim,raggedright]
135 <
136   \tweak #'font-size #3  c
137   \tweak #'color #red d
138   \tweak #'style #'cross  g
139   \tweak #'duration-log #1  a
140 >4
141 @end lilypond
142
143 This feature was sponsored by Sean Reed and Bertalan Fodor.
144
145 @item Generic music functions may now also be used on articulations
146 and chord elements, eg.
147
148 @verbatim
149   < \displayMusic c
150     e-\keepWithTag #'bla -\tag #'bla ^2 >
151 @end verbatim
152
153 This feature was sponsored by Sean Reed and Bertalan Fodor.
154
155
156 @item Spaces between lyrics and distance between syllables with
157 hyphens may now be separately tuned through the
158 @code{LyricSpace} grob.
159
160 This feature has been sponsored by Bertalan Fodor.
161
162 @item Texts set in a TrueType font are now kerned. This requires CVS
163 Pango or Pango 1.12.
164
165 @lilypond[relative=2,fragment,raggedright]
166   c4^"VAVAVAffififl"
167 @end lilypond
168
169
170 @item Using the @TeX{}  no longer requires linking or dynamically
171 opening the kpathsea library, making the backend more easily usable on
172 various systems.
173
174 This fix was sponsored by Black Trash Productions.
175
176 @item The horizontal location of rehearsal marks can be adjusted by
177 setting the @code{rehearsalMarkAlignSymbol} property,
178
179 @lilypond[raggedright]
180 \relative {
181   c1
182   \key cis \major
183   \clef alto
184   \set Score.rehearsalMarkAlignSymbol = #'key-signature
185   \mark "on-key"
186   cis
187  \key ces \major
188   \set Score.rehearsalMarkAlignSymbol = #'clef
189   \clef treble
190   \mark "on clef"
191   ces
192 }
193 @end lilypond 
194
195
196 This feature was sponsored by Trevor Bača.
197
198
199 @item
200 It's now possible to easily create deeply nested system start
201 delimiters,
202
203 @lilypond[raggedright]
204 \new StaffGroup 
205 \relative <<
206   \set StaffGroup.systemStartDelimiterHierarchy
207     = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
208   \new Staff { c1 }
209   \new Staff { c1 }
210   \new Staff { c1 }
211   \new Staff { c1 }
212   \new Staff { c1 }
213 >>
214 @end lilypond
215
216
217 In addition, there is now also support for ``square'' system start
218 brackets.
219
220 This feature was sponsored by Trevor Bača.
221
222 @item
223 Tie formatting now uses scoring. This opens the road to formatting
224 which handles complex situations require tradeoffs between different
225 beauty factors.
226
227 This refactoring has been sponsored by Steve Doonan.
228  
229 @item
230 Each grob property may also be a ``grob closure.'' This means that it
231 is possible to combine functions. For example, the @code{Y-offset} of
232 a @code{InstrumentName} grob is defined to be 
233
234 @verbatim
235 ,(ly:make-simple-closure
236   `(,+
237     ,(ly:make-simple-closure
238       (,Self_alignment_interface::y_aligned_on_self))
239     ,(ly:make-simple-closure
240       (,Side_position_interface::y_aligned_on_support_refpoints)))
241 @end verbatim
242
243 @noindent
244 During execution, the @code{Y-offset} of an @code{InstrumentName} is computed
245 as
246
247 @example
248 (+ (Self_alignment_interface::y_aligned_on_self @var{grob})
249    (Self_alignment_interface::y_aligned_on_support_refpoints @var{grob}))
250 @end example
251
252
253 @item
254 Calculation of extent and offset of grob is now controlled via the
255 @code{X-extent}, @code{Y-extent}, @code{X-offset} and @code{Y-offset}
256 properties, for example
257
258 @verbatim
259 \override TextScript #'Y-offset = #-6
260 @end verbatim
261
262 @noindent
263 hard codes @code{TextScript} grobs to be 6 spaces below their Y-parent
264 grobs.
265
266 @item
267 Each grob property can be a procedure. If this is the case, it is
268 assumed to be a routine that calculates said property.  This is a
269 major internal cleanup, which also provides advanced tweakability for
270 power users. For example,
271
272 @verbatim
273 \override Beam #'direction
274   = #(lambda (grob)
275       (if (> 4 (ly:grob-array-length (ly:grob-object grob 'stems)))
276           DOWN
277           UP))
278 @end verbatim 
279
280 @noindent
281 With this code fragment, the direction of a beam is decided to be up
282 or down, depending on the number of stems in the beam.
283
284
285 @item
286 Support for figured bass has been rewritten. Now it supports
287 continuation lines, slashed figures, and its figures, brackets, and alignments may
288 tuned separately.
289
290 @lilypond[raggedright,fragment]
291 <<
292 \relative { c4 c c c }
293 \figures {
294   \set useBassFigureExtenders = ##t
295   <6+ 4 3> <6 4 3> <4 3+> <5/ 7/\+>
296 } >>
297 @end lilypond
298
299 This rewrite was sponsored by Trent Johnston and John Mandereau.
300
301 @item
302 Subproperties, like the @code{details} field of @code{Slur} and
303 @code{Tie} may now be tuned with @code{\override}. For example, 
304
305 @verbatim
306 \override Stem #'details #'beamed-lengths = #'(4 4 3) 
307 @end verbatim
308
309 @noindent
310 shortens the stems in beams.
311
312 @item
313 The default paper size may now be set from the command line using
314 @code{-dpaper-size}.
315
316 @item
317 Beamlets may stick out of the side of beams.
318
319
320 @lilypond[fragment,raggedright,relative=2]
321 {
322   \override Beam #'break-overshoot = #'(-0.5 . 0.5) 
323   \set stemLeftBeamCount = #2
324   c8[
325     c16
326     \set stemRightBeamCount = #3
327     c ]  
328 }
329 @end lilypond
330
331 This feature was sponsored by Trevor Bača.
332  
333
334
335 @item  
336 Vertical alignments of staves can now be tuned easily for individual
337 systems.
338
339 @lilypond[raggedright]
340 #(set-global-staff-size 13)
341 \relative c'' <<
342   \new PianoStaff <<
343     \new Voice  {
344       c1
345       
346       \overrideProperty
347       #"Score.NonMusicalPaperColumn"
348       #'line-break-system-details
349       #'((fixed-alignment-extra-space . 15))
350       c
351
352     }
353     { 
354         c1\break 
355         c\break 
356     }
357   >>
358 >>
359 @end lilypond
360
361 This feature was sponsored by Nicolas Sceaux.
362
363 @item 
364 Vertical spacing for page layout can now be tuned for each system
365 individually.  The dimensions that can be tuned can be visualized.
366
367 @lilypond[verbatim]
368 #(set-default-paper-size "a7" 'landscape)
369 \book {
370  \score { { c4 } }
371  \paper { annotatespacing = ##t }
372 }
373 @end lilypond
374
375 These features were sponsored by Trevor Bača and Nicolas Sceaux.
376
377 @item
378 The slope of a stem-tremolo may be set manually
379
380 @lilypond[fragment,relative=1,raggedright]
381 c8:16[ 
382 \once \override StemTremolo #'slope = #0.45
383 c:16 c:16 c:16 ]
384 @end lilypond 
385
386 This feature was sponsored by Sven Axelsson.
387
388 @item
389 Laissez vibrer ties can be created with @code{\laissezVibrer},
390
391 @lilypond[fragment,raggedright,relative=1]
392   <c e g>\laissezVibrer r  <d f>\laissezVibrer
393 @end lilypond
394
395 This feature was sponsored by Henrik Frisk.
396
397 @item
398 The order of words in @code{\markup} commands may now be reversed by
399 setting the @code{text-direction} property. This is useful for
400 Right-to-Left languages like Hebrew.
401
402 This feature was sponsored by Aaron Mehl.
403
404 @item
405 Texts over multi measure rests can stretch the corresponding measure,
406 if the appropriate @code{spring-and-rods} callback is set.
407
408 @lilypond[relative=2,fragment,raggedright]
409 \override MultiMeasureRestText #'springs-and-rods
410   = #Multi_measure_rest::set_text_rods
411 c1 R1 R1^"Very long long long text" 
412 @end lilypond
413
414 This feature was sponsored by Kris Shaffer.
415
416
417 @item @textanchor{tie-chords}
418 Formatting of ties in chords has been improved. Ties no longer collide
419 with note heads and stems. In addition, it is possible to manually
420 specify tie formatting
421
422 @lilypond[relative=2, fragment,raggedright]
423   <a c d f> ~ <a c d f>
424   
425   \override TieColumn #'tie-configuration =
426   #'((0 . -1) '() (5.5 . 1) (7 . 1))
427   <b d f g> ~ <b d f g>
428 @end lilypond
429
430 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
431 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
432 Dell¡.
433
434 @item
435 Formatting of isolated, single ties has been improved. Now, ties avoid
436 staff lines, flags and dots, without compromising their shape.
437
438 @lilypond[fragment,raggedright]
439 \relative c'' {
440   \stemUp
441   c16 c2...~ c16 ~ c2... |
442   c4~c8 c8~c16 c16~c32 c16.~[ c64]~ c64[ c8..] |
443 }
444 @end lilypond
445
446 This improvement has been sponsored by Bertalan Fodor, Jay Hamilton,
447 Kieren MacMillan, Steve Doonan, Trevor Bača, and Vicente Solsona
448 Dell¡.
449  
450
451 @item  @textanchor{repeat-counter}
452 With the @code{countPercentRepeats} property,
453 percent repeats get incremental numbers to indicate the accumulated repeat count.
454
455 @lilypond[relative=2,fragment,raggedright]
456 \set countPercentRepeats = ##t
457 \repeat percent 4 { c1 }
458 \time 2/4
459 \repeat percent 4 { c2 c2 }
460 @end lilypond
461
462 This feature was sponsored by Yoshinobu Ishizaki
463                   
464 @item
465 Text scripts such as fingering instructions and dynamics avoid
466 collisions with slurs
467
468 @lilypond[fragment,relative=1]
469 {
470   b_1( f'_1_2_3 c_3_4_5 a)
471   b( f'\p b,)
472   c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
473 }
474 @end lilypond
475
476 @item
477 Tuplets can be made to reach the next non-tuplet note by setting the
478 @code{tupletFullLength}  property,
479
480 @lilypond[fragment,relative=2]
481 \new Voice \with {
482   \remove Forbid_line_break_engraver
483   allowBeamBreak = ##t
484 }
485 {
486   \set Score.proportionalNotationDuration = #(ly:make-moment 1 32)
487   \set tupletFullLength = ##t
488   \times 2/3 { c8[ c c] }
489   c4
490 }
491 @end lilypond  
492
493 This feature was sponsored by Trevor Bača. 
494
495 @item
496 When @code{strict-note-spacing} is set, notes are spaced without regard
497 for clefs, bar lines, and grace notes. For example,
498
499 @lilypond[fragment,relative=2]
500 \override Score.SpacingSpanner #'strict-note-spacing = ##t 
501 \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }
502 @end lilypond
503
504 This feature was sponsored by Trevor Bača. 
505
506 @item
507 Beams support the @code{break-overshoot} property, for example
508
509 @lilypond[relative=2,fragment]
510 \set allowBeamBreak = ##t
511 \override Beam #'break-overshoot = #'(1.0 . 2.0)
512 c2.. c8[ \break c]
513 @end lilypond
514  
515 This feature was sponsored by Trevor Bača. 
516
517 @item
518 Proportional notation is supported.  Notes can be spaced proportional
519 to their time-difference by assigning a duration to
520 @code{proportionalNotationDuration}. For example,
521
522 @lilypond[relative=2,fragment,raggedright]
523 <<
524   \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
525   \new Staff { c8[ c c c c c]  c4 c2 r2 }
526   \new Staff { c2  \times 2/3 { c8 c c } c4 c1 }
527 >>
528 @end lilypond
529
530 This feature was sponsored by Trevor Bača.
531
532 @item 
533 Symbol sizes (e.g. accidentals) are disregarded for spacing if
534 @code{uniform-stretching} of the @code{SpacingSpanner} grob is set,
535
536
537 @lilypond[relative=2,fragment]
538 <<
539   \override  Score.SpacingSpanner #'uniform-stretching = ##t 
540   \new Staff { c16[ c c c c c c c c c16]  }
541   \new Staff {
542     \times 6/7 { c16 c c cis c c c }
543     c8[ c32 c32 c16]
544   }
545 >>
546 @end lilypond
547
548 This feature was sponsored by Trevor Bača.
549  
550 @item
551 Endings of broken tuplet brackets can be tuned.  For example, you can
552 add arrows to the brackets,
553
554 @lilypond[fragment,raggedright,relative=2]
555 \override TupletBracket
556  #'edge-text = #(cons
557              (markup #:arrow-head X LEFT #f)
558              (markup #:arrow-head X RIGHT #f))
559 \times 4/5 {
560  c c c \bar "empty" \break c c
561 }
562 @end lilypond
563
564 This feature was sponsored by Trevor Bača.
565
566
567 @item @textanchor{arrow-glyph}
568 Arrow heads were added to the Feta font.
569
570 @lilypond[]
571 \lyrics {
572   \markup {
573     filled, to the right:  \hspace #2.0 \fontsize #6 \arrow-head #0 #1 ##t
574     open, down: \hspace #2.0 \fontsize #6 \arrow-head #1 #-1 ##f
575   }
576 }
577 @end lilypond
578
579 These glyphs have been sponsored by Trevor Bača.
580
581
582 @item
583 Nested tuplets are automatically positioned,
584
585 @lilypond[fragment,raggedright,relative=2]
586 \set tupletNumberFormatFunction = #fraction-tuplet-formatter
587 \times 4/6 {
588   a4 a 
589   \times 3/5 { a a a a a }
590 }
591 @end lilypond
592
593 This feature was sponsored by Trevor Bača.
594
595 @item
596 Music expressions can be displayed, in LilyPond notation, using the
597 new @code{\displayLilyMusic} function. For instance:
598 @verbatim
599 \displayLilyMusic \transpose c a, { c d e f }
600 @end verbatim
601 will print:
602 @verbatim
603 { a, b, cis d }
604 @end verbatim
605
606 This feature was contributed by Nicolas Sceaux.
607
608 @item
609 The current bar number may be checked with @code{\barNumberCheck}, eg.
610
611 @verbatim
612 \barNumberCheck #22
613 @end verbatim
614
615 @noindent
616 will print a warning if it doesn't happen in measure 22.
617  
618 @item
619 If @code{showLastLength} is set, only the last few measures of a piece
620 are rendered, which speeds up correcting scores. For example, setting
621
622 @verbatim
623 showLastLength = R1*5
624 \score { ... }
625 @end verbatim
626
627 @noindent
628 will render only the last five measures (assuming 4/4 time signature)
629 of a piece.
630
631 @item @textanchor{simple-melismata}
632 Melismata can be specified simply in the lyrics now, eg.
633
634 @lilypond[relative=1,verbatim,fragment]
635 {
636   c d( e) f e d
637 } \addlyrics {
638   Ky -- _ _ ri e
639 }
640 @end lilypond 
641
642 This feature was sponsored by Nancho Alvarez 
643
644 @item
645 Suggested accidentals (for notating musica ficta) may be switched on
646 with @code{suggestAccidentals}
647
648 @lilypond[verbatim,fragment,relative=2]
649 \set suggestAccidentals = ##t
650 ais bis
651 @end lilypond 
652
653 This feature was sponsored by Nancho Alvarez.
654
655 @item
656 The setting @code{whichBar} and time-bookkeeping is now split into a
657 @code{Default_bar_line_engraver} and @code{Timing_translator}
658 respectively.
659
660 @item @textanchor{pitched-trill}
661 Explicit pitches may be added to trills,
662
663 @lilypond[relative,verbatim,fragment]
664   \pitchedTrill c4\startTrillSpan fis f\stopTrillSpan
665 @end lilypond 
666
667 This feature was sponsored by D. Josiah Boothby and Jamie Bullock
668
669 @item
670 Markup now supports formatting of text paragraphs, using
671 @code{\wordwrap} and @code{\justify}.
672
673 This feature was sponsored by Sven Axelsson.
674 @end itemize
675
676 @ifhtml
677 For older news, go to
678 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS.html},
679 or @uref{../,go back} to the Documentation index.
680
681
682 @end ifhtml
683
684 @bye