|
|
Node:Score,
Next:Staff,
Previous:RhythmicStaff,
Up:LilyPond interpretation contexts
Score
This is the top level notation context. No other context can
contain a Score context. This context handles the
administration of time signatures. It also makes sure that items
such as clefs, time signatures, and key-signatures are aligned
across staffs. It can contain Lyrics, Staff,
RhythmicStaff, GrandStaff, StaffGroup, and
ChoirStaff contexts.
You cannot explicitly instantiate a Score context (since it is
not contained in any other context). It is instantiated
automatically when an output definition (a score or
paper block) is processed.
This context creates the following grobs:
Arpeggio, BarNumber, BreakAlignGroup, BreakAlignment, LeftEdge, LineOfScore, NonMusicalPaperColumn, PaperColumn, RehearsalMark, SpacingSpanner, SystemStartDelimiter and VerticalAlignment.
Context Score can contain
NoteNames, PianoStaff, ChoirStaff, GrandStaff, ChordNames, Lyrics, RhythmicStaff, StaffGroup, StaffContainer and Staff
This context is built from the following engravers:
Top level engraver. Takes care of generating columns and the complete system (ie. LineOfScore)
This engraver decides whether a column is breakable. The default is
that a column is always breakable. However, when every Bar_engraver
that does not have a barline at a certain point will call
Score_engraver::forbid_breaks to stop linebreaks. In practice, this
means that you can make a breakpoint by creating a barline (assuming
that there are no beams or notes that prevent a breakpoint.)
Properties
currentMusicalColumn (grob (GRaphical OBject)):
- Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn (grob (GRaphical OBject)):
- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following grobs:
LineOfScore, NonMusicalPaperColumn and PaperColumn.
Score_engraver is part of contexts: Score
connectArpeggios (boolean):
- If
set, connect all arpeggios that are found. In this way, you can make
arpeggios that cross staffs.
This engraver creates the following grobs:
Arpeggio.
Span_arpeggio_engraver is part of contexts: PianoStaff, GrandStaff, Score, InnerStaffGroup and StaffGroup
Bar_number_engraver
A bar number is created whenever measurePosition is zero. It is
put on top of all staffs, and appears only at left side of the staff.
Properties
currentBarNumber (integer):
- Contains the current barnumber. This property is incremented at
every barline.
This engraver creates the following grobs:
BarNumber.
Bar_number_engraver is part of contexts: Score
Lyric_phrasing_engraver
Properties
automaticPhrasing (boolean):
- If set,
the Lyric_phrasing_engraver will match note heads of context
called Voice X to syllables from LyricsVoice called
X-<something>. This feature is turned on by default. See the example
file
lyrics-multi-stanza.ly.
weAreGraceContext (boolean):
- .
melismaEngraverBusy (boolean):
- See (lilypond)melismaBusy. This is set automatically.
associatedVoice (string):
- Name of the Voice that has the melody for this LyricsVoice.
phrasingPunctuation (string):
-
Lyric_phrasing_engraver is part of contexts: Score
Vertical_align_engraver
Catch Vertical axis groups and stack them.
This engraver creates the following grobs:
VerticalAlignment.
Vertical_align_engraver is part of contexts: Lyrics, PianoStaff and Score
Spacing_engraver
make a SpacingSpanner and do bookkeeping of shortest starting and playing notes
This engraver creates the following grobs:
SpacingSpanner.
Spacing_engraver is part of contexts: Score
Break_align_engraver
Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder
Properties
breakAlignOrder (list):
- Defines the order in which
prefatory matter (clefs, key signatures) appears, eg. this puts the
key signatures after the bar lines:
\property Score.breakAlignOrder = #'(
Span_bar
Breathing_sign
Clef_item
Staff_bar
Key_item
Time_signature
)
This engraver creates the following grobs:
BreakAlignGroup, BreakAlignment and LeftEdge.
Break_align_engraver is part of contexts: Score
Mark_engraver
Properties
rehearsalMark (number or string):
-
staffsFound (list):
- list of all staff-symbols found.
This engraver creates the following grobs:
RehearsalMark.
Mark_engraver is part of contexts: Score
System_start_delimiter_engraver
creates a SystemStartDelimiter spanner
This engraver creates the following grobs:
SystemStartDelimiter.
System_start_delimiter_engraver is part of contexts: ChoirStaff, PianoStaff, GrandStaff, Score, InnerStaffGroup, InnerChoirStaff and StaffGroup
Output_property_engraver
Interpret Music of Output_property type, and apply a function
to any Graphic objects that satisfies the predicate.
Output_property_engraver is part of contexts: Grace, Thread, RhythmicStaff, Voice, Staff, Score, ChordNames, InnerStaffGroup and StaffGroup
Timing_engraver
Responsible for synchronizing timing information from staffs.
Normally in Score. In order to create polyrhythmic music,
this engraver should be removed from Score and placed in
Staff.
Properties
timeSignatureFraction (pair of numbers):
-
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.
barCheckNoSynchronize (boolean):
- If set, don't reset measurePosition when finding a bbarcheck. This
makes bar-checks for polyphonic music easier.
barNonAuto (boolean):
- If set to true then bar lines will not be printed
automatically; they must be explicitly created with
bar
keywords. Unlike with the cadenza keyword, measures are
still counted. Bar generation will resume according to that
count if this property is set to zero.
whichBar (string):
- This property is read to determine what type of barline to create.
Example:
\property Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only.
If not set explicitly (by property or bar), this is set
according to values of defaultBarType, barAlways,
barNonAuto and measurePosition.
Valid values are described in (lilypond-internals)bar-line-interface.
.
barAlways (boolean):
- If set to true a bar line is drawn after each note.
defaultBarType (string):
- Sets the default type of bar line. Available bar types: [FIXME];
This variable is typically read at Score level, so overriding
Staff.defaultBarType will have no effect.
skipBars (boolean):
- Set to true to
skip the empty bars that are produced by multimeasure notes and rests.
These bars will not appear on the printed output. If not set (the
default) multimeasure notes and rests expand into their full length,
printing the appropriate number of empty bars so that synchronization
with other voices is preserved.
@lilypond[fragment,verbatim,center]
r1 r1*3 R1*3 \\property Score.skipBars= ##t r1*3 R1*3
@end lilypond
timing (boolean):
- Keep administration of measure length, position, bar number, etc?
Switch off for cadenzas.
oneBeat (moment):
- How long does one beat in the current time signature last?
measureLength (moment):
- Length of one
measure in the current time signature last?
measurePosition (moment):
- How much
of the current measure (measured in whole notes) have we had. This
can be set manually to create incomplete measures (anacrusis, upbeat),
the start of the music.
currentBarNumber (integer):
- Contains the current barnumber. This property is incremented at
every barline.
Timing_engraver is part of contexts: Score
Repeat_acknowledge_engraver
Acknowledge repeated music, and convert the contents of
repeatCommands ainto an appropriate setting for whichBar
Properties
repeatCommands (list):
- This property is read to find any command of the form (volta . X), where X is a string or #f
whichBar (string):
- This property is read to determine what type of barline to create.
Example:
\property Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only.
If not set explicitly (by property or bar), this is set
according to values of defaultBarType, barAlways,
barNonAuto and measurePosition.
Valid values are described in (lilypond-internals)bar-line-interface.
.
Repeat_acknowledge_engraver is part of contexts: Score
|