From ab8fcd7b60183b302554d7eea6cc390e11967ea7 Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Fri, 25 Jul 2008 16:45:24 -0700 Subject: [PATCH] Update for Expressive and Staff * Expressive: improvements from mailing list * Staff: second pass Signed-off-by: Patrick McCarty --- Documentation/user/expressive.itely | 91 ++++-- Documentation/user/staff.itely | 450 +++++++++++----------------- 2 files changed, 230 insertions(+), 311 deletions(-) diff --git a/Documentation/user/expressive.itely b/Documentation/user/expressive.itely index 9bb34c806c..8979019d68 100644 --- a/Documentation/user/expressive.itely +++ b/Documentation/user/expressive.itely @@ -171,7 +171,7 @@ such as @code{c4\ff}. The available dynamic marks are @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 +be manually placed above or below the staff, see @ref{Direction and placement}. @lilypond[verbatim,quote,relative=2] @@ -313,7 +313,9 @@ Learning Manual: Notation Reference: @ref{Direction and placement}, -@ref{New dynamic marks}. +@ref{New dynamic marks}, +@ref{What goes into the MIDI output?}, +@ref{Controlling MIDI dynamics}. Snippets: @rlsr{Expressive marks}. @@ -350,22 +352,21 @@ brackets) can be created. The syntax for markup mode is described in @ref{Formatting text}. @lilypond[verbatim,quote] -roundf = \markup { \center-align { \line { \bold { \italic ( } - \dynamic f \bold { \italic ) } } } } -boxf = \markup { \bracket { \dynamic f } } +roundF = \markup { \hcenter \concat { \bold { \italic ( } + \dynamic f \bold { \italic ) } } } +boxF = \markup { \bracket { \dynamic f } } \relative c' { - c1_\roundf - c1_\boxf + c1_\roundF + c1_\boxF } @end lilypond -By default, markup objects are aligned to the left side of a note -head, but authentic dynamic marks are always centered on the note -head. New, centered dynamic marks can be created using the -following function: - @cindex make-dynamic-script +Simple, centered dynamic marks are easily created with the +@code{make-dynamic-script} function. The dynamic font only +contains the characters @code{f,m,p,r,s} and @code{z}. + @lilypond[verbatim,quote] sfzp = #(make-dynamic-script "sfzp") \relative c' { @@ -373,23 +374,39 @@ sfzp = #(make-dynamic-script "sfzp") } @end lilypond -@noindent -The dynamic font only contains the characters @code{f,m,p,r,s} and -@code{z}. In order to use other font families, it is necessary to -use markup mode in its Scheme form, as explained in -@ref{Markup construction in Scheme}. +In general, @code{make-dynamic-script} takes any markup object as +its argument. In the following example, using +@code{make-dynamic-script} ensures the vertical alignment of +markup objects and hairpins that are attached to the same note +head. + +@lilypond[verbatim,quote] +roundF = \markup { \hcenter \concat { + \normal-text { \bold { \italic ( } } + \dynamic f + \normal-text { \bold { \italic ) } } } } +boxF = \markup { \bracket { \dynamic f } } +roundFdynamic = #(make-dynamic-script roundF) +boxFdynamic = #(make-dynamic-script boxF) +\relative c' { + c4_\roundFdynamic\< d e f + g,1_\boxFdynamic +} +@end lilypond + +The Scheme form of markup mode may be used instead. Its syntax is +explained in @ref{Markup construction in Scheme}. @lilypond[verbatim,quote] -moltoF = #(make-dynamic-script (markup - #:normal-text "molto" - #:dynamic "f")) +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}. @@ -399,7 +416,9 @@ Font settings in markup mode are described in Notation Reference: @ref{Formatting text}, @ref{Common markup commands}, -@ref{Markup construction in Scheme}. +@ref{Markup construction in Scheme}, +@ref{What goes into the MIDI output?}, +@ref{Controlling MIDI dynamics}. Snippets: @rlsr{Expressive marks}. @@ -487,6 +506,9 @@ g4( e c2) Music Glossary: @rglos{slur}. +Learning Manual: +@rlearning{On the un-nestedness of brackets and ties}. + Notation Reference: @ref{Direction and placement}, @ref{Phrasing slurs}. @@ -542,6 +564,9 @@ Simultaneous phrasing slurs are not permitted. @seealso +Learning Manual: +@rlearning{On the un-nestedness of brackets and ties}. + Notation Reference: @ref{Direction and placement}. @@ -800,10 +825,17 @@ Short @notation{trills} without an extender line are printed with @code{\trill}; see @ref{Articulations and ornamentations}. Longer trills with an extender line are made with -@code{\startTrillSpan} and @code{\stopTrillSpan}. In the -following example, the trill is combined with grace notes. To -achieve precise control over the placement of the grace notes, see -@ref{Grace notes}. +@code{\startTrillSpan} and @code{\stopTrillSpan}: + +@lilypond[verbatim,quote,relative=2] +d1~\startTrillSpan +d1 +c2\stopTrillSpan r2 +@end lilypond + +In the following example, a trill is combined with grace notes. +The syntax of this construct and the method to precisely position +the grace notes are described in @ref{Grace notes}. @lilypond[verbatim,quote,relative=2] c1 \afterGrace @@ -819,13 +851,6 @@ be typeset with the @code{\pitchedTrill} command. The first argument is the main note, and the second is the @emph{trilled} note, printed as a stemless note head in parentheses. -@c This syntax example doesn't look nice. -pm - -@c @example -@c @code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan} -@c @var{trillnote} @var{endnote} @code{\stopTrillSpan} -@c @end example - @lilypond[verbatim,quote,relative=1] \pitchedTrill e2\startTrillSpan fis d\stopTrillSpan diff --git a/Documentation/user/staff.itely b/Documentation/user/staff.itely index d025bda0d8..3c4be6a41d 100644 --- a/Documentation/user/staff.itely +++ b/Documentation/user/staff.itely @@ -18,23 +18,23 @@ scores with more than one staff, and how to apply specific performance marks to single staves. @menu -* Displaying staves:: -* Modifying single staves:: -* Writing parts:: +* Displaying staves:: +* Modifying single staves:: +* Writing parts:: @end menu @node Displaying staves @subsection Displaying staves -This section shows the different possibilities to create and group -staves into groups, which can be marked in the beginning of each -line with either a bracket or a brace. +This section shows the different possibilities of creating and +grouping staves, which are marked at the beginning of each line +with either a bracket or a brace. @menu * Instantiating new staves:: -* Grouping staves:: -* Deeper nested staff groups:: +* Grouping staves:: +* Deeper nested staff groups:: @end menu @node Instantiating new staves @@ -52,71 +52,57 @@ line with either a bracket or a brace. @cindex tabstaff @cindex tablature -Staves (sg. staff) are created with the @code{\new} or -@code{\context} commands. For an explanation on these commands, -see @ref{Creating contexts}. +@notation{Staves} (singular: @notation{staff}) are created with +the @code{\new} or @code{\context} commands. For details, see +@ref{Creating contexts}. -There are different predefined staff contexts available in -LilyPond: - -@itemize -@item -The default is @code{Staff}: +The basic staff context is @code{Staff}: @lilypond[verbatim,quote,relative=2] \new Staff { c4 d e f } @end lilypond -@item -@code{DrumStaff} creates a five line staff set up for a typical -drum set. It uses different names for each instrument. The -instrument names have to be set using the @code{drummode}. See -@ref{Percussion staves}. +@code{DrumStaff} creates a five-line staff set up for a +typical drum set. It uses different names for each instrument. +The instrument names are set using the @code{\drummode} command. +For details, see @ref{Percussion staves}. @lilypond[verbatim,quote] -\new DrumStaff { +\new DrumStaff { \drummode { cymc hh ss tomh } } @end lilypond @c FIXME: remove when mentioned in NR 2.8 -@item -@code{GregorianTranscriptionStaff} sets up a staff to notate +@code{GregorianTranscriptionStaff} creates a staff to notate modern Gregorian chant. It does not show bar lines. @lilypond[verbatim,quote,relative=2] \new GregorianTranscriptionStaff { c4 d e f } @end lilypond -@item -@code{RhythmicStaff} can be used to show the rhythm of some music. -The notes are printed on one line regardless of their pitch, but -the duration is preserved. See @ref{Showing melody rhythms}. +@code{RhythmicStaff} creates a single-line staff that only +displays the rhythmic values of the input. Real durations are +preserved. For details, see @ref{Showing melody rhythms}. @lilypond[verbatim,quote,relative=2] \new RhythmicStaff { c4 d e f } @end lilypond -@item -@code{TabStaff} creates by default a tablature with six strings in -standard guitar tuning. See @ref{Default tablatures}. +@code{TabStaff} creates a tablature with six strings in standard +guitar tuning. For details, see @ref{Default tablatures}. @lilypond[verbatim,quote,relative=2] \new TabStaff { c4 d e f } @end lilypond -@end itemize +There are two staff contexts specific for the notation of ancient +music: @code{MensuralStaff} and @code{VaticanaStaff}. They are +described in @ref{Pre-defined contexts}. -@noindent -Besides these staves there are two staff contexts specific for the -notation of ancient music: @code{MensuralStaff} and -@code{VaticanaStaff}. They are described in @ref{Pre-defined -contexts}. - -Once a staff is instantiated it can be started or stopped at every -point in the score. This is done with the commands -@code{\startStaff} and @code{\stopStaff}. How to use it is -explained in @ref{Staff symbol}. +Staves can be started or stopped at any point in the score. The +commands @code{\startStaff} and @code{\stopStaff} are used for +this purpose. For details, see @ref{Staff symbol}. @seealso @@ -127,7 +113,7 @@ Music Glossary: Notation Reference: @ref{Creating contexts}, -@ref{Percussion staves}, +@ref{Percussion staves}, @ref{Default tablatures}, @ref{Gregorian chant contexts}, @ref{Mensural contexts}, @@ -158,24 +144,21 @@ Internals Reference: @cindex system start delimiters @cindex bracket, vertical @cindex brace, vertical +@cindex choir staff @cindex grand staff @cindex piano staff @cindex staff group @cindex staff, choir -@cindex choir staff +@cindex staff, piano @cindex system -LilyPond provides different types of contexts to group single -staves together. These contexts influence in the first place the -appearance of the system start delimiter, but they have also -influence on the behavior of the bar lines. +Various contexts exist to group single staves together in order to +form multi-stave systems. Each grouping context sets the style of +the system start delimiter and the behavior of bar lines. -@itemize -@item -If no context is specified, the default properties for the score -will be used: the group is started with a vertical line, and the -bar lines are not connected. The name of the beginning bar line -grob is @code{SystemStartBar}. +If no context is specified, the default properties will be used: +the group is started with a vertical line, and the bar lines are +not connected. @lilypond[verbatim,quote,relative=2] << @@ -184,9 +167,8 @@ grob is @code{SystemStartBar}. >> @end lilypond -@item -In a @code{StaffGroup}, the bar lines will be drawn through all -the staves, and the group is started with a bracket. +In the @code{StaffGroup} context, the group is started with a +bracket and bar lines are drawn through all the staves. @lilypond[verbatim,quote,relative=2] \new StaffGroup << @@ -195,9 +177,8 @@ the staves, and the group is started with a bracket. >> @end lilypond -@item -In a @code{ChoirStaff}, the group is started with a bracket, but -bar lines are not connected. +In a @code{ChoirStaff}, the group starts with a bracket, but bar +lines are not connected. @lilypond[verbatim,quote,relative=2] \new ChoirStaff << @@ -206,9 +187,8 @@ bar lines are not connected. >> @end lilypond -@item -In a @code{GrandStaff}, the group is started with a brace at the -left, and bar lines are connected between the staves. +In a @code{GrandStaff}, the group begins with a brace, and bar +lines are connected between the staves. @lilypond[verbatim,quote,relative=2] \new GrandStaff << @@ -217,42 +197,24 @@ left, and bar lines are connected between the staves. >> @end lilypond -@item -The @code{PianoStaff} behaves almost as the @code{GrandStaff} but -is optimized for setting piano music. In particular it supports -the printing of an instrument name directly, see @ref{Instrument -names}. +The @code{PianoStaff} is almost identical to a @code{GrandStaff}, +except that it supports printing the instrument name directly. +For details, see @ref{Instrument names}. @lilypond[verbatim,quote,relative=2] \new PianoStaff << + \set PianoStaff.instrumentName = "Piano" \new Staff { c1 c } \new Staff { c1 c } >> @end lilypond -@end itemize - Each staff group context sets the property -@code{systemStartDelimiter} to one of the values -@code{SystemStartBar}, @code{SystemStartBrace}, and +@code{systemStartDelimiter} to one of the following values: +@code{SystemStartBar}, @code{SystemStartBrace}, or @code{SystemStartBracket}. A fourth delimiter, -@code{systemStartSquare}, is also available, but must be -instantiated manually. The usage of this last delimiter is shown -further down in the snippet section. - -According to classic engraver rules an orchestral score consists -of staves connected only with a single line at the beginning of -the system. In LilyPond this is produced grouping the -@code{Staff} contexts with @code{<< ... >>}. - -Each instrument family is grouped inside of a @code{StaffGroup} -with a starting bracket. A group of same instruments or an -instrument using more than one staff is grouped with braces in a -@code{GrandStaff}. - -As the context names tell, @code{PianoStaff} is used for notating -piano music and @code{ChoirStaff} for all kind of vocal ensemble -music. +@code{SystemStartSquare}, is also available, but it must be +explicitly specified. @snippets @@ -276,7 +238,7 @@ music. @seealso Music Glossary: -@rglos{brace}, +@rglos{brace}, @rglos{bracket}, @rglos{grand staff}. @@ -290,33 +252,17 @@ Internals Reference: @rinternals{Staff}, @rinternals{ChoirStaff}, @rinternals{GrandStaff}, -@rinternals{PianoStaff}, +@rinternals{PianoStaff}, @rinternals{StaffGroup}, -@rinternals{systemStartDelimiter}, @rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, @rinternals{SystemStartBracket}, -@rinternals{systemStartSquare}. +@rinternals{SystemStartSquare}. @node Deeper nested staff groups @unnumberedsubsubsec Deeper nested staff groups -There are also two inner staff contexts named -@code{InnerStaffGroup} and @code{InnerChoirStaffGroup} besides the -grouping contexts mentioned in @ref{Grouping staves}. They behave -in the same way as their simple counterparts, except that they are -contained in another staff grouping context, thus producing one -more bracket on top of the existing one. Note that -@code{GrandStaff} and @code{PianoStaff} do not have any inner -grouping contexts. They can both be inside any other staff -context, including inner staff groups, though. - -Here is an example of an orchestral score using groupings and -nesting of these groupings. Note that the instrument names are -omitted from the source code, for instructions how to set them see -@ref{Instrument names}. - @cindex staff, nested @cindex staves, nested @cindex nesting of staves @@ -327,85 +273,38 @@ omitted from the source code, for instructions how to set them see @cindex inner staff group @cindex inner choir staff group -@example -\score @{ -\relative c' << - \new StaffGroup %woodwinds - << - \new Staff @{ c1 d @} %flute - \new InnerStaffGroup << - \new Staff @{ c1 d @} %sax - \new Staff @{ c1 d @} %oboe - \new Staff @{ c1 d @} %English horn - >> - \new Staff @{ \clef bass c,1 d @} %bassoon - >> - \new StaffGroup %the brass group - << - \new Staff @{ c'1 d @} %trumpet - \new Staff @{ \clef bass c,1 d @} %trombone - \new GrandStaff %the horns need a GrandStaff (same instrument) - << - \new Staff @{ c'1 d @} - \new Staff @{ \clef bass c,1 d @} - >> - >> - \new ChoirStaff %for setting vocal music - << - \new Staff @{ c'1 d @} - \new InnerChoirStaff << - \new Staff @{ c1 d @} - \new Staff @{ c1 d @} - >> - \new Staff @{ c1 d @} - >> - \new PianoStaff %for the piano - << - \new Staff @{ c1 d @} - \new Staff @{ \clef bass c,1 d @} - >> ->> @} -@end example +Two additional staff-group contexts are available that can be +nested within a @code{StaffGroup} or @code{ChoirStaff} context: +@code{InnerStaffGroup} and @code{InnerChoirStaff}. These contexts +create an additional bracket next to the original bracket of their +parent staff group. -@c no verbatim so instrument names are only in the music -@lilypond[quote] -\score { -\relative c' << - \new StaffGroup %woodwinds - << - \new Staff { \set Staff.instrumentName = "fl" c1 d } %flute +An @code{InnerStaffGroup} is treated similarly to a +@code{StaffGroup}; bar lines are connected between each stave +within the context: + +@lilypond[verbatim,quote,relative=2] +\new StaffGroup << + \new Staff { c2 c } \new InnerStaffGroup << - \new Staff { \set Staff.instrumentName = "sax" c1 d } %sax 1 - \new Staff { \set Staff.instrumentName = "ob" c1 d } %sax 2 - \new Staff { \set Staff.instrumentName = "ca" c1 d } - >> - \new Staff { \set Staff.instrumentName = "bs" \clef bass c,1 d } %bassoon - >> - \new StaffGroup %the brass group - << - \new Staff { \set Staff.instrumentName = "tr" c'1 d } %trumpet - \new Staff { \set Staff.instrumentName = "tb" \clef bass c,1 d } %trombone - \new GrandStaff %the horns need a GrandStaff (same instrument) - << - \new Staff { \set Staff.instrumentName = "cor1" c'1 d } - \new Staff { \set Staff.instrumentName = "cor2" \clef bass c,1 d } - >> + \new Staff { g2 g } + \new Staff { e2 e } >> - \new ChoirStaff %for setting vocal music - << - \new Staff { \set Staff.instrumentName = "S" c'1 d } - \new InnerChoirStaff << - \new Staff { \set Staff.instrumentName = "A1" c1 d } - \new Staff { \set Staff.instrumentName = "A2" c1 d } - >> - \new Staff { \set Staff.instrumentName = "T" c1 d } - >> - \new PianoStaff %for the piano - << - \new Staff { c1 d } - \new Staff { \clef bass c,1 d } +>> +@end lilypond + +Bar lines are @emph{not} connected between staves of an +@code{InnerChoirStaff}, just like a @code{ChoirStaff}: + +@lilypond[verbatim,quote,relative=2] +\new ChoirStaff << + \new Staff { c2 c } + \new InnerChoirStaff << + \new Staff { g2 g } + \new Staff { e2 e } >> ->> } + \new Staff { c1 } +>> @end lilypond @@ -425,27 +324,30 @@ Notation Reference: @ref{Instrument names}. Internals Reference: -@rinternals{InnerChoirStaffGroup}, @rinternals{InnerStaffGroup}, -@rinternals{SystemStartBar}, +@rinternals{StaffGroup}, +@rinternals{InnerChoirStaff}, +@rinternals{ChoirStaff}, +@rinternals{SystemStartBar}, @rinternals{SystemStartBrace}, -@rinternals{SystemStartBracket}, -@rinternals{systemStartDelimiterHierarchy}. +@rinternals{SystemStartBracket}. @node Modifying single staves @subsection Modifying single staves This section explains how to change specific attributes of one -staff like the staff lines, starting and stopping of staves, -sizing of staves, and setting ossia sections. +staff: for example, modifying the number of staff lines or the +staff size. Methods to start and stop staves and set ossia +sections are also described. @menu -* Staff symbol:: -* Ossia staves:: -* Hiding staves:: +* Staff symbol:: +* Ossia staves:: +* Hiding staves:: @end menu + @node Staff symbol @unnumberedsubsubsec Staff symbol @@ -464,17 +366,16 @@ sizing of staves, and setting ossia sections. @cindex spacing of ledger lines @cindex number of staff lines -The layout object which draws the lines of a staff is called -@code{staff symbol}. The staff symbol may be tuned in number, -thickness and distance of lines, using properties. It may also be -started and stopped at every point in the score. +The grob @code{StaffSymbol} is responsible for drawing the lines +of a staff. Its properties can be altered in order to change the +appearance of a staff, but they must be changed before the staff +is created. A staff may be started or stopped at any point in the +score. -@itemize -@item -Changing the number of staff lines is done by overriding -@code{line-count}. You may need to adjust the clef position and -the position of the middle C to fit to the new staff. For an -explanation, see the snippet section in @ref{Displaying pitches}. +The number of staff lines may be changed. The clef position and +the position of middle C may need to be modified to fit the new +staff. For an explanation, refer to the snippet section in +@ref{Clef}. @lilypond[verbatim,quote,relative=2] \new Staff { @@ -483,14 +384,16 @@ explanation, see the snippet section in @ref{Displaying pitches}. } @end lilypond -@item -The placement and amount of the staff lines can also set totally -manually by defining their positions explicitly. The middle of -the staff has the value of 0, each half staff space up and down -adds an integer. The default values are 4 2 0 -2 -4. Bar lines -are drawn according to the calculated width of the system, but -they are always centered. As the example shows, the positions of -the notes are not influenced by the position of the staff lines. +The vertical position of staff lines and the number of staff lines +can be defined at the same time. As the example shows, the +positions of the notes are not influenced by the position of the +staff lines. Details for modifying this property are found in +@rinternals{staff-symbol-interface}. + +@warning{The @code{'line-positions} property overrides the +@code{'line-count} property. The number of staff lines is +implicitly defined by the number of elements in the list of values +for @code{'line-positions}} @lilypond[verbatim,quote,relative=1] \new Staff \with { @@ -499,44 +402,30 @@ the notes are not influenced by the position of the staff lines. { a4 e' f b | d1 } @end lilypond -@item -The staff line thickness can be set by overriding the -@code{thickness} property. Note that it gets applied also to -ledger lines and stems, since they depend on the staff line -thickness. The argument of @code{thickness} is a factor of -@code{line-thickness} which defaults to the normal staff line +The staff line thickness can be modified. The thickness of ledger +lines and stems are also affected, since they depend on staff line thickness. @lilypond[verbatim,quote,relative=1] \new Staff \with { \override StaffSymbol #'thickness = #3 } -{ d4 d d d } +{ e4 d c b } @end lilypond -@item -The thickness of the ledger lines can also be set independent of -the settings for staff lines. The setting is calculated from a -pair of values which will be added for the final thickness. The -first value is the staff line thickness multiplied by a factor, -the second is the staff space multiplied by a factor. In the -example the ledger lines get their thickness from one staff line -thickness plus 1/5 staff space, so they are heavier than a normal -staff line. +The thickness of ledger lines can be set independently of staff +line thickness. A description of this property is also found in +@rinternals{staff-symbol-interface}. @lilypond[verbatim,quote,relative=1] \new Staff \with { \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2) } -{ d4 d d d } +{ e4 d c b } @end lilypond -@item -The distance of the stafflines can be changed with the -@code{staff-space} property. Its argument is the amount of staff -spaces that should be inserted between the lines. The default -value is 1. Setting the distance has influence on the staff lines -as well as on ledger lines. +The distance between staff lines can be changed. The setting has +influence on ledger lines as well. @lilypond[verbatim,quote,relative=1] \new Staff \with { @@ -545,10 +434,9 @@ as well as on ledger lines. { a4 b c d } @end lilypond -@item -The length of the staff line can also be adjusted manually. The -unit is one staff space. Spacing of the objects inside the staff -does not get influenced by this setting. +The width of a staff can be adjusted. The unit is one staff +space. The spacing of objects inside the staff is not influenced +by this setting. @lilypond[verbatim,quote,relative=1] \new Staff \with { @@ -557,25 +445,21 @@ does not get influenced by this setting. { a4 e' f b | d1 } @end lilypond -@end itemize - -These properties can only be set before instantiating the staff -symbol. But it is possible to start and stop staves in the middle -of a score, so each new setting will be applied to the newly -instantiated staff. +Modifications to staff properties in the middle of a score can be +placed between @code{\stopStaff} and @code{\startStaff}: @lilypond[verbatim,quote,relative=2] -b4 b -%Set here the overrides for the staff -\override Staff.StaffSymbol #'line-count = 2 -\stopStaff \startStaff -b b -%Revert to the default +c2 c +\stopStaff +\override Staff.StaffSymbol #'line-count = #2 +\startStaff +b2 b +\stopStaff \revert Staff.StaffSymbol #'line-count -\stopStaff \startStaff -b b +\startStaff +a2 a @end lilypond - + @predefined @@ -590,6 +474,7 @@ b b @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {making-some-staff-lines-thicker-than-the-others.ly} + @seealso Music Glossary: @@ -601,7 +486,9 @@ Notation Reference: @ref{Displaying pitches}. Internals Reference: -@rinternals{StaffSymbol}. +@rinternals{StaffSymbol}, +@rinternals{staff-symbol-interface}. + @knownissues @@ -633,7 +520,6 @@ Tweaking the staff object allows to resize the staff: } @end lilypond -@noindent This involves shrinking the staff spaces, the staff lines and the font size by the factor 3. You find a more precise explanation in @ref{Setting the staff size}. @@ -666,7 +552,7 @@ space is inserted with the @code{\skip} command. s2 \startStaff - f8 d g4 + f8 d g4 } \new Staff \relative c'' { \time 2/4 @@ -678,9 +564,8 @@ space is inserted with the @code{\skip} command. @snippets -@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle] -@c {making-some-staff-lines-thicker-than-the-others.ly} -@c snippet 277 +@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +{vertically-aligning-ossias-and-lyrics.ly} @seealso @@ -690,6 +575,11 @@ Music Glossary: @rglos{staff}, @rglos{Frenched staff}. +Learning Manual: +@rlearning{Nesting music expressions}, +@rlearning{Size of objects}, +@rlearning{Length and thickness of objects}. + Notation Reference: @ref{Setting the staff size}. @@ -705,7 +595,7 @@ Internals Reference: @cindex Frenched scores @cindex staff, hiding -@cindex staff, empty +@cindex staff, empty @cindex hiding of staves @cindex empty staves @cindex Frenched staves @@ -732,7 +622,7 @@ whole mesure rests are removed after a line break. << \new Staff { e4 f g a \break c1 } \new Staff { c4 d e f \break R1 } - >> + >> } @end lilypond @@ -742,10 +632,15 @@ To remove other types of contexts, use @cindex ossia +@c FIXME Really? I need to see about this. -pm + Another application of the @code{\RemoveEmptyStaffContext} is to make ossia sections, i.e., alternative melodies on a separate piece of staff, with help of a Frenched staff. See -@ref{Ossia staves}. +@ref{Ossia staves}. + +@c FIXME Is this in the right section? +@c maybe move to Staff symbol -pm You can make the staff lines invisible by removing the @code{Staff_symbol_engraver} from the @code{Staff} context. @@ -778,15 +673,15 @@ is written. @lilypond[verbatim,quote] \layout { - \context { - \RemoveEmptyStaffContext + \context { + \RemoveEmptyStaffContext %To use the setting globally, uncomment the following line: %\override VerticalAxisGroup #'remove-first = ##t } } \new StaffGroup \relative c'' << - \new Staff { + \new Staff { e4 f g a \break c1 } \new Staff { %To use the setting globally, comment this line, uncomment the line above @@ -835,17 +730,17 @@ Internals Reference: @subsection Writing parts @menu -* Metronome marks:: -* Instrument names:: -* Quoting other voices:: -* Formatting cue notes:: +* Metronome marks:: +* Instrument names:: +* Quoting other voices:: +* Formatting cue notes:: @end menu @node Metronome marks @unnumberedsubsubsec Metronome marks -@cindex Tempo +@cindex tempo @cindex beats per minute @cindex metronome marking @@ -882,7 +777,6 @@ c4^\markup { ) } @end lilypond -@noindent For more details, see @ref{Formatting text}. @@ -895,14 +789,14 @@ Music Glossary: @rglos{metronome mark}. Notation Reference: -@ref{Formatting text}. +@ref{Formatting text}, +@ref{MIDI output}. Snippets: @rlsr{Staff notation}. Internals Reference: -@rinternals{MetronomeMark}, -@ref{MIDI output}. +@rinternals{MetronomeMark}. @knownissues @@ -945,8 +839,8 @@ c1 c''1 @end lilypond -You can also use markup texts to construct more complicated -instrument names, for example +Markup mode can be used to create more complicated instrument +names: @lilypond[verbatim,quote,relative=2] \set Staff.instrumentName = \markup { @@ -1000,7 +894,7 @@ in @ref{Modifying context plug-ins}. @cindex instrument names, changing -Instrument names may be changed in the middle of a piece, +Instrument names may be changed in the middle of a piece: @lilypond[verbatim,quote,relative=1] \set Staff.instrumentName = "First" @@ -1161,7 +1055,7 @@ written entirely in lower-case letters: @code{\addquote}. @cindex cue notes @cindex cue notes, formatting @cindex fragments -@cindex quoting other voices +@cindex quoting other voices @cindex cues, formatting The previous section deals with inserting notes from another -- 2.39.2