]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/expressive.itely
Merge branch 'master' of git://git.sv.gnu.org/lilypond.git into td-lily
[lilypond.git] / Documentation / user / expressive.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @c \version "2.11.38"
10
11 @node Expressive marks
12 @section Expressive marks
13
14 @lilypondfile[quote]{expressive-headword.ly}
15
16 @menu
17 * Attached to notes::           
18 * Curves::                      
19 * Lines::                       
20 @end menu
21
22
23 @node Attached to notes
24 @subsection Attached to notes
25
26 @menu
27 * Articulations and ornamentations::  
28 * Dynamics::                    
29 * New dynamic marks::           
30 @end menu
31
32 @node Articulations and ornamentations
33 @subsubsection Articulations and ornamentations
34
35 @cindex articulations
36 @cindex scripts
37 @cindex ornaments
38
39 A variety of symbols that denote articulations, ornamentations,
40 and other performance indications can be attached to a note using
41 this syntax:
42
43 @example
44 @var{note}\@var{name}
45 @end example
46
47 The possible values for @var{name} are listed in @ref{List of
48 articulations}.  For example:
49
50 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
51 c4\staccato c\mordent b2\turn
52 c1\fermata
53 @end lilypond
54
55 @cindex marcato
56 @cindex stopped
57 @cindex tenuto
58 @cindex staccatissimo
59 @cindex accent
60 @cindex staccato
61 @cindex portato
62
63 Some of these articulations have shorthands for easier entry.
64 Shorthands are appended to the note name, and their syntax
65 consists of a dash (@tie{}@code{-}) followed by a symbol
66 signifying the articulation.  Predefined shorthands exist for
67 @notation{marcato}, @notation{stopped}, @notation{tenuto},
68 @notation{staccatissimo}, @notation{accent}, @notation{staccato},
69 and @notation{portato}.  Their corresponding output appears as
70 follows:
71
72 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
73 c4-^  c-+  c--  c-|
74 c->   c-.  c-_
75 @end lilypond
76
77 The rules for the default placement of articulations are defined
78 in @file{scm/@/script@/.scm}.  Articulations and ornamentations
79 may be manually placed above or below the staff, see
80 @ref{Controlling direction and placement}.
81
82 @cindex espressivo
83 @cindex fermata
84 @cindex upbow
85 @cindex downbow
86 @cindex foot marks
87 @cindex organ pedal marks
88 @cindex turn
89 @cindex open
90 @cindex stopped
91 @cindex flageolet
92 @cindex reverseturn
93 @cindex trill
94 @cindex prall
95 @cindex mordent
96 @cindex prallprall
97 @cindex prallmordent
98 @cindex prall, up
99 @cindex prall, down
100 @cindex thumb marking
101 @cindex segno
102 @cindex coda
103 @cindex varcoda
104
105
106 @snippets
107
108 @c Once revised, add to LSR.
109
110 The shorthands are defined in @file{ly/@/script@/-init@/.ly},
111 where the variables @code{dashHat}, @code{dashPlus},
112 @code{dashDash}, @code{dashBar}, @code{dashLarger},
113 @code{dashDot}, and @code{dashUnderscore} are assigned default
114 values.  The default values for the shorthands can be modified.
115 For example, to associate the @code{-+} (@code{dashPlus})
116 shorthand with the @notation{trill} symbol instead of the default
117 @notation{+} symbol, assign the value @code{trill} to the variable
118 @code{dashPlus}:
119
120 @lilypond[verbatim,quote,ragged-right]
121 \relative c'' { c-+ }
122 dashPlus = "trill"
123 \relative c'' { c-+ }
124 @end lilypond
125
126 The vertical ordering of scripts is controlled with the
127 @code{script-priority} property.  The lower this number, the
128 closer it will be put to the note.  In this example, the
129 @code{TextScript} (the sharp symbol) first has the lowest
130 priority, so it is put lowest in the first example.  In the
131 second, the @notation{prall trill} (the @code{Script}) has the
132 lowest, so it is on the inside.  When two objects have the same
133 priority, the order in which they are entered decides which one
134 comes first.
135
136 @lilypond[verbatim,quote,ragged-right,fragment,relative=3]
137 \once \override TextScript #'script-priority = #-100
138 a4^\prall^\markup { \sharp }
139
140 \once \override Script #'script-priority = #-100
141 a4^\prall^\markup { \sharp }
142 @end lilypond
143
144
145 @seealso
146
147 Music Glossary: @rglos{tenuto}, @rglos{accent}, @rglos{staccato},
148 @rglos{portato}.
149
150 Snippets:
151 @rlsr{Expressive marks}.
152
153 Internals Reference: @rinternals{Script},
154 @rinternals{TextScript}.
155
156
157 @knownissues
158
159 These signs appear in the printed output but have no effect on the
160 MIDI rendering of the music.
161
162
163 @node Dynamics
164 @subsubsection Dynamics
165
166 @cindex dynamics
167 @funindex \ppppp
168 @funindex \pppp
169 @funindex \ppp
170 @funindex \pp
171 @funindex \p
172 @funindex \mp
173 @funindex \mf
174 @funindex \f
175 @funindex \ff
176 @funindex \fff
177 @funindex \ffff
178 @funindex \fp
179 @funindex \sf
180 @funindex \sff
181 @funindex \sp
182 @funindex \spp
183 @funindex \sfz
184 @funindex \rfz
185
186 Absolute dynamic marks are specified using a command after a note,
187 such as @code{c4\ff}.  The available dynamic marks are
188 @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p},
189 @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
190 @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
191 @code{\spp}, @code{\sfz}, and @code{\rfz}.  The dynamic marks may
192 be manually placed above or below the staff, see @ref{Controlling
193 direction and placement}.
194
195 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
196 c2\ppp c\mp
197 c\rfz c^\mf
198 c_\spp c^\ff
199 @end lilypond
200
201 @cindex hairpin
202 @funindex \<
203 @funindex \>
204 @funindex \!
205 @funindex \cr
206 @funindex \decr
207
208 A @notation{crescendo} mark is started with @code{\<} and
209 terminated with @code{\!}, an absolute dynamic, or an additional
210 @notation{crescendo} or @notation{decrescendo} mark.  A
211 @notation{decrescendo} mark is started with @code{\>} and is also
212 terminated with @code{\!}, an absolute dynamic, or another
213 @notation{crescendo} or @notation{decrescendo} mark.  @code{\cr}
214 and @code{\decr} may be used instead of @code{\<} and @code{\>}.
215 @notation{Hairpins} are engraved by default using this notation.
216
217 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
218 c2\< c\!
219 d2\< d\f
220 e2\< e\>
221 f2\> f\!
222 e2\> e\mp
223 d2\> d\>
224 c1\!
225 @end lilypond
226
227 A @notation{hairpin} normally starts at the left edge of the
228 beginning note and ends on the right edge of the ending note.  If
229 the ending note falls on the downbeat, the @notation{hairpin} ends
230 on the immediately preceding bar line.  The following example
231 illustrates this behavior:
232
233 @c This example currently does not work. -pm
234 @c TODO: Add link to new snippet for #'to-barline
235
236 Spacer notes are needed to engrave multiple marks on one note.
237
238 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
239 c4\< c\! d\> e\!
240 << f1 { s4 s4\< s4\> s4\! } >>
241 @end lilypond
242
243 If hairpins are too short, they can be lengthened using the
244 following method:
245
246 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
247 c4\< c\! d\> e\!
248 \override Voice.Hairpin #'minimum-length = #5
249 << f1 { s4 s4\< s4\> s4\! } >>
250 @end lilypond
251
252 @cindex espressivo, articulation
253
254 In some situations the @code{\espressivo} articulation mark may be
255 the appropriate choice to indicate a crescendo and decrescendo on
256 one note:
257
258 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
259 c2 b4 a
260 g1\espressivo
261 @end lilypond
262
263 @cindex al niente
264 @cindex niente, al
265
266 Hairpins may be printed with a circled tip (al niente notation):
267
268 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
269 \override Hairpin #'circled-tip = ##t
270 c2\< c\!
271 c4\> c\< c2\!
272 @end lilypond
273
274 @cindex crescendo
275 @cindex decrescendo
276 @cindex diminuendo
277 @funindex \setTextCresc
278 @funindex \setTextDim
279 @funindex \setTextDecr
280 @funindex \setTextDecresc
281 @funindex \setHairpinCresc
282 @funindex \setHairpinDim
283 @funindex \setHairpinDecresc
284
285 Crescendos and decrescendos can be engraved as @notation{cresc.},
286 @notation{decresc.}, @notation{decr.}, or @notation{dim.} instead
287 of using hairpins with the commands @code{\setTextCresc},
288 @code{\setTextDecresc}, @code{\setTextDecr}, and
289 @code{\setTextDim}.  The corresponding @code{\setHairpinCresc},
290 @code{\setHairpinDim}, and @code{\setHairpinDecresc} will revert
291 to hairpins again:
292
293 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
294 \setTextCresc
295 c\< d e f\!
296 \setHairpinCresc
297 e\> d c b\!
298 \setTextDecresc
299 e\> d e f\!
300 \setTextDecr
301 c\> d e f\!
302 \setTextDim
303 e\> d c b\!
304 @end lilypond
305
306 You can also supply your own texts and change the style of the
307 spanner line with the properties @code{crescendoText},
308 @code{crescendoSpanner}, @code{decrescendoText}, and
309 @code{decrescendoSpanner}.  Available values for the spanner
310 properties are @code{hairpin}, @code{line}, @code{dashed-line},
311 and @code{dotted-line}.  If unset, a hairpin crescendo is used:
312
313 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
314 \set crescendoText = \markup { \italic "cresc. poco" }
315 \set crescendoSpanner = #'dotted-line
316 a'2\< a a a a a a a\!\mf
317 @end lilypond
318
319 To create new absolute dynamic marks or text that should be
320 aligned with dynamics, see @ref{New dynamic marks}.
321
322 Vertical positioning of dynamics is handled by
323 @rinternals{DynamicLineSpanner}.
324
325
326 @predefined
327
328 @funindex \dynamicUp
329 @code{\dynamicUp},
330 @funindex \dynamicDown
331 @code{\dynamicDown},
332 @funindex \dynamicNeutral
333 @code{\dynamicNeutral}.
334
335
336 @snippets
337
338 @c Add LilyPond examples to these snippets. -pm
339
340 Dynamics that occur at, begin on, or end on the same note will be
341 vertically aligned.  If you want to ensure that dynamics are
342 aligned when they do not occur on the same note, you can increase
343 the @code{staff-padding} property.
344
345 @example
346 \override DynamicLineSpanner #'staff-padding = #4
347 @end example
348
349 @noindent
350 You may also use this property if the dynamics are colliding with
351 other notation.
352
353 @notation{Crescendi} and @notation{decrescendi} that cross a line
354 break will be continued on the second line.  If they end on the
355 first note of a new line, nothing will be printed on that line.
356 To change this behavior, use
357
358 @example
359 \override Score.Hairpin #'after-line-breaking = ##t
360 @end example
361
362 Text style dynamic changes (such as @notation{cresc.} and
363 @notation{dim.}) are printed with a dashed line showing their
364 extent.  To suppress printing this line, use
365
366 @example
367 \override DynamicTextSpanner #'dash-period = #-1.0
368 @end example
369
370
371 @seealso
372
373 @c TODO: Add hairpin to glossary.
374
375 Music Glossary:
376 @rglos{crescendo},
377 @rglos{decrescendo}.
378
379 Learning Manual:
380 @rlearning{Articulation and dynamics}.
381
382 Snippets:
383 @rlsr{Expressive marks}.
384
385 Internals Reference:
386 @rinternals{DynamicText},
387 @rinternals{Hairpin},
388 @rinternals{DynamicLineSpanner}.
389
390
391 @node New dynamic marks
392 @subsubsection New dynamic marks
393
394 It is possible to print new dynamic marks or text that should be
395 aligned with dynamics.  Use @code{make-dynamic-script} to create
396 these marks.  Note that the dynamic font only contains the
397 characters @code{f,m,p,r,s} and @code{z}.
398
399 Some situations (such as dynamic marks) have preset font-related
400 properties.  If you are creating text in such situations, it is
401 advisable to cancel those properties with @code{normal-text}.  See
402 @ref{Text markup commands}, for more details.
403
404 @cindex make-dynamic-script
405
406 @lilypond[quote,verbatim,ragged-right]
407 sfzp = #(make-dynamic-script "sfzp")
408 \relative c' {
409   c4 c c\sfzp c
410 }
411 @end lilypond
412
413 @cindex Dynamics, editorial
414 @cindex Dynamics, parenthesis
415
416 It is also possible to print dynamics in round parenthesis or
417 square brackets.  These are often used for adding editorial
418 dynamics.
419
420 @lilypond[quote,verbatim,ragged-right]
421 rndf = \markup{ \center-align {\line { \bold{\italic (}
422   \dynamic f \bold{\italic )} }} }
423 boxf = \markup{ \bracket { \dynamic f } }
424 { c'1_\rndf c'1_\boxf }
425 @end lilypond
426
427 @seealso
428
429 Snippets:
430 @rlsr{Expressive marks}.
431
432
433 @node Curves
434 @subsection Curves
435
436 @menu
437 * Slurs::                       
438 * Phrasing slurs::              
439 * Breath marks::                
440 * Falls and doits::             
441 @end menu
442
443 @node Slurs
444 @subsubsection Slurs
445
446 @cindex slurs
447
448 A @notation{slur} indicates that notes are to be played bound or
449 @emph{legato}.  They are entered using parentheses:
450
451 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
452 f( g a) a8 b( a4 g2 f4)
453 <c e>2( <b d>2)
454 @end lilypond
455
456 Just as with ties, the direction of a slur can be specified with
457 @code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either
458 @code{Up}, @code{Down}, or @code{Neutral} (@code{Neutral} is the
459 default).  Slurs may be manually placed above or below the staff,
460 see @ref{Controlling direction and placement}.
461
462 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
463 c4_( c) c^( c)
464 @end lilypond
465
466 Using this method, only one slur can be printed at once.  To print
467 a long slur over a few small slurs, see @ref{Phrasing slurs}.
468
469
470 @predefined
471
472 @funindex \slurUp
473 @code{\slurUp},
474 @funindex \slurDown
475 @code{\slurDown},
476 @funindex \slurNeutral
477 @code{\slurNeutral},
478 @funindex \slurDashed
479 @code{\slurDashed},
480 @funindex \slurDotted
481 @code{\slurDotted},
482 @funindex \slurSolid
483 @code{\slurSolid}.
484
485
486 @snippets
487
488 Some composers write two slurs when they want legato chords.  This
489 can be achieved in LilyPond by setting @code{doubleSlurs},
490
491 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
492 \set doubleSlurs = ##t
493 <c e>4 ( <d f> <c e> <d f> )
494 @end lilypond
495
496
497 @seealso
498
499 Music Glossary: @rglos{slur}
500
501 Snippets:
502 @rlsr{Expressive marks}.
503
504 Internals Reference: @rinternals{Slur}.
505
506
507 @node Phrasing slurs
508 @subsubsection Phrasing slurs
509
510 @cindex phrasing slurs
511 @cindex phrasing marks
512 @funindex \(
513 @funindex \)
514
515 A phrasing slur (or phrasing mark) connects notes and is used to
516 indicate a musical sentence.  It is written using @code{\(} and
517 @code{\)} respectively:
518
519 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
520 \time 6/4 c'\( d( e) f( e) d\)
521 @end lilypond
522
523 Typographically, the phrasing slur behaves almost exactly like a
524 normal slur.  However, they are treated as different objects.  A
525 @code{\slurUp} will have no effect on a phrasing slur; instead,
526 use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
527 @code{\phrasingSlurNeutral}.  Phrasing slurs may be manually
528 placed above or below the staff, see @ref{Controlling direction
529 and placement}.
530
531 You cannot have simultaneous phrasing slurs.
532
533
534 @predefined
535
536 @funindex \phrasingSlurUp
537 @code{\phrasingSlurUp},
538 @funindex \phrasingSlurDown
539 @code{\phrasingSlurDown},
540 @funindex \phrasingSlurNeutral
541 @code{\phrasingSlurNeutral}.
542
543
544 @seealso
545
546 Snippets:
547 @rlsr{Expressive marks}.
548
549 Internals Reference: @rinternals{PhrasingSlur}
550
551
552 @node Breath marks
553 @subsubsection Breath marks
554
555 @cindex breath marks
556 @funindex \breathe
557
558 Breath marks are entered using @code{\breathe}:
559
560 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
561 c'4 \breathe d4
562 @end lilypond
563
564
565 @snippets
566
567 The glyph of the breath mark can be tuned by overriding the
568 @code{text} property of the @code{BreathingSign} layout object
569 with any markup text.  For example,
570
571 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
572 c'4
573 \override BreathingSign #'text
574   = #(make-musicglyph-markup "scripts.rvarcomma")
575 \breathe
576 d4
577 @end lilypond
578
579
580 @seealso
581
582 Snippets:
583 @rlsr{Expressive marks}.
584 @c @lsr{expressive,breathing-sign.ly}.
585
586 Internals Reference: @rinternals{BreathingSign}
587
588
589 @node Falls and doits
590 @subsubsection Falls and doits
591
592 @cindex falls
593 @cindex doits
594 @funindex \bendAfter
595
596 @notation{Falls} and @notation{doits} can be added to notes using
597 the @code{\bendAfter} command:
598
599 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
600 c2-\bendAfter #+4
601 c-\bendAfter #-4
602 c-\bendAfter #+8
603 c-\bendAfter #-8
604 @end lilypond
605
606 The dash (@tie{-}) following the note name is @emph{required} when
607 writing @notation{falls} and @notation{doits}.
608
609
610 @snippets
611
612 The @code{shortest-duration-space} property may have to be tweaked
613 to adjust the shape of @notation{falls} and @notation{doits}.
614
615 @c Fix this snippet. The tweak does not work. -pm
616
617 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
618 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
619 c4-\bendAfter #+5
620 c4-\bendAfter #-3
621 @end lilypond
622
623
624 @seealso
625
626 @c TODO: add falls and doits to glossary.
627 @c Music Glossary: @rglos{falls}, @rglos{doits}.
628
629 Snippets:
630 @rlsr{Expressive marks}.
631
632
633 @node Lines
634 @subsection Lines
635
636 @menu
637 * Glissando::                   
638 * Arpeggio::                    
639 * Trills::                      
640 @end menu
641
642 @node Glissando
643 @subsubsection Glissando
644
645 @cindex glissando
646 @funindex \glissando
647
648 A @notation{glissando} is a smooth change in pitch.  It is denoted
649 by a line or a wavy line between two notes.  A
650 @notation{glissando} is created by attaching @code{\glissando} to
651 a note:
652
653 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
654 c2\glissando c'
655 \override Glissando #'style = #'zigzag
656 c2\glissando c,
657 @end lilypond
658
659
660 @snippets
661
662 @lilypond[verbatim,quote,ragged-right]
663 I = \once \override NoteColumn #'ignore-collision = ##t
664
665 \relative c' <<
666   { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
667   { \oneVoice \I c2 \glissando \I d, }
668 >>
669 @end lilypond
670
671
672 @seealso
673
674 Music Glossary: @rglos{glissando}
675
676 Snippets:
677 @rlsr{Expressive marks}.
678
679 @c FIXME: I need to figure out what's up with these.  -gp
680 @c @lsr{expressive,glissando.ly},
681 @c @lsr{expressive,line-styles.ly}
682
683 Internals Reference: @rinternals{Glissando}
684
685
686 @knownissues
687
688 Printing text over the line (such as @emph{gliss.}) is not
689 supported.
690
691
692 @node Arpeggio
693 @subsubsection Arpeggio
694
695 @cindex arpeggio
696 @cindex broken chord
697
698 You can specify an @notation{arpeggio} (also known as a
699 @notation{broken chord}) on a chord by attaching an
700 @code{\arpeggio} to the chord:
701
702 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
703 <c e g c>\arpeggio
704 @end lilypond
705
706 A square bracket on the left, denoted by @code{\arpeggioBracket},
707 is used to indicate that the chord should @emph{not} be
708 arpeggiated:
709
710 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
711 \arpeggioBracket
712 <c e g c>\arpeggio
713 @end lilypond
714
715 The direction of the arpeggio can be denoted by adding an
716 arrowhead to the wiggly line.  This is done with the commands
717 @code{arpeggioUp} and @code{arpeggioDown}.  @code{arpeggioNeutral}
718 reverts to the arrow-less version:
719
720 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
721 \new Voice {
722   \arpeggioUp
723   <c e g c>\arpeggio
724   \arpeggioDown
725   <c e g c>\arpeggio
726   \arpeggioNeutral
727   <c e g c>\arpeggio
728 }
729 @end lilypond
730
731
732 @predefined
733
734 @funindex \arpeggio
735 @code{\arpeggio},
736 @funindex \arpeggioUp
737 @code{\arpeggioUp},
738 @funindex \arpeggioDown
739 @code{\arpeggioDown},
740 @funindex \arpeggioNeutral
741 @code{\arpeggioNeutral},
742 @funindex \arpeggioBracket
743 @code{\arpeggioBracket}.
744
745
746 @snippets
747
748 In a @code{PianoStaff}, it is possible to let an arpeggio cross
749 between the staves by setting the property
750 @code{PianoStaff}.@code{connectArpeggios}.
751
752 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
753 \new PianoStaff <<
754   \set PianoStaff.connectArpeggios = ##t
755   \new Staff { <c' e g c>\arpeggio }
756   \new Staff { \clef bass <c,, e g>\arpeggio }
757 >>
758 @end lilypond
759
760 The same can be accomplished in contexts other than
761 @code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
762 in the Score context.
763
764 @lilypond[verbatim,quote,ragged-right]
765 \score {
766   \new StaffGroup {
767     \set Score.connectArpeggios = ##t
768     <<
769       \new Voice \relative c' {
770         <e g>4\arpeggio
771       }
772       \new Voice  \relative c {
773         \clef bass
774         <c e>4\arpeggio
775       }
776     >>
777   }
778   \layout {
779     \context {
780       \Score
781       \consists "Span_arpeggio_engraver"
782     }
783   }
784 }
785 @end lilypond
786
787 Similarly, an arpeggio can be drawn across notes in different
788 voices on the same staff if the @code{Span_arpeggio_engraver} is
789 moved to the Staff context:
790
791 @lilypond[verbatim,quote,ragged-right]
792 \new Staff
793 \with {
794   \consists "Span_arpeggio_engraver"
795 } \relative c' {
796   \set Staff.connectArpeggios = ##t
797     <<
798     {<e' g>4\arpeggio <d f> <d f>2 }
799   \\
800   {<d, f>2\arpeggio  <g b>2  }
801   >>
802 }
803 @end lilypond
804
805
806 @seealso
807
808 @c TODO: Add 'broken chord' to glossary.
809
810 Music Glossary: @rglos{arpeggio}
811
812 Notation Reference: @ref{Ties}, for writing out arpeggios.
813
814 Snippets:
815 @rlsr{Expressive marks}.
816
817 Internals Reference: @rinternals{Arpeggio},
818 @rinternals{PianoStaff}.
819
820
821 @knownissues
822
823 It is not possible to mix connected arpeggios and unconnected
824 arpeggios in one @code{PianoStaff} at the same point in
825 time.
826
827
828 @node Trills
829 @subsubsection Trills
830
831 @cindex trills
832 @funindex \trill
833
834 Short @notation{trills} are printed with @code{\trill} like normal
835 articulation; see @ref{Articulations and ornamentations}.
836
837 Long running @notation{trills} are made with
838 @code{\startTrillSpan} and @code{\stopTrillSpan}.  In the
839 following example, a long running @notation{trill} is shown
840 combined with grace notes.  To achieve precise control of the
841 placement of the grace notes, see @ref{Grace notes}.
842
843 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
844 c1 \afterGrace
845 d1\startTrillSpan { c16[\stopTrillSpan d] }
846 c4
847 @end lilypond
848
849 @cindex pitched trills
850
851 @notation{Trills} that should be executed on an explicitly
852 specified pitch can be typeset with the command
853 @code{\pitchedTrill} using the following syntax:
854
855 @example
856 @code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan}
857 @var{trillnote} @var{endnote} @code{\stopTrillSpan}
858 @end example
859
860 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
861 \pitchedTrill e2 \startTrillSpan fis
862 d\stopTrillSpan
863 @end lilypond
864
865 @noindent
866 The first argument is the main note.  The pitch of the second is
867 printed as a stemless note head in parentheses.
868
869
870 @predefined
871
872 @code{\startTrillSpan},
873 @funindex \startTrillSpan
874 @code{\stopTrillSpan}.
875 @funindex \stopTrillSpan
876
877
878 @seealso
879
880 Music Glossary: @rglos{trill}
881
882 Snippets:
883 @rlsr{Expressive marks}.
884
885 Internals Reference: @rinternals{TrillSpanner}