GregorianTranscriptionStaff
Handles clefs, bar lines, keys, accidentals. It can contain
Voice
contexts.
This context also accepts commands for the following context(s):
Staff
This context creates the following layout objects:
AccidentalSuggestion, Accidental, BarLine, Clef, DotColumn, InstrumentName, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, RestCollision, SeparatingGroupSpanner, SeparationItem, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal, VerticalAxisGroup and VoltaBracket.
This context sets the following properties:
- Set grob-property
transparent
in BarLine to #t
.
- Set translator property
instr
to '()
- Set translator property
instrument
to '()
- Set translator property
createSpacing
to #t
- Set translator property
localKeySignature
to '()
- Set translator property
verticalExtent
to #f
- Set translator property
extraVerticalExtent
to #f
- Set grob-property
minimum-Y-extent
in VerticalAxisGroup to '(-4 . 4)
.
Context GregorianTranscriptionStaff can contain
GregorianTranscriptionVoice and CueVoice
This context is built from the following engravers:
Axis_group_engraver
- Group all objects created in this context in a VerticalAxisGroup spanner.
Properties (read)
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) staff-spaces 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.
minimumVerticalExtent
(pair of numbers)- minimum vertical extent, same
format as verticalExtent
extraVerticalExtent
(pair of numbers)- extra vertical extent, same format as minimumVerticalExtent
This engraver creates the following layout objects:
VerticalAxisGroup.
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
- Creates a system start text for instrument or vocal names.
Properties (read)
vocNam
(markup)- Name of a vocal line, short version.
vocalName
(markup)- Name of a vocal line.
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.
instr
(markup)- See
instrument
currentCommandColumn
(layout object)- Grob that is X-parent to all
current breakable (clef, key signature, etc.) items.
This engraver creates the following layout objects:
InstrumentName.
Piano_pedal_engraver
- Engrave piano pedal symbols and brackets.
Music types accepted:
pedal-event
Properties (read)
currentCommandColumn
(layout object)- Grob that is X-parent to all
current breakable (clef, key signature, etc.) items.
pedalSostenutoStrings
(list)- See
pedalSustainStrings
.
pedalSostenutoStyle
(symbol)- see
pedalSustainStyle
.
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.
pedalSustainStyle
(symbol)- A symbol that indicates how to print
sustain pedals:
text
, bracket
or mixed
(both).
pedalUnaCordaStrings
(list)- See
pedalSustainStrings
.
pedalUnaCordaStyle
(symbol)- see
pedalSustainStyle
.
This engraver creates the following layout objects:
SostenutoPedal, SostenutoPedalLineSpanner, SustainPedal, SustainPedalLineSpanner, UnaCordaPedal and UnaCordaPedalLineSpanner.
Accidental_engraver
- Make accidentals. Catch 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)
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 forgotten
immediately, and if laziness is #t
then the accidental
lasts forever.
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.
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 and AccidentalSuggestion.
Rest_collision_engraver
- Handles collisions of rests.
This engraver creates the following layout objects:
RestCollision.
Collision_engraver
- Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.
This engraver creates the following layout objects:
NoteCollision.
Staff_symbol_engraver
- Create the constellation of five (default) staff lines.
Music types accepted:
staff-span-event
This engraver creates the following layout objects:
StaffSymbol.
Ledger_line_engraver
- Creates the spanner to draw ledger lines, and notices objects that need ledger lines
This engraver creates the following layout objects:
LedgerLineSpanner.
Time_signature_engraver
- Create a TimeSignature whenever
timeSignatureFraction
changes
This engraver creates the following layout objects:
TimeSignature.
Key_engraver
-
Music types accepted:
key-change-event
Properties (read)
createKeyOnClefChange
(boolean)- Print a key signature whenever the clef is changed.
explicitKeySignatureVisibility
(vector)- `break-visibility' function for explicit key
changes. `\override' of the
break-visibility
property will set the
visibility for normal (i.e. at the start of the line) key signatures.
keyAlterationOrder
(list)- Alist that defines in what order
alterations should be printed. The format is (step
. alter), where step is from 0 .. 6 and alter from
-2 (sharp) and 2 (flat).
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).
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).
lastKeySignature
(list)- Last key signature before a key
signature change.
printKeyCancellation
(boolean)- Print restoration alterations before a key signature change.
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).
lastKeySignature
(list)- Last key signature before a key
signature change.
tonic
(pitch)- The tonic of the current scale
This engraver creates the following layout objects:
KeySignature.
Clef_engraver
- Determine and set reference point for pitches
Properties (read)
clefPosition
(number)- Where should the center of the clef
symbol go, measured in half staff spaces from the center of the staff.
clefGlyph
(string)- Name of the symbol within the music font.
middleCPosition
(number)- Place of the middle C, measured in half
staff-spaces. Usually determined by looking at
clefPosition
and
clefGlyph
.
clefOctavation
(integer)- Add
this much extra octavation. Values of 7 and -7 are common.
explicitClefVisibility
(vector)- `break-visibility' function for clef changes.
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.
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)
repeatCommands
(list)- This property is read to find any command of the form
(volta .
x)
, where x is a string or #f
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.
stavesFound
(list of grobs)- list of all staff-symbols found.
This engraver creates the following layout objects:
VoltaBracket.
Font_size_engraver
- Puts fontSize into font-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
- Apply a procedure to any grob acknowledged.
Music types accepted:
layout-instruction