2.1.22 TabStaff

Context for generating tablature. [DOCME]

This context also accepts commands for the following context(s):

Staff.

This context creates the following layout object(s):

BarLine, BassFigureAlignmentPositioning, BassFigureAlignment, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigure, Clef, DotColumn, InstrumentName, LedgerLineSpanner, NoteCollision, OctavateEight, OttavaBracket, PianoPedalBracket, RestCollision, ScriptRow, SostenutoPedalLineSpanner, SostenutoPedal, StaffSpacing, StaffSymbol, SustainPedalLineSpanner, SustainPedal, TimeSignature, UnaCordaPedalLineSpanner, UnaCordaPedal and VerticalAxisGroup.

This context sets the following properties:

Context TabStaff can contain TabVoice and CueVoice.

This context is built from the following engraver(s):

Tab_staff_symbol_engraver

Create a tablature staff symbol, but look at stringTunings for the number of lines.

Properties (read)

stringTunings (list)

The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).

This engraver creates the following layout object(s):

StaffSymbol.

Script_row_engraver

Determine order in horizontal side position elements.

This engraver creates the following layout object(s):

ScriptRow.

Figured_bass_position_engraver

Position figured bass alignments over notes.

This engraver creates the following layout object(s):

BassFigureAlignmentPositioning.

Figured_bass_engraver

Make 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_engraver

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

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):

VerticalAxisGroup.

Instrument_name_engraver

Create 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 instrument property labels the staff in the first system, and the instr property 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):

InstrumentName.

Piano_pedal_align_engraver

Align 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_engraver

Engrave 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, bracket or mixed (both).

pedalUnaCordaStrings (list)

See pedalSustainStrings.

pedalUnaCordaStyle (symbol)

See pedalSustainStyle.

This engraver creates the following layout object(s):

PianoPedalBracket, SostenutoPedal, SustainPedal and UnaCordaPedal.

Rest_collision_engraver

Handle 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):

RestCollision.

Grob_pq_engraver

Administrate 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_engraver

Collect NoteColumns, and as soon as there are two or more, put them in a NoteCollision object.

This engraver creates the following layout object(s):

NoteCollision.

Staff_symbol_engraver

Create the constellation of five (default) staff lines.

Music types accepted:

staff-span-event

This engraver creates the following layout object(s):

StaffSymbol.

Ledger_line_engraver

Create the spanner to draw ledger lines, and notices objects that need ledger lines.

This engraver creates the following layout object(s):

LedgerLineSpanner.

Time_signature_engraver

Create a TimeSignature whenever timeSignatureFraction changes.

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):

TimeSignature.

Clef_engraver

Determine 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_engraver

Create 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):

OttavaBracket.

Staff_collecting_engraver

Maintain the stavesFound variable.

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_engraver

Engrave 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):

DotColumn.

Separating_line_group_engraver

Generate objects for computing spacing parameters.

Properties (read)

createSpacing (boolean)

Create StaffSpacing objects? Should be set for staves.

Properties (write)

hasStaffSpacing (boolean)

True if the current CommandColumn contains items that will affect spacing.

This engraver creates the following layout object(s):

StaffSpacing.

Font_size_engraver

Put 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.

Properties (write)

forbidBreak (boolean)

If set to ##t, prevent a line break at this point.

This engraver creates the following layout object(s):

BarLine.

Output_property_engraver

Apply a procedure to any grob acknowledged.

Music types accepted:

apply-output-event


Internals Reference