[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Engravers and Performers

See (notation)Modifying context plug-ins section ‘Modifying context plug-ins’ in Notation Reference.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

accidentalGrouping (symbol)

If set to 'voice, accidentals on the same note in different octaves may be horizontally staggered if in different voices.

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 (internals)Score section ‘Score’ in Internals Reference then all staves share accidentals, and if context is (internals)Staff section ‘Staff’ in Internals Reference 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:

context

The current context to which the rule should be applied.

pitch

The pitch of the note to be evaluated.

barnum

The current bar number.

measurepos

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

extraNatural (boolean)

Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.

harmonicAccidentals (boolean)

If set, harmonic notes in chords get accidentals.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

keyAlterations (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. keyAlterations = #`((6 . ,FLAT)).

localAlterations (list)

The key signature at this point in the measure. The format is the same as for keyAlterations, but can also contain ((octave . name) . (alter barnumber . measureposition)) pairs.

Properties (write)

localAlterations (list)

The key signature at this point in the measure. The format is the same as for keyAlterations, but can also contain ((octave . name) . (alter barnumber . measureposition)) pairs.

This engraver creates the following layout object(s):

Accidental, AccidentalCautionary, AccidentalPlacement and AccidentalSuggestion.

Accidental_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.2 Ambitus_engraver

Create an ambitus.

Properties (read)

keyAlterations (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. keyAlterations = #`((6 . ,FLAT)).

middleCClefPosition (number)

The position of the middle C, as determined only by the clef. This can be calculated by looking at clefPosition and clefGlyph.

middleCCuePosition (number)

The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at cueClefPosition and cueClefGlyph.

middleCOffset (number)

The offset of middle C from the position given by middleCClefPosition This is used for ottava brackets.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

staffLineLayoutFunction (procedure)

Layout of staff lines, traditional, or semitone.

This engraver creates the following layout object(s):

AccidentalPlacement, Ambitus, AmbitusAccidental, AmbitusLine and AmbitusNoteHead.

Ambitus_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.3 Arpeggio_engraver

Generate an Arpeggio symbol.

Music types accepted:

arpeggio-event

This engraver creates the following layout object(s):

Arpeggio.

Arpeggio_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.4 Auto_beam_engraver

Generate beams based on measure characteristics and observed Stems. Uses baseMoment, beatStructure, beamExceptions, measureLength, and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties stemLeftBeamCount and stemRightBeamCount.

Music types accepted:

beam-forbid-event

Properties (read)

autoBeaming (boolean)

If set to true then beams are generated automatically.

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

beamExceptions (list)

An alist of exceptions to autobeam rules that normally end on beats.

beamHalfMeasure (boolean)

Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.

beatStructure (list)

List of baseMoments that are combined to make beats.

subdivideBeams (boolean)

If set, multiple beams will be subdivided at baseMoment positions by only drawing one beam over the beat.

This engraver creates the following layout object(s):

Beam.

Auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.5 Axis_group_engraver

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

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

hasAxisGroup (boolean)

True if the current context is contained in an axis group.

keepAliveInterfaces (list)

A list of symbols, signifying grob interfaces that are worth keeping a staff with remove-empty set around for.

Properties (write)

hasAxisGroup (boolean)

True if the current context is contained in an axis group.

This engraver creates the following layout object(s):

VerticalAxisGroup.

Axis_group_engraver is part of the following context(s): ChordNames, DrumStaff, Dynamics, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.6 Balloon_engraver

Create balloon texts.

Music types accepted:

annotate-output-event

This engraver creates the following layout object(s):

BalloonTextItem.

Balloon_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.7 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. This engraver is required to trigger the creation of clefs at the start of systems.

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 ‘scm/bar-line.scm’.

Properties (write)

forbidBreak (boolean)

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

This engraver creates the following layout object(s):

BarLine.

Bar_engraver is part of the following context(s): DrumStaff, Dynamics, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.8 Bar_number_engraver

A bar number is created whenever measurePosition is zero and when there is a bar line (i.e., when whichBar is set). It is put on top of all staves, and appears only at the left side of the staff. The staves are taken from stavesFound, which is maintained by Staff_collecting_engraver.

Music types accepted:

alternative-event

Properties (read)

alternativeNumberingStyle (symbol)

The style of an alternative’s bar numbers. Can be numbers for going back to the same number or numbers-with-letters for going back to the same number with letter suffixes. No setting will not go back in measure-number time.

barNumberFormatter (procedure)

A procedure that takes a bar number, measure position, and alternative number and returns a markup of the bar number to print.

barNumberVisibility (procedure)

A procedure that takes a bar number and a measure position and returns whether the corresponding bar number should be printed. Note that the actual print-out of bar numbers is controlled with the break-visibility property.

The following procedures are predefined:

all-bar-numbers-visible

Enable bar numbers for all bars, including the first one and broken bars (which get bar numbers in parentheses).

first-bar-number-invisible

Enable bar numbers for all bars (including broken bars) except the first one. If the first bar is broken, it doesn’t get a bar number either.

first-bar-number-invisible-save-broken-bars

Enable bar numbers for all bars (including broken bars) except the first one. A broken first bar gets a bar number.

first-bar-number-invisible-and-no-parenthesized-bar-numbers

Enable bar numbers for all bars except the first bar and broken bars. This is the default.

(every-nth-bar-number-visible n)

Assuming n is value 2, for example, this enables bar numbers for bars 2, 4, 6, etc.

(modulo-bar-number-visible n m)

If bar numbers 1, 4, 7, etc., should be enabled, n (the modulo) must be set to 3 and m (the division remainder) to 1.

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

stavesFound (list of grobs)

A list of all staff-symbols found.

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 ‘scm/bar-line.scm’.

Properties (write)

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

This engraver creates the following layout object(s):

BarNumber.

Bar_number_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.9 Beam_collision_engraver

Help beams avoid colliding with notes and clefs in other voices.

Beam_collision_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.10 Beam_engraver

Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams.

Music types accepted:

beam-event

Properties (read)

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

beamMelismaBusy (boolean)

Signal if a beam is present.

beatStructure (list)

List of baseMoments that are combined to make beats.

subdivideBeams (boolean)

If set, multiple beams will be subdivided at baseMoment positions by only drawing one beam over the beat.

Properties (write)

forbidBreak (boolean)

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

This engraver creates the following layout object(s):

Beam.

Beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.11 Beam_performer

Music types accepted:

beam-event

Beam_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.12 Bend_engraver

Create fall spanners.

Music types accepted:

bend-after-event

This engraver creates the following layout object(s):

BendAfter.

Bend_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.13 Break_align_engraver

Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder. The left edge of the alignment gets a separate group, with a symbol left-edge.

This engraver creates the following layout object(s):

BreakAlignGroup, BreakAlignment and LeftEdge.

Break_align_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.14 Breathing_sign_engraver

Create a breathing sign.

Music types accepted:

breathing-event

This engraver creates the following layout object(s):

BreathingSign.

Breathing_sign_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.15 Chord_name_engraver

Catch note and rest events and generate the appropriate chordname.

Music types accepted:

note-event and rest-event

Properties (read)

chordChanges (boolean)

Only show changes in chords scheme?

chordNameExceptions (list)

An alist of chord exceptions. Contains (chord . markup) entries.

chordNameExceptions (list)

An alist of chord exceptions. Contains (chord . markup) entries.

chordNameFunction (procedure)

The function that converts lists of pitches to chord names.

chordNoteNamer (procedure)

A function that converts from a pitch object to a text markup. Used for single pitches.

chordRootNamer (procedure)

A function that converts from a pitch object to a text markup. Used for chords.

lastChord (markup)

Last chord, used for detecting chord changes.

majorSevenSymbol (markup)

How should the major 7th be formatted in a chord name?

noChordSymbol (markup)

Markup to be displayed for rests in a ChordNames context.

Properties (write)

lastChord (markup)

Last chord, used for detecting chord changes.

This engraver creates the following layout object(s):

ChordName.

Chord_name_engraver is part of the following context(s): ChordNames.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.16 Chord_tremolo_engraver

Generate beams for tremolo repeats.

Music types accepted:

tremolo-span-event

This engraver creates the following layout object(s):

Beam.

Chord_tremolo_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.17 Clef_engraver

Determine and set reference point for pitches.

Properties (read)

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.

clefTransposition (integer)

Add this much extra transposition. Values of 7 and -7 are common.

clefTranspositionStyle (symbol)

Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.

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

Clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.18 Cluster_spanner_engraver

Engrave a cluster using Spanner notation.

Music types accepted:

cluster-note-event

This engraver creates the following layout object(s):

ClusterSpanner and ClusterSpannerBeacon.

Cluster_spanner_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.20 Completion_heads_engraver

This engraver replaces Note_heads_engraver. It plays some trickery to break long notes and automatically tie them into the next measure.

Music types accepted:

note-event

Properties (read)

completionFactor (an exact rational or procedure)

When Completion_heads_engraver and Completion_rest_engraver need to split a note or rest with a scaled duration, such as c2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.

If #f, the completion engraver uses the scale-factor of each duration being split.

If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.

completionUnit (moment)

Sub-bar unit of completion.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

timing (boolean)

Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.

Properties (write)

completionBusy (boolean)

Whether a completion-note head is playing.

This engraver creates the following layout object(s):

NoteHead, Tie and TieColumn.

Completion_heads_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.21 Completion_rest_engraver

This engraver replaces Rest_engraver. It plays some trickery to break long rests into the next measure.

Music types accepted:

rest-event

Properties (read)

completionFactor (an exact rational or procedure)

When Completion_heads_engraver and Completion_rest_engraver need to split a note or rest with a scaled duration, such as c2*3, this specifies the scale factor to use for the newly-split notes and rests created by the engraver.

If #f, the completion engraver uses the scale-factor of each duration being split.

If set to a callback procedure, that procedure is called with the context of the completion engraver, and the duration to be split.

completionUnit (moment)

Sub-bar unit of completion.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

Properties (write)

restCompletionBusy (boolean)

Signal whether a completion-rest is active.

This engraver creates the following layout object(s):

Rest.

Completion_rest_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.22 Concurrent_hairpin_engraver

Collect concurrent hairpins.

Concurrent_hairpin_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.23 Control_track_performer

Control_track_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.24 Cue_clef_engraver

Determine and set reference point for pitches in cued voices.

Properties (read)

clefTransposition (integer)

Add this much extra transposition. Values of 7 and -7 are common.

cueClefGlyph (string)

Name of the symbol within the music font.

cueClefPosition (number)

Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

cueClefTransposition (integer)

Add this much extra transposition. Values of 7 and -7 are common.

cueClefTranspositionStyle (symbol)

Determines the way the ClefModifier grob is displayed. Possible values are ‘default’, ‘parenthesized’ and ‘bracketed’.

explicitCueClefVisibility (vector)

‘break-visibility’ function for cue clef changes.

middleCCuePosition (number)

The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at cueClefPosition and cueClefGlyph.

This engraver creates the following layout object(s):

ClefModifier, CueClef and CueEndClef.

Cue_clef_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.25 Custos_engraver

Engrave custodes.

This engraver creates the following layout object(s):

Custos.

Custos_engraver is part of the following context(s): MensuralStaff, PetrucciStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.26 Default_bar_line_engraver

This engraver determines what kind of automatic bar lines should be produced, and sets whichBar accordingly. It should be at the same level as Timing_translator.

Properties (read)

automaticBars (boolean)

If set to false then bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.

barAlways (boolean)

If set to true a bar line is drawn after each note.

defaultBarType (string)

Set the default type of bar line. See whichBar for information on available bar types.

This variable is read by (internals)Timing_translator section ‘Timing_translator’ in Internals Reference at (internals)Score section ‘Score’ in Internals Reference level.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

timing (boolean)

Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.

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 ‘scm/bar-line.scm’.

Default_bar_line_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Dot_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.28 Dots_engraver

Create Dots objects for rhythmic-head-interfaces.

This engraver creates the following layout object(s):

Dots.

Dots_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.29 Double_percent_repeat_engraver

Make double measure repeats.

Music types accepted:

double-percent-event

Properties (read)

countPercentRepeats (boolean)

If set, produce counters for percent repeats.

measureLength (moment)

Length of one measure in the current time signature.

repeatCountVisibility (procedure)

A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when countPercentRepeats is set.

Properties (write)

forbidBreak (boolean)

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

This engraver creates the following layout object(s):

DoublePercentRepeat and DoublePercentRepeatCounter.

Double_percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.30 Drum_note_performer

Play drum notes.

Music types accepted:

note-event

Drum_note_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.31 Drum_notes_engraver

Generate drum note heads.

Music types accepted:

note-event

Properties (read)

drumStyleTable (hash table)

A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘agostini-drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.

The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list (notehead-style script vertical-position) as values.

This engraver creates the following layout object(s):

NoteHead and Script.

Drum_notes_engraver is part of the following context(s): DrumVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.32 Dynamic_align_engraver

Align hairpins and dynamic texts on a horizontal line.

Properties (read)

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

This engraver creates the following layout object(s):

DynamicLineSpanner.

Dynamic_align_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.33 Dynamic_engraver

Create hairpins, dynamic texts and dynamic text spanners.

Music types accepted:

absolute-dynamic-event, break-span-event and span-dynamic-event

Properties (read)

crescendoSpanner (symbol)

The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.

crescendoText (markup)

The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

decrescendoSpanner (symbol)

The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.

decrescendoText (markup)

The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.

This engraver creates the following layout object(s):

DynamicText, DynamicTextSpanner and Hairpin.

Dynamic_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.34 Dynamic_performer

Music types accepted:

absolute-dynamic-event, crescendo-event and decrescendo-event

Properties (read)

dynamicAbsoluteVolumeFunction (procedure)

A procedure that takes one argument, the text value of a dynamic event, and returns the absolute volume of that dynamic event.

instrumentEqualizer (procedure)

A function taking a string (instrument name), and returning a (min . max) pair of numbers for the loudness range of the instrument.

midiInstrument (string)

Name of the MIDI instrument to use.

midiMaximumVolume (number)

Analogous to midiMinimumVolume.

midiMinimumVolume (number)

Set the minimum loudness for MIDI. Ranges from 0 to 1.

Dynamic_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.35 Episema_engraver

Create an Editio Vaticana-style episema line.

Music types accepted:

episema-event

This engraver creates the following layout object(s):

Episema.

Episema_engraver is part of the following context(s): GregorianTranscriptionVoice and VaticanaVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.36 Extender_engraver

Create lyric extenders.

Music types accepted:

completize-extender-event and extender-event

Properties (read)

extendersOverRests (boolean)

Whether to continue extenders as they cross a rest.

This engraver creates the following layout object(s):

LyricExtender.

Extender_engraver is part of the following context(s): Lyrics.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

ignoreFiguredBassRest (boolean)

Don’t swallow rest events.

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.

This engraver creates the following layout object(s):

BassFigure, BassFigureAlignment, BassFigureBracket, BassFigureContinuation and BassFigureLine.

Figured_bass_engraver is part of the following context(s): DrumStaff, FiguredBass, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.38 Figured_bass_position_engraver

Position figured bass alignments over notes.

This engraver creates the following layout object(s):

BassFigureAlignmentPositioning.

Figured_bass_position_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.39 Fingering_column_engraver

Find potentially colliding scripts and put them into a FingeringColumn object; that will fix the collisions.

This engraver creates the following layout object(s):

FingeringColumn.

Fingering_column_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.40 Fingering_engraver

Create fingering scripts.

Music types accepted:

fingering-event

This engraver creates the following layout object(s):

Fingering.

Fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.41 Font_size_engraver

Put fontSize into font-size grob property.

Properties (read)

fontSize (number)

The relative size of all grobs in a context.

Font_size_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, Lyrics, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, RhythmicStaff, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.42 Footnote_engraver

Create footnote texts.

Properties (read)

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

This engraver creates the following layout object(s):

FootnoteItem and FootnoteSpanner.

Footnote_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.43 Forbid_line_break_engraver

Forbid line breaks when note heads are still playing at some point.

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)

forbidBreak (boolean)

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

Forbid_line_break_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.44 Fretboard_engraver

Generate fret diagram from one or more events of type NoteEvent.

Music types accepted:

fingering-event, note-event and string-number-event

Properties (read)

chordChanges (boolean)

Only show changes in chords scheme?

defaultStrings (list)

A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.

highStringOne (boolean)

Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.

maximumFretStretch (number)

Don’t allocate frets further than this from specified frets.

minimumFret (number)

The tablature auto string-selecting mechanism selects the highest string with a fret at least minimumFret.

noteToFretFunction (procedure)

Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.

predefinedDiagramTable (hash table)

The hash table of predefined fret diagrams to use in FretBoards.

stringTunings (list)

The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).

tablatureFormat (procedure)

A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.

This engraver creates the following layout object(s):

FretBoard.

Fretboard_engraver is part of the following context(s): FretBoards.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.45 Glissando_engraver

Engrave glissandi.

Music types accepted:

glissando-event

Properties (read)

glissandoMap (list)

A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.

This engraver creates the following layout object(s):

Glissando.

Glissando_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.46 Grace_auto_beam_engraver

Generates one autobeam group across an entire grace phrase. As usual, any manual beaming or \noBeam will block autobeaming, just like setting the context property ‘autoBeaming’ to ##f.

Music types accepted:

beam-forbid-event

Properties (read)

autoBeaming (boolean)

If set to true then beams are generated automatically.

This engraver creates the following layout object(s):

Beam.

Grace_auto_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.47 Grace_beam_engraver

Handle Beam events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.

Music types accepted:

beam-event

Properties (read)

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

beamMelismaBusy (boolean)

Signal if a beam is present.

beatStructure (list)

List of baseMoments that are combined to make beats.

subdivideBeams (boolean)

If set, multiple beams will be subdivided at baseMoment positions by only drawing one beam over the beat.

This engraver creates the following layout object(s):

Beam.

Grace_beam_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.48 Grace_engraver

Set font size and other properties for grace notes.

Properties (read)

graceSettings (list)

Overrides for grace notes. This property should be manipulated through the add-grace-property function.

Grace_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.49 Grace_spacing_engraver

Bookkeeping of shortest starting and playing notes in grace note runs.

Properties (read)

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

This engraver creates the following layout object(s):

GraceSpacing.

Grace_spacing_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.50 Grid_line_span_engraver

This engraver makes cross-staff lines: It catches all normal lines and draws a single span line across them.

This engraver creates the following layout object(s):

GridLine.

Grid_line_span_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.51 Grid_point_engraver

Generate grid points.

Properties (read)

gridInterval (moment)

Interval for which to generate GridPoints.

This engraver creates the following layout object(s):

GridPoint.

Grid_point_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.52 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.).

