Next: , Previous: TabVoice, Up: Contexts



VaticanaStaff

Same as Staff context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana.

This context is also known as:

Staff

This context creates the following layout objects:

Accidental, BarLine, Clef, Custos, DotColumn, InstrumentName, KeySignature, NoteCollision, OctavateEight, OttavaBracket, RestCollision, SeparatingGroupSpanner, SeparationItem, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, UnaCordaPedalLineSpanner, UnaCordaPedal, VerticalAxisGroup and VoltaBracket.

This context sets the following properties:

Context VaticanaStaff can contain VaticanaVoice

This context is built from the following engravers:

Engraver_group_engraver
A group of engravers taken together
Custos_engraver

This engraver creates the following layout objects: Custos.

String_number_engraver
Swallow string-number-events - the purpose of this engraver is to process tab for normal notation. To provent warnings for unprocessed string-number-event to obscure real error messages, this engraver swallows them all.

Music types accepted:

string-number-event

Instrument_name_engraver
Prints the name of the instrument (specified by Staff.instrument and Staff.instr) at the left of the staff.

Properties (read)

instr (markup)
See instrument
instrument (markup)
The name to print left of a staff. The instrument property labels the staff in the first system, and the instr property labels following lines.
This engraver creates the following layout objects: InstrumentName.
Piano_pedal_engraver
Engrave piano pedal symbols and brackets.

Music types accepted:

pedal-event

Properties (read)

pedalUnaCordaStyle (symbol)
see pedalSustainStyle.
pedalSustainStyle (symbol)
A symbol that indicates how to print sustain pedals: text, bracket or mixed (both).
pedalSostenutoStyle (symbol)
see pedalSustainStyle.
pedalUnaCordaStrings (list)
See pedalSustainStrings.
pedalSustainStrings (list)
List of string to print for sustain-pedal. Format is (up updown down), where each of the three is the string to print when this is done with the pedal.
pedalSostenutoStrings (list)
See pedalSustainStrings.
currentCommandColumn (layout object)
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects: SostenutoPedal, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal and UnaCordaPedalLineSpanner.
Accidental_engraver
Make accidentals. Catches note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at Voice level, so you can \override them at Voice.

Properties (read)

autoCautionaries (list)
List similar to autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.
autoAccidentals (list)
List of different ways to typeset an accidental.

For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used. Each rule consists of

context:
In which context is the rule applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
octavation:
Whether the accidental changes all octaves or only the current octave. Valid choices are
same-octave:
This is the default algorithm. Accidentals are typeset if the note changes the accidental of that note in that octave. Accidentals lasts to the end of the measure and then as many measures as specified in the value. I.e. 1 means to the end of next measure, -1 means to the end of previous measure (that is: no duration at all), etc. #t means forever.
any-octave:
Accidentals are typeset if the note is different from the previous note on the same pitch in any octave. The value has same meaning as in same-octave.

laziness
Over how many bar lines the accidental lasts. If laziness is -1 then the accidental is forget immediately, and if laziness is #t then the accidental lasts forever.

extraNatural (boolean)
Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
harmonicAccidentals (boolean)
If set, harmonic notes in chords get accidentals.
localKeySignature (list)
the key signature at this point in the measure. The format is the same as for keySignature, but can also contain ((octave . name) . (alter . barnumber)) pairs. It is reset at every bar line.
Properties (write)
localKeySignature (list)
the key signature at this point in the measure. The format is the same as for keySignature, but can also contain ((octave . name) . (alter . barnumber)) pairs. It is reset at every bar line.
This engraver creates the following layout objects: Accidental.
Rest_collision_engraver
Handles collisions of rests.

This engraver creates the following layout objects: RestCollision.

Collision_engraver

This engraver creates the following layout objects: NoteCollision.

Staff_symbol_engraver
Create the constellation of five (default) staff lines.

This engraver creates the following layout objects: StaffSymbol.

Key_engraver

Music types accepted:

key-change-event

Properties (read)

