| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GrandStaff ] | [ Up : Contexts ] | [ GregorianTranscriptionVoice > ] | ||
2.1.11 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 object(s):
AccidentalCautionary, AccidentalPlacement, AccidentalSuggestion, Accidental, BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, KeyCancellation, KeySignature, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.
This context sets the following properties:
- Set grob-property
transparentin BarLine to#t. - Set translator property
shortInstrumentNameto'(). - Set translator property
instrumentNameto'(). - Set grob-property
minimum-Y-extentin VerticalAxisGroup to'(-4 . 4). - Set translator property
ignoreFiguredBassRestto#t. - Set translator property
createSpacingto#t. - Set translator property
localKeySignatureto'().
Context GregorianTranscriptionStaff can contain GregorianTranscriptionVoice and CueVoice.
This context is built from the following engraver(s):
Script_row_engraverDetermine order in horizontal side position elements.
This engraver creates the following layout object(s):
Figured_bass_position_engraverPosition figured bass alignments over notes.
This engraver creates the following layout object(s):
Figured_bass_engraverMake figured bass numbers.
Music types accepted:
bass-figure-event and rest-event
Properties (read)
figuredBassAlterationDirection(direction)Where to put alterations relative to the main figure.
figuredBassCenterContinuations(boolean)Whether to vertically center pairs of extender lines. This does not work with three or more lines.
figuredBassFormatter(procedure)A routine generating a markup for a bass figure.
implicitBassFigures(list)A list of bass figures that are not printed as numbers, but only as extender lines.
useBassFigureExtenders(boolean)Whether to use extender lines for repeated bass figures.
ignoreFiguredBassRest(boolean)Don’t swallow rest events.
This engraver creates the following layout object(s):
BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.
Axis_group_engraverGroup all objects created in this context in a
VerticalAxisGroupspanner.Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
String_number_engraverSwallow string number events. The purpose of this engraver is to process tablatures for normal notation. To provent warnings for unprocessed string number events to obscure real error messages, this engraver swallows them all.
Instrument_name_engraverCreate a system start text for instrument or vocal names.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
shortInstrumentName(markup)See
instrument.instrumentName(markup)The name to print left of a staff. The
instrumentproperty labels the staff in the first system, and theinstrproperty labels following lines.shortVocalName(markup)Name of a vocal line, short version.
vocalName(markup)Name of a vocal line.
This engraver creates the following layout object(s):
Piano_pedal_align_engraverAlign piano pedal symbols and brackets.
Properties (read)
currentCommandColumn(layout object)Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following layout object(s):
SostenutoPedalLineSpanner, SustainPedalLineSpanner and UnaCordaPedalLineSpanner.
Piano_pedal_engraverEngrave piano pedal symbols and brackets.
Music types accepted:
una-corda-event, sustain-event and sostenuto-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)A list of strings 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,bracketormixed(both).pedalUnaCordaStrings(list)See
pedalSustainStrings.pedalUnaCordaStyle(symbol)See
pedalSustainStyle.This engraver creates the following layout object(s):
PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.
Accidental_engraverMake accidentals. Catch note heads, ties and notices key-change events. This engraver usually lives at Staff level, but reads the settings for Accidental at
Voicelevel, so you can\overridethem atVoice.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 entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be 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.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
contextThe current context to which the rule should be applied.
pitchThe pitch of the note to be evaluated.
barnumThe current bar number.
measureposThe current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)does not make sense.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.internalBarNumber(integer)Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver.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.
keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).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 . measureposition))pairs.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 . measureposition))pairs.This engraver creates the following layout object(s):
Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.
Rest_collision_engraverHandle collisions of rests.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).This engraver creates the following layout object(s):
Grob_pq_engraverAdministrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Properties (write)
busyGrobs(list)A queue of
(end-moment . GROB)cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.).Collision_engraverCollect
NoteColumns, and as soon as there are two or more, put them in aNoteCollisionobject.This engraver creates the following layout object(s):
Staff_symbol_engraverCreate the constellation of five (default) staff lines.
Music types accepted:
This engraver creates the following layout object(s):
Ledger_line_engraverCreate the spanner to draw ledger lines, and notices objects that need ledger lines.
This engraver creates the following layout object(s):
Time_signature_engraverCreate a TimeSignature whenever
timeSignatureFractionchanges.Properties (read)
implicitTimeSignatureVisibility(vector)break visibility for the default time signature.
timeSignatureFraction(pair of numbers)A pair of numbers, signifying the time signature. For example,
#'(4 . 4)is a 4/4 time signature.This engraver creates the following layout object(s):
Key_engraverEngrave a key signature.
Music types accepted:
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-visibilityproperty will set the visibility for normal (i.e., at the start of the line) key signatures.extraNatural(boolean)Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
keyAlterationOrder(list)An alist that defines in what order alterations should be printed. The format is
(step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).keySignature(list)The current key signature. This is an alist containing
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).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
(step . alter)or((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT)).lastKeySignature(list)Last key signature before a key signature change.
tonic(pitch)The tonic of the current scale.
This engraver creates the following layout object(s):
Clef_engraverDetermine and set reference point for pitches.
Properties (read)
clefGlyph(string)Name of the symbol within the music font.
clefOctavation(integer)Add this much extra octavation. Values of 7 and -7 are common.
clefPosition(number)Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
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 object(s):
Clef and OctavateEight.
Ottava_spanner_engraverCreate a text spanner when the ottavation property changes.
Properties (read)
ottavation(markup)If set, the text for an ottava spanner. Changing this creates a new text spanner.
originalMiddleCPosition(integer)Used for temporary overriding middle C in octavation brackets.
currentMusicalColumn(layout object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following layout object(s):
Staff_collecting_engraverMaintain the
stavesFoundvariable.Properties (read)
stavesFound(list of grobs)A list of all staff-symbols found.
Properties (write)
stavesFound(list of grobs)A list of all staff-symbols found.
Dot_column_engraverEngrave 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 object(s):
Separating_line_group_engraverGenerate objects for computing spacing parameters.
Properties (read)
createSpacing(boolean)Create
StaffSpacingobjects? Should be set for staves.Properties (write)
hasStaffSpacing(boolean)True if the current
CommandColumncontains items that will affect spacing.This engraver creates the following layout object(s):
Font_size_engraverPut
fontSizeintofont-sizegrob property.Properties (read)
fontSize(number)The relative size of all grobs in a context.
Bar_engraverCreate barlines. This engraver is controlled through the
whichBarproperty. 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.
Properties (write)
forbidBreak(boolean)If set to
##t, prevent a line break at this point.This engraver creates the following layout object(s):
Output_property_engraverApply a procedure to any grob acknowledged.
Music types accepted:
| [ << Translation ] | [Top][Contents][Index][ ? ] | [ Backend >> ] | ||
| [ < GrandStaff ] | [ Up : Contexts ] | [ GregorianTranscriptionVoice > ] | ||