X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fexpressive.itely;h=3321f2e93215da456bfdba37979fab0db138fb2d;hb=da12a3eb8e07ec4e910ead9f39f477920251190a;hp=9a938f6368030737d8eaaff9e2c2ae17d9fbe17d;hpb=e28b6d81bd922bffa65efc1058bcb55a0ec8857e;p=lilypond.git diff --git a/Documentation/user/expressive.itely b/Documentation/user/expressive.itely index 9a938f6368..3321f2e932 100644 --- a/Documentation/user/expressive.itely +++ b/Documentation/user/expressive.itely @@ -6,9 +6,13 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.11.38" + @node Expressive marks @section Expressive marks +@lilypondfile[quote]{expressive-headword.ly} + @menu * Attached to notes:: * Curves:: @@ -19,58 +23,20 @@ @node Attached to notes @subsection Attached to notes - @menu * Articulations and ornamentations:: * Dynamics:: +* New dynamic marks:: @end menu @node Articulations and ornamentations -@unnumberedsubsubsec Articulations and ornamentations +@subsubsection Articulations and ornamentations -@cindex Articulations +@cindex articulations @cindex scripts @cindex ornaments - -A variety of symbols can appear above and below notes to indicate -different characteristics of the performance. All these symbols -can be attached to a note using the syntax @var{note}@code{\}@var{name}. - -The possible values for @var{name} are listed in @ref{List of -articulations}. - -Some of these articulations have shorthands for easier entry. They -are used by adding a dash and the character signifying -the articulation to the note name. The available shorthands and -their output are: - -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -c4-. c-- c-+ c-| -c-> c-^ c-_ -@end lilypond - -The marks are automatically placed, but the direction can be -forced as well. Like other pieces of LilyPond code, @code{_} will -place them below the staff, and @code{^} will place them above. -This applies both to the shorthands and the fully named -articulations. For the shorthands, the dash itself should be -omitted; the shorthand signs replace it: - -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -c4^^ c4_^ -c\fermata c^\fermata c_\fermata -@end lilypond - - -@cindex accent -@cindex marcato -@cindex staccatissimo @cindex espressivo @cindex fermata -@cindex stopped -@cindex staccato -@cindex portato -@cindex tenuto @cindex upbow @cindex downbow @cindex foot marks @@ -92,84 +58,94 @@ c\fermata c^\fermata c_\fermata @cindex coda @cindex varcoda +A variety of symbols that denote articulations, ornamentations, +and other performance indications can be attached to a note using +this syntax: -@commonprop +@example +@var{note}\@var{name} +@end example -The meanings of the shorthands can be changed. They are defined -in @file{ly/@/script@/-init@/.ly}, where the variables -@code{DashDot}, @code{DashDash}, @code{DashPlus}, @code{DashBar}, -@code{DashLarger}, @code{DashHat}, and @code{DashUnderscore} -are associated with the default articulation marks. If you want, -e.g., @code{-+} to produce a trill instead of a "+", you can -redefine the variable in your document: +The possible values for @var{name} are listed in @ref{List of +articulations}. For example: -@lilypond[quote,ragged-right,verbatim] -\relative c'' { c-+ } -dashPlus = "trill" -\relative c'' { c-+ } +@lilypond[verbatim,quote,relative=2] +c4\staccato c\mordent b2\turn +c1\fermata @end lilypond -The vertical ordering of scripts is controlled with the -@code{script-priority} property. The lower this number, the -closer it will be put to the note. In this example, the -@internalsref{TextScript} (the sharp symbol) first has the lowest -priority, so it is put lowest in the first example. In the -second, the prall trill (the @internalsref{Script}) has the -lowest, so it is on the inside. When two objects have the same -priority, the order in which they are entered decides which one -comes first. - - -@commonprop - -The meanings of the shorthands can be changed. They are defined -in @file{ly/@/script@/-init@/.ly}, where the variables -@code{DashDot}, @code{DashDash}, @code{DashPlus}, @code{DashBar}, -@code{DashLarger}, @code{DashHat}, and @code{DashUnderscore} -are associated with the default articulation marks. If you want, -e.g., @code{-+} to produce a trill instead of a "+", you can -redefine the variable in your document: - -@lilypond[quote,ragged-right,verbatim] -\relative c'' { c-+ } -dashPlus = "trill" -\relative c'' { c-+ } -@end lilypond +@cindex marcato +@cindex stopped +@cindex tenuto +@cindex staccatissimo +@cindex accent +@cindex staccato +@cindex portato -The vertical ordering of scripts is controlled with the -@code{script-priority} property. The lower this number, the -closer it will be put to the note. In this example, the -@internalsref{TextScript} (the sharp symbol) first has the lowest -priority, so it is put lowest in the first example. In the -second, the prall trill (the @internalsref{Script}) has the -lowest, so it is on the inside. When two objects have the same -priority, the order in which they are entered decides which one -comes first. - -@lilypond[verbatim,relative=3,ragged-right,fragment,quote] -\once \override TextScript #'script-priority = #-100 -a4^\prall^\markup { \sharp } - -\once \override Script #'script-priority = #-100 -a4^\prall^\markup { \sharp } +Some of these articulations have shorthands for easier entry. +Shorthands are appended to the note name, and their syntax +consists of a dash (@tie{}@code{-}) followed by a symbol +signifying the articulation. Predefined shorthands exist for +@notation{marcato}, @notation{stopped}, @notation{tenuto}, +@notation{staccatissimo}, @notation{accent}, @notation{staccato}, +and @notation{portato}. Their corresponding output appears as +follows: + +@lilypond[verbatim,quote,relative=2] +c4-^ c-+ c-- c-| +c4-> c-. c-_ @end lilypond +The rules for the default placement of articulations are defined +in @file{scm/@/script@/.scm}. Articulations and ornamentations +may be manually placed above or below the staff, see +@ref{Direction and placement}. + + +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{modifying-default-values-for-articulation-shorthand-notation.ly} + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{controlling-the-vertical-ordering-of-scripts.ly} + @seealso -Internals Reference: @internalsref{Script}. +Music Glossary: +@rglos{tenuto}, +@rglos{accent}, +@rglos{staccato}, +@rglos{portato}. + +Notation Reference: +@ref{Direction and placement}. + +Installed Files: +@file{scm/@/script@/.scm}. + +Snippets: +@rlsr{Expressive marks}. +Internals Reference: +@rinternals{Script}, +@rinternals{TextScript}. -@refbugs + +@knownissues These signs appear in the printed output but have no effect on the MIDI rendering of the music. @node Dynamics -@unnumberedsubsubsec Dynamics +@subsubsection Dynamics -@cindex Dynamics +@cindex absolute dynamics +@cindex dynamics +@cindex dynamics, absolute +@funindex \ppppp @funindex \pppp @funindex \ppp @funindex \pp @@ -188,176 +164,237 @@ MIDI rendering of the music. @funindex \sfz @funindex \rfz -Absolute dynamic marks are specified using a command after a note -@code{c4\ff}. The available dynamic marks are @code{\ppppp}, -@code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p}, @code{\mp}, -@code{\mf}, @code{\f}, @code{\ff}, @code{\fff}, @code{\ffff}, -@code{\fp}, @code{\sf}, @code{\sff}, @code{\sp}, @code{\spp}, -@code{\sfz}, and @code{\rfz}. The dynamic marks can be placed -above or below the staff with @code{_} and @code{^}, just like -articulation marks. - -@lilypond[quote,verbatim,ragged-right,fragment,relative=2] -c2\ppp c\mp -c\rfz c^\mf -c_\spp c_\staccato^\ff +Absolute dynamic marks are specified using a command after a note, +such as @code{c4\ff}. The available dynamic marks are +@code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p}, +@code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff}, +@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp}, +@code{\spp}, @code{\sfz}, and @code{\rfz}. The dynamic marks may +be manually placed above or below the staff, see +@ref{Direction and placement}. + +@lilypond[verbatim,quote,relative=2] +c2\ppp c\mp +c2\rfz c^\mf +c2_\spp c^\ff @end lilypond +@cindex hairpin @funindex \< @funindex \> @funindex \! +@funindex \cr +@funindex \decr + +A @notation{crescendo} mark is started with @code{\<} and +terminated with @code{\!}, an absolute dynamic, or an additional +@notation{crescendo} or @notation{decrescendo} mark. A +@notation{decrescendo} mark is started with @code{\>} and is also +terminated with @code{\!}, an absolute dynamic, or another +@notation{crescendo} or @notation{decrescendo} mark. @code{\cr} +and @code{\decr} may be used instead of @code{\<} and @code{\>}. +@notation{Hairpins} are engraved by default using this notation. + +@lilypond[verbatim,quote,relative=2] +c2\< c\! +d2\< d\f +e2\< e\> +f2\> f\! +e2\> e\mp +d2\> d\> +c1\! +@end lilypond -A crescendo mark is started with @code{\<} and terminated with -@code{\!} or an absolute dynamic. A decrescendo is started with -@code{\>} and is also terminated with @code{\!} or an absolute -dynamic. @code{\cr} and @code{\decr} may be used instead of -@code{\<} and @code{\>}. They can be engraved either using a -graphical sign (a @q{hairpin}), or with textual signs. - -Because these marks are bound to notes, you must use spacer notes -if multiple marks are needed during one note. +Spacer notes are needed to engrave multiple marks on one note. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -c\< c\! d\> e\! -<< f1 { s4 s4\< s4\! \> s4\! } >> +@lilypond[verbatim,quote,relative=2] +c4\< c\! d\> e\! +<< f1 { s4 s4\< s4\> s4\! } >> @end lilypond -This may give rise to very short hairpins. Use -@code{minimum-length} in -@internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for -example: +@cindex espressivo articulation -@example -\override Voice.Hairpin #'minimum-length = #5 -@end example +In some situations the @code{\espressivo} articulation mark may be +the appropriate choice to indicate a @notation{crescendo} and +@notation{decrescendo} on one note: -@noindent -A hairpin normally starts at the left edge of the beginning note -and ends on the right edge of the ending note. If the ending note -falls on the downbeat, the hairpin ends on the immediately -preceding barline. This may be modified by setting the -@code{hairpinToBarline} property, -@cindex Hairpin - -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -e4\< e2. e1\! -\set hairpinToBarline = ##f -e4\< e2. e1\! +@lilypond[verbatim,quote,relative=2] +c2 b4 a +g1\espressivo @end lilypond -@cindex espressivo, articulation -In some situations the @code{\espressivo} articulation mark may be -suitable to indicate a crescendo and decrescendo on the one note: - -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] -c2 b4 a g1\espressivo +@cindex crescendo +@cindex decrescendo +@cindex diminuendo +@funindex \setTextCresc +@funindex \setTextDim +@funindex \setTextDecr +@funindex \setTextDecresc +@funindex \setHairpinCresc +@funindex \setHairpinDim +@funindex \setHairpinDecresc + +@notation{Crescendos} and @notation{decrescendos} can be engraved +as textual markings instead of hairpins. The built-in commands +that enable these text modes are @code{\setTextCresc}, +@code{\setTextDecresc}, @code{\setTextDecr}, and +@code{\setTextDim}. The corresponding @code{\setHairpinCresc}, +@code{\setHairpinDim}, and @code{\setHairpinDecresc} commands will +revert to hairpins again: + +@lilypond[verbatim,quote,relative=2] +c4\< d e f\! +e4\> d c b\! +\setTextCresc +c4\< d e f\! +\setTextDecresc +e4\> d c b\! +\setHairpinCresc +c4\< d e f\! @end lilypond +To create new absolute dynamic marks or text that should be +aligned with dynamics, see @ref{New dynamic marks}. + +Vertical positioning of dynamics is handled by +@rinternals{DynamicLineSpanner}. + + +@predefined + +@funindex \dynamicUp +@code{\dynamicUp}, +@funindex \dynamicDown +@code{\dynamicDown}, +@funindex \dynamicNeutral +@code{\dynamicNeutral}. + + +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{setting-hairpin-behavior-at-bar-lines.ly} + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{setting-the-minimum-length-of-hairpins.ly} + @cindex al niente @cindex niente, al -Hairpins may be printed with a circled tip (al niente notation) by -setting the @code{circled-tip} property: +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{printing-hairpins-using-al-niente-notation.ly} -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] -\override Hairpin #'circled-tip = ##t -c2\< c\! -c4\> c\< c2\! -@end lilypond +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{vertically-aligning-dynamics-across-multiple-notes.ly} +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{hiding-the-extender-line-for-text-dynamics.ly} -@cindex crescendo -@cindex decrescendo -@cindex diminuendo +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{changing-text-and-spanner-styles-for-text-dynamics.ly} -You can use text saying @emph{cresc.}, @emph{decr.}, or -@emph{dim.} instead of hairpins with the commands \setTextCresc, -\setTextDim, and \setTextDecresc. The corresponding -\setHairpinCresc, \setHairpinDim, and \setHairpinDecresc will -revert to hairpins again: -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] -\setTextCresc -c\< d e f\! -\setHairpinCresc -e\> d c b\! -\setTextDecresc -c\> d e f\! -\setTextDim -e\> d c b\! -@end lilypond +@seealso -You can also supply your own texts and change the style of the -spanner line with the properties @code{\crescendoText}, -@code{\crescendoSpanner}, @code{\decrescendoText}, and -@code{\decrescendoSpanner}. Available values for the spanner -properties are @code{hairpin}, @code{line}, @code{dashed-line}, -and @code{dotted-line}. If unset, a hairpin crescendo is used: - -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -\set crescendoText = \markup { \italic "cresc. poco" } -\set crescendoSpanner = #'dotted-line -a'2\< a a a a a a a\!\mf -@end lilypond +@c TODO: Add hairpin to glossary. +Music Glossary: +@rglos{crescendo}, +@rglos{decrescendo}. -To create new dynamic marks or text that should be aligned with -dynamics, see @ref{New dynamic marks}. +Learning Manual: +@rlearning{Articulation and dynamics}. -Vertical positioning of dynamics is handled by -@internalsref{DynamicLineSpanner}. +Notation Reference: +@ref{Direction and placement}. +Snippets: +@rlsr{Expressive marks}. -@commonprop +Internals Reference: +@rinternals{DynamicText}, +@rinternals{Hairpin}, +@rinternals{DynamicLineSpanner}. -Dynamics that occur at, begin on, or end on the same note will be -vertically aligned. If you want to ensure that dynamics are -aligned when they do not occur on the same note, you can increase -the @code{staff-padding} property. -@example -\override DynamicLineSpanner #'staff-padding = #4 -@end example +@node New dynamic marks +@subsubsection New dynamic marks -You may also use this property if the dynamics are colliding with -other notation. +@cindex new dynamic marks +@cindex dynamic marks, new -Crescendi and decrescendi that cross a line break will be -continued on the second line. If they end on the first note of a -new line, nothing will be printed on that line. To change this -behavior, use +The easiest way to create dynamic indications is to use +@code{\markup} objects. -@example -\override Score.Hairpin #'after-line-breaking = ##t -@end example +@lilypond[verbatim,quote] +moltoF = \markup { molto \dynamic f } -Text style dynamic changes (such as @emph{cresc.} and @emph{dim.}) -are printed with a dashed line showing their extent. To surpress -printing this line, use +\relative c' { + 16 + 2.._\moltoF +} +@end lilypond -@example -\override DynamicTextSpanner #'dash-period = #-1.0 -@end example +@cindex dynamics, editorial +@cindex dynamics, parenthesis +Markup mode makes possible, for instance, to add +editorial dynamics, printed in round parenthesis or square +brackets. Its syntax is described in @ref{Formatting text}. -@refcommands +@lilypond[verbatim,quote] +roundf = \markup { \center-align { \line { \bold { \italic ( } + \dynamic f \bold { \italic ) } } } } +boxf = \markup { \bracket { \dynamic f } } +\relative c' { + c1_\roundf + c1_\boxf +} +@end lilypond -@funindex \dynamicUp -@code{\dynamicUp}, -@funindex \dynamicDown -@code{\dynamicDown}, -@funindex \dynamicNeutral -@code{\dynamicNeutral}. +Markup objects are treated differently from authentic dynamic marks. +Defining dynamic objects that will be entered and printed exactly like +standard dynamic marks is also possible, using the following function: + +@cindex make-dynamic-script + +@lilypond[verbatim,quote] +sfzp = #(make-dynamic-script "sfzp") +\relative c' { + c4 c c\sfzp c +} +@end lilypond + +@noindent +Note that the dynamic font only contains the characters +@code{f,m,p,r,s} and @code{z}. To switch to other font families, +it is necessary to use markup mode in its Scheme form, as +explained in @ref{Markup construction in Scheme}. + +@lilypond[verbatim,quote] +moltoF = #(make-dynamic-script (markup + #:normal-text "molto" + #:dynamic "f")) +\relative c' { + 16 + 2..\moltoF +} +@end lilypond + +@noindent +Font settings in markup mode are described in +@ref{Common markup commands}. @seealso -Internals Reference: @internalsref{DynamicText}, -@internalsref{Hairpin}. Vertical positioning of these symbols is -handled by @internalsref{DynamicLineSpanner}. -Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo} +Notation Reference: +@ref{Formatting text}, +@ref{Common markup commands}, +@ref{Markup construction in Scheme}. -@c TODO: add link to LM directions +Snippets: +@rlsr{Expressive marks}. @node Curves @@ -371,45 +408,53 @@ Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo} @end menu @node Slurs -@unnumberedsubsubsec Slurs +@subsubsection Slurs -@cindex Slurs +@cindex slurs -A slur indicates that notes are to be played bound or -@emph{legato}. They are entered using parentheses: +@notation{Slurs} are entered using parentheses: -@lilypond[quote,ragged-right,relative=2,fragment,verbatim] -f( g a) a8 b( a4 g2 f4) +@lilypond[verbatim,quote,relative=2] +f4( g a) a8 b( +a4 g2 f4) 2( 2) @end lilypond -Just as with ties, the direction of a slur can be specified with -@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either -@code{Up}, @code{Down}, or @code{Neutral} (automatically -selected). The shorthands are also available: by adding -@code{_} or @code{^} before the opening parentheses, the direction -is also set. - -@lilypond[relative=2,ragged-right,quote,verbatim,fragment] -c4_( c) c^( c) +The direction of a @notation{slur} can be specified with +@code{\slurUp} or @code{\slurDown}. The @code{\slurNeutral} +command reverts back to the default slur direction. +@notation{Slurs} may be manually placed above or below the staff, +see @ref{Direction and placement}. + +@lilypond[verbatim,quote,relative=2] +c2( d) +\slurDown +c2( d) +\slurNeutral +c2( d) @end lilypond -Only one slur can be printed at once. If you need to print a long -slur over a few small slurs, please see @ref{Phrasing slurs}. - - -@commonprop - -Some composers write two slurs when they want legato chords. This -can be achieved in LilyPond by setting @code{doubleSlurs}, - -@lilypond[verbatim,ragged-right,relative,fragment,quote] -\set doubleSlurs = ##t -4 ( ) +Different styles of @notation{slurs} may be created with the +commands @code{\slurDashed} and @code{slurDotted}; +@code{\slurSolid} reverts back to the default @notation{slur} +style: + +@lilypond[verbatim,quote,relative=1] +c4( e g2) +\slurDashed +g4( e c2) +\slurDotted +c4( e g2) +\slurSolid +g4( e c2) @end lilypond +Using this method, only one slur can be printed at once. +@notation{Phrasing slurs} must be used to print a long slur over +one or more small slurs. For details, see @ref{Phrasing slurs}. + -@refcommands +@predefined @funindex \slurUp @code{\slurUp}, @@ -424,36 +469,63 @@ can be achieved in LilyPond by setting @code{doubleSlurs}, @funindex \slurSolid @code{\slurSolid}. + +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{using-double-slurs-for-legato-chords.ly} + + @seealso -Internals Reference: @internalsref{Slur}. +Music Glossary: +@rglos{slur}. + +Notation Reference: +@ref{Direction and placement}. + +Snippets: +@rlsr{Expressive marks}. + +Internals Reference: +@rinternals{Slur}. @node Phrasing slurs -@unnumberedsubsubsec Phrasing slurs +@subsubsection Phrasing slurs @cindex phrasing slurs @cindex phrasing marks +@funindex \( +@funindex \) -A phrasing slur (or phrasing mark) connects notes and is used to -indicate a musical sentence. It is written using @code{\(} and -@code{\)} respectively: +@notation{Phrasing slurs} (or @notation{phrasing marks}) that +indicate a musical sentence are written using the commands +@code{\(} and @code{\)} respectively: -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] -\time 6/4 c'\( d( e) f( e) d\) +@lilypond[verbatim,quote,relative=2] +c4\( d( e) f( +e2) d\) @end lilypond -Typographically, the phrasing slur behaves almost exactly like a -normal slur. However, they are treated as different objects. A -@code{\slurUp} will have no effect on a phrasing slur; instead, -use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and -@code{\phrasingSlurNeutral}, or use the shorthands @code{_} and -@code{^}. +Typographically, a @notation{phrasing slur} behaves almost exactly +like a normal @notation{slur}. However, they are treated as +different objects; a @code{\slurUp} will have no effect on a +@notation{phrasing slur}. The commands @code{\phrasingSlurUp}, +@code{\phrasingSlurDown}, and @code{\phrasingSlurNeutral} are used +instead. Phrasing slurs may be manually placed above or below the +staff, see @ref{Direction and placement}. + +@lilypond[verbatim,quote,relative=1] +c4\( g' c,( b) | c1\) +\phrasingSlurUp +c4\( g' c,( b) | c1\) +@end lilypond -You cannot have simultaneous phrasing slurs. +Simultaneous phrasing slurs are not permitted. -@refcommands +@predefined @funindex \phrasingSlurUp @code{\phrasingSlurUp}, @@ -465,52 +537,84 @@ You cannot have simultaneous phrasing slurs. @seealso -Internals Reference: @internalsref{PhrasingSlur}. +Notation Reference: +@ref{Direction and placement}. + +Snippets: +@rlsr{Expressive marks}. + +Internals Reference: +@rinternals{PhrasingSlur}. @node Breath marks -@unnumberedsubsubsec Breath marks +@subsubsection Breath marks + +@cindex breath marks +@funindex \breathe -Breath marks are entered using @code{\breathe} +Breath marks are entered using @code{\breathe}: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -c'4 \breathe d4 +@lilypond[verbatim,quote,relative=2] +c2. \breathe d4 @end lilypond -@commonprop +@snippets -The glyph of the breath mark can be tuned by overriding the -@code{text} property of the @code{BreathingSign} layout object -with any markup text. For example, +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{changing-the-breath-mark-symbol.ly} -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] -c'4 -\override BreathingSign #'text - = #(make-musicglyph-markup "scripts.rvarcomma") -\breathe -d4 -@end lilypond @seealso -Internals Reference: @internalsref{BreathingSign}. +Snippets: +@rlsr{Expressive marks}. +@c @lsr{expressive,breathing-sign.ly}. -Examples: @lsr{expressive,breathing-sign.ly} +Internals Reference: +@rinternals{BreathingSign}. @node Falls and doits -@unnumberedsubsubsec Falls and doits +@subsubsection Falls and doits -Falls and doits can be added to notes using the @code{\bendAfter} -command, +@cindex falls +@cindex doits +@funindex \bendAfter -@lilypond[fragment,ragged-right,relative=2] -\override Score.SpacingSpanner #'shortest-duration-space = #3.0 -c4-\bendAfter #+5 -c4-\bendAfter #-3 +@notation{Falls} and @notation{doits} can be added to notes using +the @code{\bendAfter} command: + +@lilypond[verbatim,quote,relative=2] +c2-\bendAfter #+4 +c2-\bendAfter #-4 +c2-\bendAfter #+8 +c2-\bendAfter #-8 @end lilypond +The dash (@tie{-}) immediately preceding the @code{\bendAfter} +command is @emph{required} when writing @notation{falls} and +@notation{doits}. + + +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{adjusting-the-shape-of-falls-and-doits.ly} + + +@seealso + +@c TODO: add falls and doits to glossary. +@c Music Glossary: +@c @rglos{falls}, +@c @rglos{doits}. + +Snippets: +@rlsr{Expressive marks}. + + @node Lines @subsection Lines @@ -518,156 +622,126 @@ c4-\bendAfter #-3 * Glissando:: * Arpeggio:: * Trills:: -* Analysis brackets:: @end menu @node Glissando -@unnumberedsubsubsec Glissando +@subsubsection Glissando -@cindex Glissando +@cindex glissando @funindex \glissando -A glissando is a smooth change in pitch. It is denoted by a line -or a wavy line between two notes. It is requested by attaching -@code{\glissando} to a note +A @notation{glissando} is created by attaching @code{\glissando} +to a note: -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +@lilypond[verbatim,quote,relative=2] c2\glissando c' \override Glissando #'style = #'zigzag c2\glissando c, @end lilypond -@commonprop +@snippets -@lilypond[quote,ragged-right,verbatim] +@c Modify, add description, and put in input/new/ +@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@c {suppressing-warnings-for-clashing-note-columns.ly} + +@lilypond[verbatim,quote] I = \once \override NoteColumn #'ignore-collision = ##t -\relative << +\relative c' << { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\ { \oneVoice \I c2 \glissando \I d, } >> @end lilypond - @seealso -Internals Reference: @internalsref{Glissando}. +Music Glossary: +@rglos{glissando}. + +Snippets: +@rlsr{Expressive marks}. -Glossary: @rglos{falls}, @rglos{doits} -Example files: -@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly} +@c FIXME: I need to figure out what's up with these. -gp +@c @lsr{expressive,glissando.ly}, +@c @lsr{expressive,line-styles.ly} +Internals Reference: +@rinternals{Glissando}. -@refbugs + +@knownissues Printing text over the line (such as @emph{gliss.}) is not supported. @node Arpeggio -@unnumberedsubsubsec Arpeggio +@subsubsection Arpeggio -@cindex Arpeggio +@cindex arpeggio @cindex broken chord -@funindex \arpeggio +@cindex chord, broken -You can specify an arpeggio sign (also known as broken chord) on a -chord by attaching an @code{\arpeggio} to the chord: +An @notation{arpeggio} on a chord (also known as a +@notation{broken chord}) is denoted by appending @code{\arpeggio} +to the chord construct: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -\arpeggio +@lilypond[verbatim,quote,relative=1] +1\arpeggio @end lilypond -A square bracket on the left is used to indicate that the chord should -@emph{not} be arpeggiated: - -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -\arpeggioBracket -\arpeggio -@end lilypond - -The direction of the arpeggio can be denoted by adding an -arrowhead to the wiggly line. This is done with the commands -@code{arpeggioUp} and @code{arpeggioDown}. @code{arpeggioNeutral} -reverts to the arrow-less version: - -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -\new Voice { - \arpeggioUp - \arpeggio - \arpeggioDown - \arpeggio - \arpeggioNeutral - \arpeggio -} +The direction of an @notation{arpeggio} is indicated by adding an +arrowhead to the wiggly line. The commands @code{\arpeggioUp} and +@code{\arpeggioDown} are used for this task. +@code{\arpeggioNeutral} reverts back to an arrow-less +@notation{arpeggio}: + +@lilypond[verbatim,quote,relative=1] +\arpeggioUp +2\arpeggio +\arpeggioDown +2\arpeggio +\arpeggioNeutral +1\arpeggio @end lilypond +The command @code{\arpeggioBracket} can be used to create a square +bracket on the left of a chord, indicating that the chord should +@emph{not} be arpeggiated. @code{\arpeggioNeutral} reverts back +to a regular arpeggio: -@commonprop - -In a @code{PianoStaff}, it is possible to let an arpeggio cross -between the staves by setting the property -@internalsref{PianoStaff}.@code{connectArpeggios}. - -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] -\new PianoStaff << - \set PianoStaff.connectArpeggios = ##t - \new Staff { \arpeggio } - \new Staff { \clef bass \arpeggio } ->> +@lilypond[verbatim,quote,relative=1] +2 +\arpeggioBracket +2\arpeggio +\arpeggioNeutral +1\arpeggio @end lilypond -The same can be accomplished in contexts other than -@code{PianoStaff} if the @code{Span_arpeggio_engraver} is included -in the Score context. - -@lilypond[quote,ragged-right,verbatim] -\score { - \new StaffGroup { - \set Score.connectArpeggios = ##t - << - \new Voice \relative c' { - 4\arpeggio - } - \new Voice \relative c { - \clef bass - 4\arpeggio - } - >> - } - \layout { - \context { - \Score - \consists "Span_arpeggio_engraver" - } - } -} -@end lilypond +A @emph{parenthesis} style bracket may be attached to an +@notation{arpeggio} instead of a square bracket. -Similarly, an arpeggio can be drawn across notes in -different voices on the same staff if the Span_arpeggio_engraver -is moved to the Staff context: - -@lilypond[quote,ragged-right,verbatim] -\new Staff -\with { - \consists "Span_arpeggio_engraver" -} \relative c' { - \set Staff.connectArpeggios = ##t - << - {4\arpeggio 2 } - \\ - {2\arpeggio 2 } - >> -} -@end lilypond +@c Maybe create a new \arpeggioParen command, or something +@c like that. -pm +@lilypond[verbatim,quote,relative=1] +2 +\override Arpeggio #'stencil = #ly:arpeggio::brew-chord-slur +\override Arpeggio #'X-extent = #ly:grob::stencil-width +2\arpeggio +\arpeggioNeutral +1\arpeggio +@end lilypond +@notation{Arpeggios} can be explicitly written out with +@notation{ties}. For more information, see @ref{Ties}. -@refcommands +@predefined +@funindex \arpeggio @code{\arpeggio}, @funindex \arpeggioUp @code{\arpeggioUp}, @@ -679,58 +753,87 @@ is moved to the Staff context: @code{\arpeggioBracket}. +@snippets + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{creating-cross-staff-arpeggios-in-a-piano-staff.ly} + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{creating-cross-staff-arpeggios-in-other-contexts.ly} + +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{creating-arpeggios-across-notes-in-different-voices.ly} + + @seealso -Notation manual: @ref{Ties}, for writing out arpeggios. +@c TODO: Add 'broken chord' to glossary. + +Music Glossary: +@rglos{arpeggio}. + +Notation Reference: +@ref{Ties}. -Internals Reference: @internalsref{Arpeggio}. +Snippets: +@rlsr{Expressive marks}. +Internals Reference: +@rinternals{Arpeggio}, +@rinternals{PianoStaff}. -@refbugs + +@knownissues It is not possible to mix connected arpeggios and unconnected -arpeggios in one @internalsref{PianoStaff} at the same point in +arpeggios in one @code{PianoStaff} at the same point in time. @node Trills -@unnumberedsubsubsec Trills +@subsubsection Trills + +@cindex trills +@funindex \trill -Short trills are printed with @code{\trill} like normal +Short @notation{trills} are printed with @code{\trill} like normal articulation; see @ref{Articulations and ornamentations}. -Long running trills are made with @code{\startTrillSpan} and -@code{\stopTrillSpan}. In the following example, it is shown in -the common combination with grace notes. If a more precise -control of the placement of the grace notes is needed, see -@ref{Grace notes}. +Long running @notation{trills} are made with +@code{\startTrillSpan} and @code{\stopTrillSpan}. In the +following example, a long running @notation{trill} is shown +combined with grace notes. To achieve precise control of the +placement of the grace notes, see @ref{Grace notes}. -@lilypond[verbatim,ragged-right,relative=2,quote,fragment] -\relative c'' -{c1 \afterGrace +@lilypond[verbatim,quote,relative=2] +c1 \afterGrace d1\startTrillSpan { c16[\stopTrillSpan d] } -c4 } +c4 @end lilypond -@cindex Pitched trills +@cindex pitched trills +@cindex trills, pitched + +@notation{Trills} that should be executed on an explicitly +specified pitch can be typeset with the command +@code{\pitchedTrill} using the following syntax: -Trills that should be executed on an explicitly specified pitch -can be typeset with the command @code{pitchedTrill}, and the -syntax @code{\pitchedTrill} @var{mainnote}@code{\startTrillSpan} -@var{trillnote} @var{endnote} @code{\stopTrillSpan}. +@example +@code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan} +@var{trillnote} @var{endnote} @code{\stopTrillSpan} +@end example -@lilypond[ragged-right,verbatim,fragment,relative=1,quote] +@lilypond[verbatim,quote,relative=1] \pitchedTrill e2 \startTrillSpan fis d\stopTrillSpan @end lilypond - @noindent The first argument is the main note. The pitch of the second is printed as a stemless note head in parentheses. -@refcommands +@predefined @code{\startTrillSpan}, @funindex \startTrillSpan @@ -740,41 +843,11 @@ printed as a stemless note head in parentheses. @seealso -Internals Reference: @internalsref{TrillSpanner}. - - -@node Analysis brackets -@unnumberedsubsubsec Analysis brackets - -@cindex brackets -@cindex phrasing brackets -@cindex musicological analysis -@cindex note grouping bracket - -Brackets are used in musical analysis to indicate structure in -musical pieces. LilyPond supports a simple form of nested -horizontal brackets. To use this, add the -@internalsref{Horizontal_bracket_engraver} to the -@internalsref{Staff} context. A bracket is started with -@code{\startGroup} and closed with @code{\stopGroup}. - -@lilypond[quote,ragged-right,verbatim] -\score { - \relative c'' { - c4\startGroup\startGroup - c4\stopGroup - c4\startGroup - c4\stopGroup\stopGroup - } - \layout { - \context { - \Staff \consists "Horizontal_bracket_engraver" -}}} -@end lilypond - -@seealso - -Internals Reference: @internalsref{HorizontalBracket}. - +Music Glossary: +@rglos{trill}. +Snippets: +@rlsr{Expressive marks}. +Internals Reference: +@rinternals{TrillSpanner}.