Grob_pq_engraver is part of the following context(s): CueVoice, DrumStaff, DrumVoice, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, NullVoice, PetrucciStaff, PetrucciVoice, Staff, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.53 Horizontal_bracket_engraver

Create horizontal brackets over notes for musical analysis purposes.

Music types accepted:

note-grouping-event

This engraver creates the following layout object(s):

HorizontalBracket and HorizontalBracketText.

Horizontal_bracket_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.54 Hyphen_engraver

Create lyric hyphens, vowel transitions and distance constraints between words.

Music types accepted:

hyphen-event and vowel-transition-event

This engraver creates the following layout object(s):

LyricHyphen, LyricSpace and VowelTransition.

Hyphen_engraver is part of the following context(s): Lyrics.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.55 Instrument_name_engraver

Create a system start text for instrument or vocal names.

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

instrumentName (markup)

The name to print left of a staff. The instrumentName property labels the staff in the first system, and the shortInstrumentName property labels following lines.

shortInstrumentName (markup)

See instrumentName.

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.

Instrument_name_engraver is part of the following context(s): ChoirStaff, DrumStaff, FretBoards, GrandStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.56 Instrument_switch_engraver

Create a cue text for taking instrument.

Properties (read)

instrumentCueName (markup)

The name to print if another instrument is to be taken.

