version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.51"
+@c \version "2.12.0"
@node Fundamental concepts
@chapter Fundamental concepts
examples this works well, but for more complex examples, especially
when additional commands are used, the implicit creation of contexts
can give surprising results, maybe creating extra unwanted staves.
-The way to create contexts explicitly is explained in
+The way to create contexts explicitly is explained in
@ref{Contexts and engravers}.
@warning{When entering more than a few lines of music it is
@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insert the whole score of a Wagner opera in here...}
>>
@}
@ruser{File structure}.
-
@seealso
-
For a complete definition of the input format, see
@ruser{File structure}.
+
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
@example
\score @{
@{ % this brace begins the overall compound music expression
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insert the whole score of a Wagner opera in here...}
>>
@} % this brace ends the overall compound music expression
A whole Wagner opera would easily double the length of this
manual, so let's just add a singer and piano. We don't need a
-@code{GrandStaff} for this ensemble, which simply groups a number
-of staves together with a brace at the left, so we shall remove
+@code{StaffGroup} for this ensemble, which simply groups a number
+of staves together with a bracket at the left, so we shall remove
it. We @emph{do} need a singer and a piano, though.
@example
indentation -- make sure that each item on the same level starts
on the same horizontal position in your text editor.
-@seealso
+@seealso
Notation Reference: @ruser{Structure of a score}.
+
@node Nesting music expressions
@subsection Nesting music expressions
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
placed above the staff called @qq{main} instead of the default
position which is below.
-@seealso
+@seealso
Ossia are often written without clef and without
time signature and are usually in a smaller font.
These require further commands which
Voice one is set to red diamonds, voice two to blue triangles,
voice three to green crossed circles, and voice four (not used
here) to magenta crosses; @code{\voiceNeutralStyle} (also not
-used here) reverts the style back to the default.
+used here) reverts the style back to the default.
We shall see later how commands like these may be created by the
user.
See @ref{Visibility and color of objects} and
later section --- see the @code{force-hshift} property in @ref{Fixing
overlapping notation}.
-@seealso
+@seealso
Notation Reference: @ruser{Multiple voices}.
have no shift or the same shift specified, the error message
@qq{Too many clashing note columns} will be produced.
-@seealso
+@seealso
Notation Reference: @ruser{Multiple voices}.
One two three four five six
}
\score {
- \new Choirstaff {
+ \new ChoirStaff {
\new Staff <<
\new Voice = "verse" {
\versenotes \break
}
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Vocal music}.
preceding word with no hyphen or underscore, e.g.,
@code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Notation Reference: @ruser{Contexts explained}.
Note the distinction between the name of the context type,
@code{Staff}, @code{Voice}, etc, and the identifying name of a
-particular instance of that type, which can be any sequence of letters
-invented by the user. Digits and spaces can also be used in the
+particular instance of that type, which can be any sequence of letters
+invented by the user. Digits and spaces can also be used in the
identifying name, but then it has to be placed in quotes,
i.e. @code{\new Staff = "MyStaff 1" @var{music-expression}}.
The identifying name is used to
refer back to that particular instance of a context. We saw this in
use in the section on lyrics, see @ref{Voices and vocals}.
-@seealso
+@seealso
Notation Reference: @ruser{Creating contexts}.
We shall see later how the output of LilyPond can be changed
by modifying the action of Engravers.
-@seealso
+@seealso
Internals reference: @rinternals{Engravers and Performers}.
of a particular type, such as all @code{Staff} contexts, with a single
command. The context type is identified by using its
type name, like @code{Staff}, prefixed by a back-slash: @code{\Staff}.
-The statement which sets the property value is the same as that in a
+The statement which sets the property value is the same as that in a
@code{\with} block, introduced above. It is placed in a
@code{\context} block within a @code{\layout} block. Each
@code{\context} block will affect all contexts of the type specified
instances of contexts by statements in a @code{\with} block, and by
@code{\set} commands embedded in music statements.
-@seealso
+@seealso
Notation Reference:
@ruser{Changing context default settings}.
@c FIXME
@code{\set} command in a @code{\context} block in the
same way.
-@seealso
+@seealso
Notation Reference: @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
}
@end lilypond
-@seealso
+@seealso
The starting templates can be found in the @q{Templates} appendix,
see @ref{Single staff}.
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \sopranoMusic @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \altoMusic @}
>>
\new Lyrics \lyricsto "altos" @{ \altoWords @}
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" @{ \global \tenorMusic @}
>>
\new Lyrics \lyricsto "tenors" @{ \tenorWords @}
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" @{ \global \bassMusic @}
>>
\new Lyrics \lyricsto "basses" @{ \bassWords @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>