@refcommands
-@findex \fatText
+@funindex \fatText
@code{\fatText},
-@findex \emptyText
+@funindex \emptyText
@code{\emptyText}.
@cindex segno on bar line
@cindex fermata on bar line
@cindex bar lines, symbols on
-@findex \mark
+@funindex \mark
The @code{\mark} command is primarily used for
@ref{Rehearsal marks},
but it can also be used to put signs like coda,
segno, and fermata on a bar line. Use @code{\markup} to
-access the appropriate symbol
+access the appropriate symbol (symbols are listed in
+@ref{The Feta font})
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
#'break-visibility = #begin-of-line-invisible
\override Score.RehearsalMark #'self-alignment-X = #right
- \set Staff.instrument = \markup{ \column{ Alto solo } }
+ \set Staff.instrumentName = \markup{ \column{ Alto solo } }
c2^\markup{ don't be \flat }
\override TextSpanner #'edge-text = #(cons (markup #:italic "rit" ) "")
b2\startTextSpan
}
@end lilypond
-Text can also be placed on its own, away from any @code{\score}
-block. This is primarily used in a @code{\book} (see
-@ref{Multiple scores in a book}).
+A @code{\markup} command can also be placed on its own, away from any
+@code{\score} block, see @ref{Multiple scores in a book}.
@lilypond[quote,ragged-right,verbatim]
\markup{ Here is some text. }
@cindex font selection
@cindex font magnification
-@findex font-interface
+@funindex font-interface
By setting the object properties described below, you can select a
font from the preconfigured font families. LilyPond has default
@noindent
Any font can be used, as long as it is available to Pango/FontConfig.
+To get a full list of all available fonts, run the command
+@example
+lilypond -dshow-available-fonts blabla
+@end example
+(the last argument of the command can be anything, but has to be present).
+
The size of the font may be set with the @code{font-size}
property. The resulting size is taken relative to the
@cindex Rests, multi measure
@cindex Rests, full measure
@cindex whole rests for a full measure
-@findex R
+@funindex R
Rests for one full measure (or many bars) are entered using `@code{R}'. It
is specifically meant for full bar rests and for entering parts: the rest
In the MIDI output, they are interpreted as a tempo change. In the
layout output, a metronome marking is printed
-@findex \tempo
+@funindex \tempo
@lilypond[quote,ragged-right,verbatim,fragment]
\tempo 8.=120 c''1
@end lilypond
@subsection Rehearsal marks
@cindex Rehearsal marks
-@findex \mark
+@funindex \mark
To print a rehearsal mark, use the @code{\mark} command
@cindex Bar numbers
@cindex measure numbers
-@findex currentBarNumber
+@funindex currentBarNumber
Bar numbers are printed by default at the start of the line. The
number itself is stored in the @code{currentBarNumber} property, which
In an orchestral score, instrument names are printed at the left side
of the staves.
-This can be achieved by setting @internalsref{Staff}.@code{instrument}
-and @internalsref{Staff}.@code{instr}. This will print a string before
-the start of the staff. For the first staff, @code{instrument} is
-used, for the following ones, @code{instr} is used.
+This can be achieved by setting @internalsref{Staff}.@code{instrumentName}
+and @internalsref{Staff}.@code{shortInstrumentName}, or
+@internalsref{PianoStaff}.@code{instrumentName} and
+@internalsref{PianoStaff}.@code{shortInstrumentName}. This will
+print text before
+the start of the staff. For the first staff, @code{instrumentName} is
+used, for the following ones, @code{shortInstrumentName} is used.
@lilypond[quote,verbatim,ragged-right,relative=1,fragment]
-\set Staff.instrument = "Ploink "
-\set Staff.instr = "Plk "
+\set Staff.instrumentName = "Ploink "
+\set Staff.shortInstrumentName = "Plk "
c1
\break
c''
names, for example
@lilypond[quote,fragment,verbatim,ragged-right]
-\set Staff.instrument = \markup {
+\set Staff.instrumentName = \markup {
\column { "Clarinetti"
\line { "in B" \smaller \flat } } }
c''1
@lilypond[quote,verbatim,ragged-right]
{ <<
\new Staff {
- \set Staff.instrument = \markup {
+ \set Staff.instrumentName = \markup {
\center-align { "Clarinetti"
\line { "in B" \smaller \flat } } }
c''1
}
\new Staff {
- \set Staff.instrument = \markup{ \center-align { Vibraphone }}
+ \set Staff.instrumentName = \markup{ \center-align { Vibraphone }}
c''1
}
>>
\new StaffGroup \relative
<<
\new Staff {
- \set Staff.instrument
- = \markup { \hcenter-in #10 "blabla" }
+ \set Staff.instrumentName = \markup { \hcenter-in #10 "blabla" }
c1 c1
}
\new Staff {
- \set Staff.instrument
- = \markup { \hcenter-in #10 "blo" }
+ \set Staff.instrumentName = \markup { \hcenter-in #10 "blo" }
c1 c1
}
>>
@end lilypond
+To add instrument names to other contexts (such as @code{GrandStaff},
+@code{ChoirStaff}, or @code{StaffGroup}), the engraver must
+be added to that context.
-@seealso
+@example
+\layout@{
+ \context @{\GrandStaff \consists "Instrument_name_engraver"@}
+@}
+@end example
-Program reference: @internalsref{InstrumentName}.
+@noindent
+More information about adding and removing engravers can
+be found in @ref{Modifying context plug-ins}.
-@refbugs
-When you put a name on a grand staff or piano staff, the width of the
-brace is not taken into account. The following property setting can be
-used to move the instrument names to the left, in such situations.
+@seealso
+
+Program reference: @internalsref{InstrumentName}.
-@example
-\override Score.InstrumentName #'padding = #2.0
-@end example
@node Instrument transpositions
}
@end lilypond
-The @code{set-octavation} function also takes -1 (for 8va bassa) and 2
-(for 15ma) as arguments. Internally the function sets the properties
-@code{ottavation} (e.g., to @code{"8va"}) and
+The @code{set-octavation} function also takes -1 (for 8va bassa), 2@tie{}(for 15ma),
+and -2 (for 15ma bassa) as arguments. Internally the function sets the properties
+@code{ottavation} (e.g., to @code{"8va"} or @code{"8vb"}) and
@code{centralCPosition}. For overriding the text of the bracket, set
@code{ottavation} after invoking @code{set-octavation}, i.e.,
@node Different editions from one source
@subsection Different editions from one source
-@findex \tag
+@funindex \tag
@cindex tag
The @code{\tag} command marks music expressions with a name. These
Another application is making ossia sections, i.e., alternative
melodies on a separate piece of staff, with help of a Frenched
-staff. See @inputfileref{input/@/test,ossia@/.ly} for an example.
+staff.
@node Quoting other voices
@subsection Proportional notation
@cindex Proportional notation
-Notes can be spaced proportional to their time-difference by
+Notes can be spaced proportionally to their time-difference by
assigning a duration to @code{proportionalNotationDuration}
@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
>>
@end lilypond
+Setting this property only affects the ideal spacing between
+consecutive notes. For true proportional notation, the following
+settings are also required.
+
+@itemize @bullet
+
+@item True proportional notation requires that symbols are allowed to
+overstrike each other. That is achieved by removing the
+@internalsref{Separating_line_group_engraver} from
+@internalsref{Staff} context.
+
+@item Spacing influence of prefatory matter (clefs, bar lines, etc.)
+is removed by setting the @code{strict-note-spacing} property to
+@code{#t} in @internalsref{SpacingSpanner} grob.
+
+@item Optical spacing tweaks are switched by setting
+@code{uniform-stretching} in @internalsref{SpacingSpanner} to true.
+
+
+@end itemize
+
+@seealso
+
+@inputfileref{input/@/regression,spacing-proportional/.ly}
+@inputfileref{input/@/regression,spacing-strict-notespacing/.ly}
+@inputfileref{input/@/regression,spacing-strict-spacing-grace/.ly}
+
+An example of strict proportional notation is in the
+example file @file{input/proportional.ly}.
+
@node Clusters
@subsection Clusters
@node Feathered beams
@subsection Feathered beams
-Feathered beams are not supported natively, but they can be faked by
-forcing two beams to overlap. Here is an example,
+Feathered beams are printed by setting the @code{grow-direction}
+property of a @code{Beam}. The @code{\featherDurations} function
+can be used to adjust note durations.
-@c don't change relative setting witout changing positions!
@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
-\new Staff <<
- \new Voice
- {
- \stemUp
- \once \override Voice.Beam #'positions = #'(0 . 0.5)
- c8[ c c c c ]
- }
- \new Voice {
- \stemUp
- \once \override Voice.Beam #'positions = #'(0 . -0.5)
- c[ c c c c]
- }
->>
+\featherDurations #(ly:make-moment 5 4)
+{
+ \override Beam #'grow-direction = #LEFT
+ c16[ c c c c c c]
+}
@end lilypond
+@refbugs
+
+The @code{\featherDuration} command only works with very short
+music snippets.
@node Improvisation
@subsection Improvisation
The following commands set @code{fontSize} for the current voice:
-@findex \tiny
+@funindex \tiny
@code{\tiny},
-@findex \small
+@funindex \small
@code{\small},
-@findex \normalsize
+@funindex \normalsize
@code{\normalsize}.
The following example demonstrates its use.
@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\applyOutput #'Voice
- #(add-balloon-text 'NoteHead "heads, or tails?"
- '(1 . -3))
- c8
+\new Voice \with { \consists "Balloon_engraver" }
+{
+ \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
+ <c-\balloonText #'(-2 . -2) \markup { Hello } >8
+}
@end lilypond
@noindent
-The function @code{add-balloon-text} takes the name of a grob, the
-label to print, and the position where to put the label relative to
-the object. In the above example, the text ``heads or tails?'' ends
-3 spaces below and 1 space to the right of the marked head.
+There are two music functions, @code{balloonText} and
+@code{balloonGrobText}. The latter takes the name of the grob to
+adorn, while the former may be used as an articulation on a note.
+The other arguments are the offset and the text of the label.
@cindex balloon
@cindex notation, explaining
@lilypond[quote,verbatim]
+\layout{ indent = #0 }
emptymusic = {
\repeat unfold 2 % Change this for more lines.
{ s1\break }
}
\new Score \with {
\override TimeSignature #'transparent = ##t
+% un-comment this line if desired
+% \override Clef #'transparent = ##t
defaultBarType = #""
\remove Bar_number_engraver
} <<
+
+% modify these to get the staves you want
\new Staff \emptymusic
\new TabStaff \emptymusic
>>
@cindex Invisible notes
@cindex Transparent notes
-@findex \hideNotes
-@findex \unHideNotes
+@funindex \hideNotes
+@funindex \unHideNotes
Hidden (or invisible or transparent) notes can be useful in preparing theory
or composition exercises.
Shapes are determined on the step in the scale, where the base of the
scale is determined by the @code{\key} command
-@findex \key
-@findex shapeNoteStyles
-@findex \aikenHeads
-@findex \sacredHarpHeads
+@funindex \key
+@funindex shapeNoteStyles
+@funindex \aikenHeads
+@funindex \sacredHarpHeads
Shape note heads are implemented through the @code{shapeNoteStyles}
property. Its value is a vector of symbols. The k-th element indicates
The command @code{\setEasyHeads} overrides settings for the
@internalsref{NoteHead} object. To make the letters readable, it has
to be printed in a large font size. To print with a larger font, see
-@ref{Setting global staff size}.
+@ref{Setting the staff size}.
@refcommands
-@findex \setEasyHeads
+@funindex \setEasyHeads
@code{\setEasyHeads}
@end lilypond
The full range of colors defined for X11 can be accessed by using the
-scheme function x11-color. The function takes one argument that can be a
+Scheme function x11-color. The function takes one argument that can be a
symbol
@example
@lilypond[quote,ragged-right,verbatim]
{
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
- \set Staff.instrument = \markup {
+ \set Staff.instrumentName = \markup {
\with-color #(x11-color 'navy) "Clarinet"
}
\time 2/4