This engraver creates the following layout object(s):

InstrumentSwitch.

Instrument_switch_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.57 Keep_alive_together_engraver

This engraver collects all Hara_kiri_group_spanners that are created in contexts at or below its own. These spanners are then tied together so that one will be removed only if all are removed. For example, if a StaffGroup uses this engraver, then the staves in the group will all be visible as long as there is a note in at least one of them.

Keep_alive_together_engraver is part of the following context(s): PianoStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.58 Key_engraver

Engrave a key signature.

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.

extraNatural (boolean)

Whether to typeset an extra natural sign before accidentals that reduce the effect of a previous alteration.

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

keyAlterations (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. keyAlterations = #`((6 . ,FLAT)).

lastKeyAlterations (list)

Last key signature before a key signature change.

middleCClefPosition (number)

The position of the middle C, as determined only by the clef. This can be calculated by looking at clefPosition and clefGlyph.

printKeyCancellation (boolean)

Print restoration alterations before a key signature change.

Properties (write)

keyAlterations (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. keyAlterations = #`((6 . ,FLAT)).

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

KeyCancellation and KeySignature.

Key_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.59 Key_performer

Music types accepted:

key-change-event

Properties (read)

instrumentTransposition (pitch)

Define the transposition of the instrument. Its value is the pitch that sounds when the instrument plays written middle C. This is used to transpose the MIDI output, and \quotes.

Key_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.60 Kievan_ligature_engraver

Handle Kievan_ligature_events by glueing Kievan heads together.

Music types accepted:

ligature-event

This engraver creates the following layout object(s):

KievanLigature.

Kievan_ligature_engraver is part of the following context(s): KievanVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.61 Laissez_vibrer_engraver

Create laissez vibrer items.

Music types accepted:

laissez-vibrer-event

This engraver creates the following layout object(s):

LaissezVibrerTie and LaissezVibrerTieColumn.

Laissez_vibrer_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Ledger_line_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.63 Ligature_bracket_engraver

Handle Ligature_events by engraving Ligature brackets.

Music types accepted:

ligature-event

This engraver creates the following layout object(s):

LigatureBracket.

Ligature_bracket_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, TabVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.64 Lyric_engraver

Engrave text for lyrics.

Music types accepted:

lyric-event

Properties (read)

ignoreMelismata (boolean)

Ignore melismata for this (internals)Lyrics section ‘Lyrics’ in Internals Reference line.

lyricMelismaAlignment (number)

Alignment to use for a melisma syllable.

searchForVoice (boolean)

Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.

This engraver creates the following layout object(s):

LyricText.

Lyric_engraver is part of the following context(s): Lyrics.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.65 Lyric_performer

Music types accepted:

lyric-event

Lyric_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.66 Mark_engraver

Create RehearsalMark objects. It puts them on top of all staves (which is taken from the property stavesFound). If moving this engraver to a different context, Staff_collecting_engraver must move along, otherwise all marks end up on the same Y location.

Music types accepted:

mark-event

Properties (read)

markFormatter (procedure)

A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.

rehearsalMark (integer)

The last rehearsal mark printed.

stavesFound (list of grobs)

A list of all staff-symbols found.

This engraver creates the following layout object(s):

RehearsalMark.

Mark_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.67 Measure_counter_engraver

This engraver numbers ranges of measures, which is useful in parts as an aid for counting repeated measures. There is no requirement that the affected measures be repeated, however. The user delimits the area to receive a count with \startMeasureCount and \stopMeasureCount.

Music types accepted:

measure-counter-event

Properties (read)

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

This engraver creates the following layout object(s):

MeasureCounter.

Measure_counter_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.68 Measure_grouping_engraver

Create MeasureGrouping to indicate beat subdivision.

Properties (read)

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

beatStructure (list)

List of baseMoments that are combined to make beats.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

This engraver creates the following layout object(s):

MeasureGrouping.

Measure_grouping_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.69 Measure_spanner_engraver

This engraver creates spanners bounded by the columns that start and end measures in response to \startMeasureSpanner and \stopMeasureSpanner.

Music types accepted:

measure-spanner-event

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

This engraver creates the following layout object(s):

MeasureSpanner.

Measure_spanner_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.70 Melody_engraver

Create information for context dependent typesetting decisions.

This engraver creates the following layout object(s):

MelodyItem.

Melody_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.71 Mensural_ligature_engraver

Handle Mensural_ligature_events by glueing special ligature heads together.

Music types accepted:

ligature-event

This engraver creates the following layout object(s):

MensuralLigature.

Mensural_ligature_engraver is part of the following context(s): MensuralVoice and PetrucciVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.72 Merge_rests_engraver

Engraver to merge rests in multiple voices on the same staff. This works by gathering all rests at a time step. If they are all of the same length and there are at least two they are moved to the correct location as if there were one voice.

Properties (read)

suspendRestMerging (boolean)

When using the Merge_rest_engraver do not merge rests when this is set to true.

Merge_rests_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.73 Metronome_mark_engraver

Engrave metronome marking. This delegates the formatting work to the function in the metronomeMarkFormatter property. The mark is put over all staves. The staves are taken from the stavesFound property, which is maintained by Staff_collecting_engraver.

Music types accepted:

tempo-change-event

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

metronomeMarkFormatter (procedure)

How to produce a metronome markup. Called with two arguments: a TempoChangeEvent and context.

stavesFound (list of grobs)

A list of all staff-symbols found.

tempoHideNote (boolean)

Hide the note = count in tempo marks.

This engraver creates the following layout object(s):

MetronomeMark.

Metronome_mark_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.74 Midi_control_change_performer

This performer listens to SetProperty events on context properties for generating MIDI control changes and prepares them for MIDI output.

Properties (read)

midiBalance (number)

Stereo balance for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to leftmost emphasis, center balance, and rightmost emphasis, respectively.

midiChorusLevel (number)

Chorus effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

midiExpression (number)

Expression control for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

midiPanPosition (number)

Pan position for the MIDI channel associated with the current context. Ranges from -1 to 1, where the values -1 (#LEFT), 0 (#CENTER) and 1 (#RIGHT) correspond to hard left, center, and hard right, respectively.

midiReverbLevel (number)

Reverb effect level for the MIDI channel associated with the current context. Ranges from 0 to 1 (0=off, 1=full effect).

Midi_control_change_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.75 Multi_measure_rest_engraver

Engrave multi-measure rests that are produced with ‘R’. It reads measurePosition and internalBarNumber to determine what number to print over the MultiMeasureRest.

Music types accepted:

multi-measure-articulation-event, multi-measure-rest-event and multi-measure-text-event

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

restNumberThreshold (number)

If a multimeasure rest has more measures than this, a number is printed.

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 ‘scm/bar-line.scm’.

This engraver creates the following layout object(s):

MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript and MultiMeasureRestText.

Multi_measure_rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.76 New_fingering_engraver

Create fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.

Properties (read)

fingeringOrientations (list)

A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.

harmonicDots (boolean)

If set, harmonic notes in dotted chords get dots.

stringNumberOrientations (list)

See fingeringOrientations.

strokeFingerOrientations (list)

See fingeringOrientations.

This engraver creates the following layout object(s):

Fingering, Script, StringNumber and StrokeFinger.

New_fingering_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.77 Note_head_line_engraver

Engrave a line between two note heads in a staff switch if followVoice is set.

Properties (read)

followVoice (boolean)

If set, note heads are tracked across staff switches by a thin line.

This engraver creates the following layout object(s):

VoiceFollower.

Note_head_line_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.78 Note_heads_engraver

Generate note heads.

Music types accepted:

note-event

Properties (read)

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

staffLineLayoutFunction (procedure)

Layout of staff lines, traditional, or semitone.

This engraver creates the following layout object(s):

NoteHead.

Note_heads_engraver is part of the following context(s): CueVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NullVoice, PetrucciVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.79 Note_name_engraver

Print pitches as words.

Music types accepted:

note-event

Properties (read)

noteNameFunction (procedure)

Function used to convert pitches into strings and markups.

noteNameSeparator (string)

String used to separate simultaneous NoteName objects.

printAccidentalNames (boolean or symbol)

Print accidentals in the NoteNames context.

printNotesLanguage (string)

Use a specific language in the NoteNames context.

printOctaveNames (boolean or symbol)

Print octave marks in the NoteNames context.

This engraver creates the following layout object(s):

NoteName.

Note_name_engraver is part of the following context(s): NoteNames.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.80 Note_performer

Music types accepted:

articulation-event, breathing-event, note-event and tie-event

Note_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.81 Note_spacing_engraver

Generate NoteSpacing, an object linking horizontal lines for use in spacing.

This engraver creates the following layout object(s):

NoteSpacing.

Note_spacing_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.82 Ottava_spanner_engraver

Create a text spanner when the ottavation property changes.

Properties (read)

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

middleCOffset (number)

The offset of middle C from the position given by middleCClefPosition This is used for ottava brackets.

ottavation (markup)

If set, the text for an ottava spanner. Changing this creates a new text spanner.

This engraver creates the following layout object(s):

OttavaBracket.

Ottava_spanner_engraver is part of the following context(s): GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.83 Output_property_engraver

Apply a procedure to any grob acknowledged.

Music types accepted:

apply-output-event

Output_property_engraver is part of the following context(s): ChordNames, CueVoice, DrumStaff, DrumVoice, Dynamics, FretBoards, GregorianTranscriptionStaff, GregorianTranscriptionVoice, KievanStaff, KievanVoice, MensuralStaff, MensuralVoice, PetrucciStaff, PetrucciVoice, RhythmicStaff, Score, Staff, StaffGroup, TabStaff, TabVoice, VaticanaStaff, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.84 Page_turn_engraver

Decide where page turns are allowed to go.

Music types accepted:

break-event

Properties (read)

minimumPageTurnLength (moment)

Minimum length of a rest for a page turn to be allowed.

minimumRepeatLengthForPageTurn (moment)

Minimum length of a repeated section for a page turn to be allowed within that section.

Page_turn_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.85 Paper_column_engraver

Take care of generating columns.

This engraver decides whether a column is breakable. The default is that a column is always breakable. However, every Bar_engraver that does not have a barline at a certain point will set forbidBreaks in the score context to stop line breaks. In practice, this means that you can make a break point by creating a bar line (assuming that there are no beams or notes that prevent a break point).

Music types accepted:

break-event and label-event

Properties (read)

forbidBreak (boolean)

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

Properties (write)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

forbidBreak (boolean)

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

This engraver creates the following layout object(s):

NonMusicalPaperColumn and PaperColumn.

Paper_column_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.86 Parenthesis_engraver

Parenthesize objects whose music cause has the parenthesize property.

This engraver creates the following layout object(s):

ParenthesesItem.

Parenthesis_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.87 Part_combine_engraver

Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.

Music types accepted:

note-event and part-combine-event

Properties (read)

aDueText (markup)

Text to print at a unisono passage.

partCombineTextsOnNote (boolean)

Print part-combine texts only on the next note rather than immediately on rests or skips.

printPartCombineTexts (boolean)

Set ‘Solo’ and ‘A due’ texts in the part combiner?

soloIIText (markup)

The text for the start of a solo for voice ‘two’ when part-combining.

soloText (markup)

The text for the start of a solo when part-combining.

This engraver creates the following layout object(s):

CombineTextScript.

Part_combine_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.88 Percent_repeat_engraver

Make whole measure repeats.

Music types accepted:

percent-event

Properties (read)

countPercentRepeats (boolean)

If set, produce counters for percent repeats.

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

repeatCountVisibility (procedure)

A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when countPercentRepeats is set.

This engraver creates the following layout object(s):

PercentRepeat and PercentRepeatCounter.

Percent_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.89 Phrasing_slur_engraver

Print phrasing slurs. Similar to Slur_engraver.

Music types accepted:

note-event and phrasing-slur-event

This engraver creates the following layout object(s):

PhrasingSlur.

Phrasing_slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.90 Piano_pedal_align_engraver

Align piano pedal symbols and brackets.

Properties (read)

currentCommandColumn (graphical (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_align_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.91 Piano_pedal_engraver

Engrave piano pedal symbols and brackets.

Music types accepted:

sostenuto-event, sustain-event and una-corda-event

Properties (read)

currentCommandColumn (graphical (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.

Piano_pedal_engraver is part of the following context(s): Dynamics, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.92 Piano_pedal_performer

Music types accepted:

sostenuto-event, sustain-event and una-corda-event

Piano_pedal_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.93 Pitch_squash_engraver

Set the vertical position of note heads to squashedPosition, if that property is set. This can be used to make a single-line staff demonstrating the rhythm of a melody.

Properties (read)

squashedPosition (integer)

Vertical position of squashing for (internals)Pitch_squash_engraver section ‘Pitch_squash_engraver’ in Internals Reference.

Pitch_squash_engraver is part of the following context(s): NullVoice and RhythmicStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.94 Pitched_trill_engraver

Print the bracketed note head after a note head with trill.

This engraver creates the following layout object(s):

TrillPitchAccidental, TrillPitchGroup and TrillPitchHead.

Pitched_trill_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.95 Pure_from_neighbor_engraver

Coordinates items that get their pure heights from their neighbors.

Pure_from_neighbor_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.96 Repeat_acknowledge_engraver

Acknowledge repeated music, and convert the contents of repeatCommands into an appropriate setting for whichBar.

Properties (read)

doubleRepeatSegnoType (string)

Set the default bar line for the combinations double repeat with segno. Default is ‘:|.S.|:’.

doubleRepeatType (string)

Set the default bar line for double repeats.

endRepeatSegnoType (string)

Set the default bar line for the combinations ending of repeat with segno. Default is ‘:|.S’.

endRepeatType (string)

Set the default bar line for the ending of repeats.

repeatCommands (list)

This property is a list of commands of the form (list 'volta x), where x is a string or #f. 'end-repeat is also accepted as a command.

segnoType (string)

Set the default bar line for a requested segno. Default is ‘S’.

startRepeatSegnoType (string)

Set the default bar line for the combinations beginning of repeat with segno. Default is ‘S.|:’.

startRepeatType (string)

Set the default bar line for the beginning of repeats.

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 ‘scm/bar-line.scm’.

Repeat_acknowledge_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.97 Repeat_tie_engraver

Create repeat ties.

Music types accepted:

repeat-tie-event

This engraver creates the following layout object(s):

RepeatTie and RepeatTieColumn.

Repeat_tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Rest_collision_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.99 Rest_engraver

Engrave rests.

Music types accepted:

rest-event

Properties (read)

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

This engraver creates the following layout object(s):

Rest.

Rest_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.100 Rhythmic_column_engraver

Generate NoteColumn, an object that groups stems, note heads, and rests.

This engraver creates the following layout object(s):

NoteColumn.

Rhythmic_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.101 Script_column_engraver

Find potentially colliding scripts and put them into a ScriptColumn object; that will fix the collisions.

This engraver creates the following layout object(s):

ScriptColumn.

Script_column_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.102 Script_engraver

Handle note scripted articulations.

Music types accepted:

articulation-event

Properties (read)

scriptDefinitions (list)

The description of scripts. This is used by the Script_engraver for typesetting note-superscripts and subscripts. See ‘scm/script.scm’ for more information.

This engraver creates the following layout object(s):

Script.

Script_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.103 Script_row_engraver

Determine order in horizontal side position elements.

This engraver creates the following layout object(s):

ScriptRow.

Script_row_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Separating_line_group_engraver is part of the following context(s): ChordNames, DrumStaff, FiguredBass, FretBoards, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, NoteNames, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.105 Slash_repeat_engraver

Make beat repeats.

Music types accepted:

repeat-slash-event

This engraver creates the following layout object(s):

DoubleRepeatSlash and RepeatSlash.

Slash_repeat_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.106 Slur_engraver

Build slur grobs from slur events.

Music types accepted:

note-event and slur-event

Properties (read)

doubleSlurs (boolean)

If set, two slurs are created for every slurred note, one above and one below the chord.

slurMelismaBusy (boolean)

Signal if a slur is present.

This engraver creates the following layout object(s):

Slur.

Slur_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, NullVoice, PetrucciVoice, TabVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.107 Slur_performer

Music types accepted:

slur-event

Slur_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.108 Spacing_engraver

Make a SpacingSpanner and do bookkeeping of shortest starting and playing notes.

Music types accepted:

spacing-section-event

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

proportionalNotationDuration (moment)

Global override for shortest-playing duration. This is used for switching on proportional notation.

This engraver creates the following layout object(s):

SpacingSpanner.

Spacing_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.109 Span_arpeggio_engraver

Make arpeggios that span multiple staves.

Properties (read)

connectArpeggios (boolean)

If set, connect arpeggios across piano staff.

This engraver creates the following layout object(s):

Arpeggio.

Span_arpeggio_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.110 Span_bar_engraver

Make cross-staff bar lines: It catches all normal bar lines and draws a single span bar across them.

This engraver creates the following layout object(s):

SpanBar.

Span_bar_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.111 Span_bar_stub_engraver

Make stubs for span bars in all contexts that the span bars cross.

This engraver creates the following layout object(s):

SpanBarStub.

Span_bar_stub_engraver is part of the following context(s): GrandStaff, PianoStaff and StaffGroup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.112 Span_stem_engraver

Connect cross-staff stems to the stems above in the system

This engraver creates the following layout object(s):

Stem.

Span_stem_engraver is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.113 Spanner_break_forbid_engraver

Forbid breaks in certain spanners.

Spanner_break_forbid_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Staff_collecting_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, Score, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.115 Staff_performer

Staff_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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

Staff_symbol_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, KievanStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff, TabStaff and VaticanaStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.117 Stanza_number_align_engraver

This engraver ensures that stanza numbers are neatly aligned.

Stanza_number_align_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.118 Stanza_number_engraver

Engrave stanza numbers.

Properties (read)

stanza (markup)

Stanza ‘number’ to print before the start of a verse. Use in Lyrics context.

This engraver creates the following layout object(s):

StanzaNumber.

Stanza_number_engraver is part of the following context(s): Lyrics.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.119 Stem_engraver

Create stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.

Music types accepted:

tremolo-event and tuplet-span-event

Properties (read)

stemLeftBeamCount (integer)

Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.

stemRightBeamCount (integer)

See stemLeftBeamCount.

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 ‘scm/bar-line.scm’.

This engraver creates the following layout object(s):

Flag, Stem, StemStub and StemTremolo.

Stem_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.120 System_start_delimiter_engraver

Create a system start delimiter (i.e., a SystemStartBar, SystemStartBrace, SystemStartBracket or SystemStartSquare spanner).

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

systemStartDelimiter (symbol)

Which grob to make for the start of the system/staff? Set to SystemStartBrace, SystemStartBracket or SystemStartBar.

systemStartDelimiterHierarchy (pair)

A nested list, indicating the nesting of a start delimiters.

This engraver creates the following layout object(s):

SystemStartBar, SystemStartBrace, SystemStartBracket and SystemStartSquare.

System_start_delimiter_engraver is part of the following context(s): ChoirStaff, GrandStaff, PianoStaff, Score and StaffGroup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.121 Tab_note_heads_engraver

Generate one or more tablature note heads from event of type NoteEvent.

Music types accepted:

fingering-event, note-event and string-number-event

Properties (read)

defaultStrings (list)

A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.

fretLabels (list)

A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.

highStringOne (boolean)

Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.

maximumFretStretch (number)

Don’t allocate frets further than this from specified frets.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

minimumFret (number)

The tablature auto string-selecting mechanism selects the highest string with a fret at least minimumFret.

noteToFretFunction (procedure)

Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.

stringOneTopmost (boolean)

Whether the first string is printed on the top line of the tablature.

stringTunings (list)

The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).

tablatureFormat (procedure)

A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.

tabStaffLineLayoutFunction (procedure)

A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.

This engraver creates the following layout object(s):

TabNoteHead.

Tab_note_heads_engraver is part of the following context(s): TabVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.122 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 pitches of each string (starting with the lowest numbered one).

This engraver creates the following layout object(s):

StaffSymbol.

Tab_staff_symbol_engraver is part of the following context(s): TabStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.123 Tab_tie_follow_engraver

Adjust TabNoteHead properties when a tie is followed by a slur or glissando.

Tab_tie_follow_engraver is part of the following context(s): TabVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.124 Tempo_performer

Properties (read)

tempoWholesPerMinute (moment)

The tempo in whole notes per minute.

Tempo_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.125 Text_engraver

Create text scripts.

Music types accepted:

text-script-event

This engraver creates the following layout object(s):

TextScript.

Text_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.126 Text_spanner_engraver

Create text spanner from an event.

Music types accepted:

text-span-event

Properties (read)

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

This engraver creates the following layout object(s):

TextSpanner.

Text_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, Dynamics, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.127 Tie_engraver

Generate ties between note heads of equal pitch.

Music types accepted:

tie-event

Properties (read)

skipTypesetting (boolean)

If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

tieWaitForNote (boolean)

If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

Properties (write)

tieMelismaBusy (boolean)

Signal whether a tie is present.

This engraver creates the following layout object(s):

Tie and TieColumn.

Tie_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, NoteNames, NullVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.128 Tie_performer

Generate ties between note heads of equal pitch.

Music types accepted:

tie-event

Properties (read)

tieWaitForNote (boolean)

If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

Properties (write)

tieMelismaBusy (boolean)

Signal whether a tie is present.

Tie_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.129 Time_signature_engraver

Create a TimeSignature whenever timeSignatureFraction changes.

Music types accepted:

time-signature-event

Properties (read)

initialTimeSignatureVisibility (vector)

break visibility for the initial time signature.

partialBusy (boolean)

Signal that \partial acts at the current timestep.

timeSignatureFraction (fraction, as pair)

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.

Time_signature_engraver is part of the following context(s): DrumStaff, GregorianTranscriptionStaff, MensuralStaff, PetrucciStaff, RhythmicStaff, Staff and TabStaff.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.130 Time_signature_performer

Time_signature_performer is not part of any context.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.131 Timing_translator

This engraver adds the alias Timing to its containing context. Responsible for synchronizing timing information from staves. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.

Properties (read)

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

timeSignatureFraction (fraction, as pair)

A pair of numbers, signifying the time signature. For example, '(4 . 4) is a 4/4 time signature.

Properties (write)

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

timeSignatureFraction (fraction, as pair)

A pair of numbers, signifying the time signature. For example, '(4 . 4) is a 4/4 time signature.

Timing_translator is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.132 Trill_spanner_engraver

Create trill spanner from an event.

Music types accepted:

trill-span-event

Properties (read)

currentCommandColumn (graphical (layout) object)

Grob that is X-parent to all current breakable (clef, key signature, etc.) items.

currentMusicalColumn (graphical (layout) object)

Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).

This engraver creates the following layout object(s):

TrillSpanner.

Trill_spanner_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.133 Tuplet_engraver

Catch tuplet events and generate appropriate bracket.

Music types accepted:

tuplet-span-event

Properties (read)

tupletFullLength (boolean)

If set, the tuplet is printed up to the start of the next note.

tupletFullLengthNote (boolean)

If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.

This engraver creates the following layout object(s):

TupletBracket and TupletNumber.

Tuplet_engraver is part of the following context(s): CueVoice, DrumVoice, GregorianTranscriptionVoice, KievanVoice, MensuralVoice, PetrucciVoice, TabVoice, VaticanaVoice and Voice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.134 Tweak_engraver

Read the tweaks property from the originating event, and set properties.

Tweak_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.135 Vaticana_ligature_engraver

Handle ligatures by glueing special ligature heads together.

Music types accepted:

ligature-event and pes-or-flexa-event

This engraver creates the following layout object(s):

DotColumn and VaticanaLigature.

Vaticana_ligature_engraver is part of the following context(s): VaticanaVoice.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.136 Vertical_align_engraver

Catch groups (staves, lyrics lines, etc.) and stack them vertically.

Properties (read)

alignAboveContext (string)

Where to insert newly created context in vertical alignment.

alignBelowContext (string)

Where to insert newly created context in vertical alignment.

hasAxisGroup (boolean)

True if the current context is contained in an axis group.

This engraver creates the following layout object(s):

VerticalAlignment.

Vertical_align_engraver is part of the following context(s): ChoirStaff, GrandStaff, PianoStaff, Score and StaffGroup.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2.137 Volta_engraver

Make volta brackets.

Properties (read)

repeatCommands (list)

This property is a list of commands of the form (list 'volta x), where x is a string or #f. 'end-repeat is also accepted as a command.

stavesFound (list of grobs)

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

This engraver creates the following layout object(s):

VoltaBracket and VoltaBracketSpanner.

Volta_engraver is part of the following context(s): Score.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by gub on July 13, 2020 using texi2html 1.82.