keySignature (list)
The current key signature. This is an alist containing (name . alter) or ((octave . name) . alter). where name is from 0.. 6 and alter from -4 (double flat) to 4 (double sharp).
keyAccidentalOrder (list)
Alist that defines in what order alterations should be printed. The format is (name . alter), where name is from 0 .. 6 and alter from -1, 1.
createKeyOnClefChange (boolean)
Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility (procedure)
break-visibility function for explicit key changes. \override of #'break-visibility will set the visibility for normal (i.e. at the start of the line) key signatures.
lastKeySignature (list)
Last key signature before a key signature change.
printKeyCancellation (boolean)
Print restoration alterations before a key signature change.
keySignature (list)
The current key signature. This is an alist containing (name . alter) or ((octave . name) . alter). where name is from 0.. 6 and alter from -4 (double flat) to 4 (double sharp).
Properties (write)
keySignature (list)
The current key signature. This is an alist containing (name . alter) or ((octave . name) . alter). where name is from 0.. 6 and alter from -4 (double flat) to 4 (double sharp).
tonic (pitch)
The tonic of the current scale
lastKeySignature (list)
Last key signature before a key signature change.
This engraver creates the following layout objects: KeySignature.
Clef_engraver
Determine and set reference point for pitches

Properties (read)

forceClef (boolean)
Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
explicitClefVisibility (procedure)
break-visibility function for clef changes.
clefOctavation (integer)
Add this much extra octavation. Values of 7 and -7 are common.
middleCPosition (number)
Place of the middle C, measured in half staffspaces. Usually determined by looking at clefPosition and clefGlyph.
clefGlyph (string)
Name of the symbol within the music font.
clefPosition (number)
Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
This engraver creates the following layout objects: Clef and OctavateEight.
Ottava_spanner_engraver
Create a text spanner when the ottavation property changes..

Properties (read)

ottavation (string)
If set, the text for an ottava spanner. Changing this creates a new text spanner.
This engraver creates the following layout objects: OttavaBracket.
Dot_column_engraver
Engraves dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.

This engraver creates the following layout objects: DotColumn.

Separating_line_group_engraver
Generates objects for computing spacing parameters.

Properties (read)

createSpacing (boolean)
Create StaffSpacing objects? Should be set for staves.
Properties (write)
breakableSeparationItem (layout object)
The breakable items in this time step, for this staff.
This engraver creates the following layout objects: SeparatingGroupSpanner, SeparationItem and StaffSpacing.
Volta_engraver
Make volta brackets

Properties (read)

stavesFound (list of grobs)
list of all staff-symbols found.
voltaSpannerDuration (moment)
This specifies the maximum duration to use for the brackets printed for \alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.
repeatCommands (list)
This property is read to find any command of the form (volta . x), where x is a string or #f
This engraver creates the following layout objects: VoltaBracket.
Font_size_engraver
Puts fontSize into font-relative-size grob property.

Properties (read)

fontSize (number)
The relative size of all grobs in a context.

Bar_engraver
Create barlines. This engraver is controlled through the whichBar property. If it has no bar line to create, it will forbid a linebreak at this point

Properties (read)

whichBar (string)
This property is read to determine what type of bar line to create.

Example:

               \set Staff.whichBar = "|:"
          

This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.

This engraver creates the following layout objects: BarLine.
Output_property_engraver
Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Music types accepted:

layout-instruction

Axis_group_engraver
Group all objects created in this context in a VerticalAxisGroup spanner.

Properties (read)

extraVerticalExtent (pair of numbers)
extra vertical extent, same format as minimumVerticalExtent
minimumVerticalExtent (pair of numbers)
minimum vertical extent, same format as verticalExtent
verticalExtent (pair of numbers)
Hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
               \set Staff.verticalExtent = #'(-5.0 . 5.0)
          

This does not work for Voice or any other context that doesn't form a vertical group.

This engraver creates the following layout objects: VerticalAxisGroup.

Read comments on this page, or add one.

This page is for LilyPond-2.2.6 (stable-branch).

Report errors to <bug-lilypond@gnu.org>.