[icon]

GNU LilyPond

Welcome to the home of the GNU Music Typesetter

Home
Development
WikiWikiWeb
GNU Project
Translations
LilyPond dot org

Documentation
Change Log
Small FAQ
Full FAQ
User manual
Regression Test
To do

Download Source
Stable
Development

Download Binary
RedHat i386
LinuxPPC
Debian Stable
Debian Unstable
Windows Stable
Windows Unstable

Music
Short examples
Longer examples
Mutopia Project
Other URLs

Mailing Lists
Discussion
Help
Bugs
Announcements


LilyPond internals

Table of Contents


LilyPond interpretation contexts


ChoirStaff

Identical to StaffGroup except that the contained staffs are not connected vertically.

This context creates the following grobs: SystemStartDelimiter.

Context ChoirStaff can contain ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and Staff

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none


ChordNames

Typesets chord names. Can contain ChordNamesVoice contexts.

This context creates the following grobs: VerticalAxisGroup.

Context ChordNames can contain ChordNamesVoice

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


ChordNamesVoice

A voice with chord names. Handles printing of a line of chord names.

This context creates the following grobs: ChordName, SeparatingGroupSpanner, SeparationItem and VerticalAxisGroup.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Chord_name_engraver

Catch Note_req's, Tonic_reqs, Inversion_reqs, Bass_req and generate the appropriate chordname.

Properties


chordChanges (boolean):
Only generate chords if they change.
This engraver creates the following grobs: ChordName.

Chord_name_engraver is part of contexts: none

Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


Grace

The context for handling grace notes. It is instantiated automatically when you use grace. Basically, it is an `embedded' miniature of the Score context. Since this context needs special interaction with the rest of LilyPond, you should not explicitly instantiate it.

This context creates the following grobs: Accidentals, Beam, Dots, DynamicLineSpanner, DynamicText, GraceAlignment, Hairpin, NoteColumn, NoteHead, Slur, StemTremolo, Stem, TextScript and TextSpanner.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Grace_engraver_group

An engraver that creates a `shielded' context-tree with separate notion of time

Grace_engraver_group is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Text_engraver

Create text-scripts

Properties


scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
textNonEmpty (boolean):
If set to true then text placed above or below the staff is not assumed to have zero width. atText and emptyText are predefined settings. .
This engraver creates the following grobs: TextScript.

Text_engraver is part of contexts: none

Dynamic_engraver

This engraver creates the following grobs: DynamicLineSpanner, DynamicText, Hairpin and TextSpanner.

Dynamic_engraver is part of contexts: none

Rhythmic_column_engraver

Generates NoteColumn, an objects that groups stems, noteheads and rests.

This engraver creates the following grobs: NoteColumn.

Rhythmic_column_engraver is part of contexts: none

Align_note_column_engraver

Generate object to put grace notes from left to right.

Properties


graceAlignPosition (direction):
put the grace note before or after the main note?
graceAccidentalSpace (number):
amount space to alot for an accidental
This engraver creates the following grobs: GraceAlignment.

Align_note_column_engraver is part of contexts: none

Auto_beam_engraver

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

Properties


noAutoBeaming (boolean):
If set to true then beams are not generated automatically.
autoBeamSettings (list):
Specifies when automatically generated beams should begin and end. The elements have the format:
   function shortest-duration-in-beam time-signature

where

    function = begin or end
    shortest-duration-in-beam = numerator denominator; eg: 1 16
    time-signature = numerator denominator, eg: 4 4

unspecified or wildcard entries for duration or time-signature
are given by * *

The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:

    property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)

The head of the list:
    '(
((end * * 3 2) . ,(make-moment 1 2))
((end 1 16 3 2) . ,(make-moment 1 4))
((end 1 32 3 2) . ,(make-moment 1 8))
     ...
    )

This engraver creates the following grobs: Beam.

Auto_beam_engraver is part of contexts: none

Slur_engraver

Build slurs from Slur_reqs

Properties


slurBeginAttachment (symbol):
translates to the car of grob-property 'attachment of NoteColumn. See Slur.
slurEndAttachment (symbol):
translates to the cdr of grob-property 'attachment of NoteColumn. See Slur.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
This engraver creates the following grobs: Slur.

Slur_engraver is part of contexts: none

Beam_engraver

Handles Beam_requests by engraving Beams. If omitted, then notes will be printed with flags instead of beams.

Properties


beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set
This engraver creates the following grobs: Beam.

Beam_engraver is part of contexts: none

Stem_engraver

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

Properties


tremoloFlags (integer):
Number of tremolo flags to add if none is specified.
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):
idem, for the right side.
This engraver creates the following grobs: Stem and StemTremolo.

Stem_engraver is part of contexts: none

Local_key_engraver

Make accidentals. Catches note heads, ties and notices key-change events. Due to interaction with ties (which don't come together with note heads), this needs to be in a context higher than Tie_engraver. (FIXME).

Properties


localKeySignature (list):
the key signature at this point in the measure. The format is an alist with entries of the form (NAME . ALTER) or ((OCTAVE . NAME) . ALTER), where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
forgetAccidentals (boolean):
do not set localKeySignature when a note alterated differently from localKeySignature is found.

Causes accidentals to be printed at every note instead of remembered for the duration of a measure.

noResetKey (boolean):
Do not reset local key to the value of keySignature at the start of a measure, as determined by measurePosition.

Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later.

This engraver creates the following grobs: Accidentals.

Local_key_engraver is part of contexts: none

Note_heads_engraver

Generate one or more noteheads from Music of type Note_req.

This engraver creates the following grobs: Dots and NoteHead.

Note_heads_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none


GrandStaff

Contains Staff or RhythmicStaff contexts. It adds a brace on the left side, grouping the staffs together. The bar lines of the contained staffs are connected vertically. It can contain Staff contexts.

This context creates the following grobs: Arpeggio, SpanBar and SystemStartDelimiter.

Context GrandStaff can contain Staff

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none

Span_arpeggio_engraver

Properties


connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: none

Span_bar_engraver

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

This engraver creates the following grobs: SpanBar.

Span_bar_engraver is part of contexts: none


Lyrics

Typesets lyrics. It can contain LyricsVoice contexts.

This context creates the following grobs: VerticalAlignment and VerticalAxisGroup.

Context Lyrics can contain LyricsVoice

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Vertical_align_engraver

Catch Vertical axis groups and stack them.

This engraver creates the following grobs: VerticalAlignment.

Vertical_align_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


LyricsVoice

Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.

This context creates the following grobs: LyricExtender, LyricHyphen, SeparatingGroupSpanner, SeparationItem, StanzaNumber and VerticalAxisGroup.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Stanza_number_engraver

Properties


stz (string):
Abbreviated form for a stanza, see also Stanza property.
stanza (string):
Stanza `number' to print at start of a verse. Use in LyricsVoice context.
This engraver creates the following grobs: StanzaNumber.

Stanza_number_engraver is part of contexts: none

Hyphen_engraver

Create lyric hyphens

This engraver creates the following grobs: LyricHyphen.

Hyphen_engraver is part of contexts: none

Extender_engraver

Create lyric extenders

This engraver creates the following grobs: LyricExtender.

Extender_engraver is part of contexts: none

Lyric_engraver

Lyric_engraver is part of contexts: none

Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


NoteNames

This context creates the following grobs: NoteName, SeparatingGroupSpanner, SeparationItem and VerticalAxisGroup.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none

Note_name_engraver

This engraver creates the following grobs: NoteName.

Note_name_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


PianoStaff

Just like GrandStaff but with minVerticalAlign set equal to maxVerticalAlign so that interstaff beaming and slurring can be used.

This context creates the following grobs: Arpeggio, SpanBar, SystemStartDelimiter and VerticalAlignment.

Context PianoStaff can contain Staff

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Vertical_align_engraver

Catch Vertical axis groups and stack them.

This engraver creates the following grobs: VerticalAlignment.

Vertical_align_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none

Span_arpeggio_engraver

Properties


connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: none

Span_bar_engraver

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

This engraver creates the following grobs: SpanBar.

Span_bar_engraver is part of contexts: none


RhythmicStaff

A context like Staff but for printing rhythms. Pitches are ignored; the notes are printed on one line. It can contain Voice contexts.

This context creates the following grobs: BarLine, SeparatingGroupSpanner, SeparationItem, StaffSymbol, TimeSignature, VerticalAxisGroup and VoltaBracket.

Context RhythmicStaff can contain Voice

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Staff_symbol_engraver

create the constellation of five (default) staff lines.

This engraver creates the following grobs: StaffSymbol.

Staff_symbol_engraver is part of contexts: none

Time_signature_engraver

Create a TimeSignature whenever timeSignatureFraction changes

This engraver creates the following grobs: TimeSignature.

Time_signature_engraver is part of contexts: none

Bar_engraver

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

Properties


whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

staffsFound (list):
list of all staff-symbols found.
This engraver creates the following grobs: BarLine.

Bar_engraver is part of contexts: none

Volta_engraver

Make volta brackets

Properties


repeatCommands (list):

voltaSpannerDuration (moment):
maximum duration of the volta bracket.

Set to a duration to control the size of the brackets printed by \alternative. It specifies the number of whole notes duration to use for the brackets. This can be used to shrink the length of brackets in the situation where one alternative is very large. It may have odd effects if the specified duration is longer than the music given in an \alternative. .

This engraver creates the following grobs: VoltaBracket.

Volta_engraver is part of contexts: none

Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none

Pitch_squash_engraver

Treat all pitches as middle C. Note that the notes move, but the locations of accidentals stay the same. Set the position field of all note heads to zero. This useful for making a single line staff that demonstrates the rhythm of a melody.

Properties


squashedPosition (integer):
Vertical position of squashing for Pitch_squash_engraver.

Pitch_squash_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


Score

This is the top level notation context. No other context can contain a Score context. This context handles the administration of time signatures. It also makes sure that items such as clefs, time signatures, and key-signatures are aligned across staffs. It can contain Lyrics, Staff, RhythmicStaff, GrandStaff, StaffGroup, and ChoirStaff contexts.

You cannot explicitly instantiate a Score context (since it is not contained in any other context). It is instantiated automatically when an output definition (a score or paper block) is processed.

This context creates the following grobs: Arpeggio, BarNumber, BreakAlignGroup, BreakAlignment, LeftEdge, LineOfScore, NonMusicalPaperColumn, PaperColumn, RehearsalMark, SpacingSpanner, SystemStartDelimiter and VerticalAlignment.

Context Score can contain NoteNames, PianoStaff, ChoirStaff, GrandStaff, ChordNames, Lyrics, RhythmicStaff, StaffGroup and Staff

This context is built from the following engravers:

Score_engraver

Top level engraver. Takes care of generating columns and the complete system (ie. LineOfScore)

This engraver decides whether a column is breakable. The default is that a column is always breakable. However, when every Bar_engraver that does not have a barline at a certain point will call Score_engraver::forbid_breaks to stop linebreaks. In practice, this means that you can make a breakpoint by creating a barline (assuming that there are no beams or notes that prevent a breakpoint.)

Properties


currentMusicalColumn (Grob):
Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn (Grob):
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following grobs: LineOfScore, NonMusicalPaperColumn and PaperColumn.

Score_engraver is part of contexts: none

Span_arpeggio_engraver

Properties


connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: none

Bar_number_engraver

A bar number is created whenever measurePosition is zero. It is put on top of all staffs, and appears only at left side of the staff.

Properties


currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.
This engraver creates the following grobs: BarNumber.

Bar_number_engraver is part of contexts: none

Lyric_phrasing_engraver

Properties


automaticPhrasing (boolean):
If set, the Lyric_phrasing_engraver will match note heads of context called Voice X to syllables from LyricsVoice called X-<something>. This feature is turned on by default. See the example file lyrics-multi-stanza.ly.
weAreGraceContext (boolean):
.
melismaEngraverBusy (boolean):
See (lilypond)melismaBusy. This is set automatically.
associatedVoice (string):
Name of the Voice that has the melody for this LyricsVoice.
phrasingPunctuation (string):

Lyric_phrasing_engraver is part of contexts: none

Vertical_align_engraver

Catch Vertical axis groups and stack them.

This engraver creates the following grobs: VerticalAlignment.

Vertical_align_engraver is part of contexts: none

Spacing_engraver

make a SpacingSpanner and do bookkeeping of shortest starting and playing notes

This engraver creates the following grobs: SpacingSpanner.

Spacing_engraver is part of contexts: none

Break_align_engraver

Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder

Properties


breakAlignOrder (list):
Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines:
	\property Score.breakAlignOrder = #'(
	  Span_bar
	  Breathing_sign
	  Clef_item
	  Staff_bar
	  Key_item
	  Time_signature
	)
This engraver creates the following grobs: BreakAlignGroup, BreakAlignment and LeftEdge.

Break_align_engraver is part of contexts: none

Mark_engraver

Properties


rehearsalMark (number or string):

staffsFound (list):
list of all staff-symbols found.
This engraver creates the following grobs: RehearsalMark.

Mark_engraver is part of contexts: none

System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Timing_engraver

Responsible for synchronizing timing information from staffs. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.

Properties


timeSignatureFraction (pair of numbers):
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.
barCheckNoSynchronize (boolean):
If set, don't reset measurePosition when finding a bbarcheck. This makes bar-checks for polyphonic music easier.
barNonAuto (boolean):
If set to true then bar lines will not be printed automatically; they must be explicitly created with bar keywords. Unlike with the cadenza keyword, measures are still counted. Bar generation will resume according to that count if this property is set to zero.
whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

barAlways (boolean):
If set to true a bar line is drawn after each note.
defaultBarType (string):
Sets the default type of bar line. Available bar types: [FIXME];

This variable is typically read at Score level, so overriding Staff.defaultBarType will have no effect.

skipBars (boolean):
Set to true to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
@lilypond[fragment,verbatim,center]
r1 r1*3 R1*3  \\property Score.skipBars= ##t r1*3 R1*3

@end lilypond

timing (boolean):
Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.
oneBeat (moment):
How long does one beat in the current time signature last?
measureLength (moment):
Length of one measure in the current time signature last?
measurePosition (moment):
How much of the current measure (measured in whole notes) have we had. This can be set manually to create incomplete measures (anacrusis, upbeat), the start of the music.
currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.

Timing_engraver is part of contexts: none

Repeat_acknowledge_engraver

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

Properties


repeatCommands (list):

whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

Repeat_acknowledge_engraver is part of contexts: none


Staff

Handles clefs, bar lines, keys, accidentals. It can contain Voice contexts.

This context creates the following grobs: Accidentals, BarLine, Clef, KeySignature, MultiMeasureRest, NoteCollision, OctavateEight, RestCollision, SeparatingGroupSpanner, SeparationItem, SostenutoPedal, StaffSymbol, SustainPedal, TimeSignature, UnaChordaPedal, VerticalAxisGroup and VoltaBracket.

Context Staff can contain Voice

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Piano_pedal_engraver

Engrave piano pedal symbols.

Properties


pedalSostenutoStrings (string):
see pedalSustainStrings.
pedalSustainStrings (list):
List of string to print for sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is the string to print when this is done with the pedal.
pedalUnaChordaStrings (string):
see pedalSustainStrings.
This engraver creates the following grobs: SostenutoPedal, SustainPedal and UnaChordaPedal.

Piano_pedal_engraver is part of contexts: none

Local_key_engraver

Make accidentals. Catches note heads, ties and notices key-change events. Due to interaction with ties (which don't come together with note heads), this needs to be in a context higher than Tie_engraver. (FIXME).

Properties


localKeySignature (list):
the key signature at this point in the measure. The format is an alist with entries of the form (NAME . ALTER) or ((OCTAVE . NAME) . ALTER), where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
forgetAccidentals (boolean):
do not set localKeySignature when a note alterated differently from localKeySignature is found.

Causes accidentals to be printed at every note instead of remembered for the duration of a measure.

noResetKey (boolean):
Do not reset local key to the value of keySignature at the start of a measure, as determined by measurePosition.

Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later.

This engraver creates the following grobs: Accidentals.

Local_key_engraver is part of contexts: none

Rest_collision_engraver

Handles collisions of rests.

This engraver creates the following grobs: RestCollision.

Rest_collision_engraver is part of contexts: none

Collision_engraver

This engraver creates the following grobs: NoteCollision.

Collision_engraver is part of contexts: none

Staff_symbol_engraver

create the constellation of five (default) staff lines.

This engraver creates the following grobs: StaffSymbol.

Staff_symbol_engraver is part of contexts: none

Time_signature_engraver

Create a TimeSignature whenever timeSignatureFraction changes

This engraver creates the following grobs: TimeSignature.

Time_signature_engraver is part of contexts: none

Key_engraver

Properties


keySignature (list):
The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
keyOctaviation (boolean):

explicitKeySignatureVisibility (procedure):
visibility-lambda function for explicit Key changes.
createKeyOnClefChange (boolean):
Print a key signature whenever the clef is changed.
keyAccidentalOrder (list):
Alist that defines in what order alterations should be printed. The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1.
keySignature (list):
The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
This engraver creates the following grobs: KeySignature.

Key_engraver is part of contexts: none

Clef_engraver

Determine and set reference point for pitches

Properties


clefPosition (number):
Where should the center of the symbol go?
clefGlyph (string):
Name of the symbol within the music font
centralCPosition (number):
Place of the central C. Usually determined by looking at clefPosition and clefGlyph.
clefOctavation (integer):
Add this much extra octavation. Values of 7 and -7 are common.
explicitClefVisibility (procedure):
visibility-lambda function for clef changes.
clefPitches (list):
an alist mapping GLYPHNAME to the position of the central C for that symbol
This engraver creates the following grobs: Clef and OctavateEight.

Clef_engraver is part of contexts: none

Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none

Volta_engraver

Make volta brackets

Properties


repeatCommands (list):

voltaSpannerDuration (moment):
maximum duration of the volta bracket.

Set to a duration to control the size of the brackets printed by \alternative. It specifies the number of whole notes duration to use for the brackets. This can be used to shrink the length of brackets in the situation where one alternative is very large. It may have odd effects if the specified duration is longer than the music given in an \alternative. .

This engraver creates the following grobs: VoltaBracket.

Volta_engraver is part of contexts: none

Bar_engraver

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

Properties


whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

staffsFound (list):
list of all staff-symbols found.
This engraver creates the following grobs: BarLine.

Bar_engraver is part of contexts: none

Multi_measure_rest_engraver

Engraves multi-measure rests that are produced with R. Reads measurePosition and currentBarNumber to determine what number to print over the MultiMeasureRest

This engraver creates the following grobs: MultiMeasureRest.

Multi_measure_rest_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


StaffGroup

Contains Staff or RhythmicStaff contexts. Adds a bracket on the left side, grouping the staffs together. The bar lines of the contained staffs are connected vertically. It can contain Staff, RhythmicStaff, GrandStaff, or Lyrics contexts.

This context creates the following grobs: Arpeggio, SpanBar and SystemStartDelimiter.

Context StaffGroup can contain ChordNames, Lyrics, PianoStaff, GrandStaff, RhythmicStaff and Staff

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Span_arpeggio_engraver

Properties


connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: none

Span_bar_engraver

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

This engraver creates the following grobs: SpanBar.

Span_bar_engraver is part of contexts: none


Thread

Handles note heads, and is contained in the Voice context. You have to instantiate this explicitly if you want to adjust the style of individual note heads.

This context creates the following grobs: Dots, FollowThread, Glissando and NoteHead.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none

Note_head_line_engraver

Engrave a line between two note heads, for example a glissando. If followThread is set, staff switches also generate a line.

Properties


followThread (boolean):
if set, note heads are tracked across staff switches by a thin line
This engraver creates the following grobs: FollowThread and Glissando.

Note_head_line_engraver is part of contexts: none

Note_heads_engraver

Generate one or more noteheads from Music of type Note_req.

This engraver creates the following grobs: Dots and NoteHead.

Note_heads_engraver is part of contexts: none

Thread_devnull_engraver

Kill elements whenever we are Voice called `two' and either unison, unisilence or soloADue is set

Thread_devnull_engraver is part of contexts: none


Voice

Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties, and rests.

You have to instantiate this explicitly if you want to have multiple voices on the same staff.

This context creates the following grobs: Arpeggio, Beam, BreathingSign, DotColumn, Dots, DynamicLineSpanner, DynamicText, Hairpin, NoteColumn, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TextScript, TextSpanner, TieColumn, Tie and TupletBracket.

Context Voice can contain Grace and Thread

This context is built from the following engravers:

Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none

Skip_req_swallow_translator

Skip_req_swallow_translator is part of contexts: none

Grace_position_engraver

Attach a grace note alignment to a note-column

Grace_position_engraver is part of contexts: none

Tuplet_engraver

Catch Time_scaled_music and generate appropriate bracket

Properties


tupletSpannerDuration (moment):
Normally a tuplet bracket is as wide as the imes expression that gave rise to it. By setting this property, you can make brackets last shorter. Example
@lilypond[verbatim,fragment]
context Voice 	imes 2/3 {
  property Voice.tupletSpannerDuration = #(make-moment 1 4)
  [c8 c c] [c c c]
}
@end lilypond
.
tupletInvisible (boolean):
If set to true, tuplet bracket creation is switched off entirely. This has the same effect as setting both tupletNumberVisibility and tupletBracketVisibility to #f, but as this does not even create any grobs, this setting uses less memory and time.
This engraver creates the following grobs: TupletBracket.

Tuplet_engraver is part of contexts: none

Tie_engraver

Generate ties between noteheads of equal pitch.

Properties


sparseTies (boolean):
only create one tie per chord.
tieMelismaBusy (boolean):
Signal ties when automaticMelismata is set.
This engraver creates the following grobs: Tie and TieColumn.

Tie_engraver is part of contexts: none

Slur_engraver

Build slurs from Slur_reqs

Properties


slurBeginAttachment (symbol):
translates to the car of grob-property 'attachment of NoteColumn. See Slur.
slurEndAttachment (symbol):
translates to the cdr of grob-property 'attachment of NoteColumn. See Slur.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
This engraver creates the following grobs: Slur.

Slur_engraver is part of contexts: none

Rhythmic_column_engraver

Generates NoteColumn, an objects that groups stems, noteheads and rests.

This engraver creates the following grobs: NoteColumn.

Rhythmic_column_engraver is part of contexts: none

Script_column_engraver

This engraver creates the following grobs: ScriptColumn.

Script_column_engraver is part of contexts: none

Script_engraver

Handles note ornaments generated by script.

Properties


scriptDefinitions (list):
Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
This engraver creates the following grobs: Script.

Script_engraver is part of contexts: none

Voice_devnull_engraver

Kill off certain items and spanners if we're Voice `two' and unison or unisilence is set.

Voice_devnull_engraver is part of contexts: none

A2_engraver

Part combine engraver for orchestral scores.

Properties


combineParts (boolean):
try to combine parts?
soloADue (boolean):
set Solo/A due texts in the part combiner?.
soloText (string):
text for begin of solo when part-combining.
soloIIText (string):
text for begin of solo for voice "two" when part-combining.
aDueText (string):
text for begin of a due
split-interval (boolean):
set if part-combiner separated voices based on splitInterval.
unison (boolean):
set if unisono is detected by the part combiner. .
solo (boolean):
set if solo is detected by the part combiner.
unisilence (boolean):
set if unisilence is detected by the part combiner.
unirhythm (boolean):
set if unirhythm is detected by the part combiner.
This engraver creates the following grobs: TextScript.

A2_engraver is part of contexts: none

Text_engraver

Create text-scripts

Properties


scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
textNonEmpty (boolean):
If set to true then text placed above or below the staff is not assumed to have zero width. atText and emptyText are predefined settings. .
This engraver creates the following grobs: TextScript.

Text_engraver is part of contexts: none

Melisma_engraver

Properties


melismaBusy (boolean):
Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
tieMelismaBusy (boolean):
Signal ties when automaticMelismata is set.
beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set

Melisma_engraver is part of contexts: none

Chord_tremolo_engraver

Generates beams for the epeat X tremolo ... construct

This engraver creates the following grobs: Beam.

Chord_tremolo_engraver is part of contexts: none

Auto_beam_engraver

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

Properties


noAutoBeaming (boolean):
If set to true then beams are not generated automatically.
autoBeamSettings (list):
Specifies when automatically generated beams should begin and end. The elements have the format:
   function shortest-duration-in-beam time-signature

where

    function = begin or end
    shortest-duration-in-beam = numerator denominator; eg: 1 16
    time-signature = numerator denominator, eg: 4 4

unspecified or wildcard entries for duration or time-signature
are given by * *

The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:

    property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)

The head of the list:
    '(
((end * * 3 2) . ,(make-moment 1 2))
((end 1 16 3 2) . ,(make-moment 1 4))
((end 1 32 3 2) . ,(make-moment 1 8))
     ...
    )

This engraver creates the following grobs: Beam.

Auto_beam_engraver is part of contexts: none

Beam_engraver

Handles Beam_requests by engraving Beams. If omitted, then notes will be printed with flags instead of beams.

Properties


beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set
This engraver creates the following grobs: Beam.

Beam_engraver is part of contexts: none

Stem_engraver

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

Properties


tremoloFlags (integer):
Number of tremolo flags to add if none is specified.
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):
idem, for the right side.
This engraver creates the following grobs: Stem and StemTremolo.

Stem_engraver is part of contexts: none

Dot_column_engraver

Engraves dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.

This engraver creates the following grobs: DotColumn.

Dot_column_engraver is part of contexts: none

Rest_engraver

This engraver creates the following grobs: Dots and Rest.

Rest_engraver is part of contexts: none

Breathing_sign_engraver

This engraver creates the following grobs: BreathingSign.

Breathing_sign_engraver is part of contexts: none

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none

Text_spanner_engraver

Create text spanner from a Span_req

This engraver creates the following grobs: TextSpanner.

Text_spanner_engraver is part of contexts: none

Dynamic_engraver

This engraver creates the following grobs: DynamicLineSpanner, DynamicText, Hairpin and TextSpanner.

Dynamic_engraver is part of contexts: none

Arpeggio_engraver

Generate an Arpeggio from a Arpeggio_req

This engraver creates the following grobs: Arpeggio.

Arpeggio_engraver is part of contexts: none

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none


LilyPond engravers


A2_engraver

Part combine engraver for orchestral scores.

Properties


combineParts (boolean):
try to combine parts?
soloADue (boolean):
set Solo/A due texts in the part combiner?.
soloText (string):
text for begin of solo when part-combining.
soloIIText (string):
text for begin of solo for voice "two" when part-combining.
aDueText (string):
text for begin of a due
split-interval (boolean):
set if part-combiner separated voices based on splitInterval.
unison (boolean):
set if unisono is detected by the part combiner. .
solo (boolean):
set if solo is detected by the part combiner.
unisilence (boolean):
set if unisilence is detected by the part combiner.
unirhythm (boolean):
set if unirhythm is detected by the part combiner.
This engraver creates the following grobs: TextScript.

A2_engraver is part of contexts: none


Align_note_column_engraver

Generate object to put grace notes from left to right.

Properties


graceAlignPosition (direction):
put the grace note before or after the main note?
graceAccidentalSpace (number):
amount space to alot for an accidental
This engraver creates the following grobs: GraceAlignment.

Align_note_column_engraver is part of contexts: none


Arpeggio_engraver

Generate an Arpeggio from a Arpeggio_req

This engraver creates the following grobs: Arpeggio.

Arpeggio_engraver is part of contexts: none


Auto_beam_engraver

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

Properties


noAutoBeaming (boolean):
If set to true then beams are not generated automatically.
autoBeamSettings (list):
Specifies when automatically generated beams should begin and end. The elements have the format:
   function shortest-duration-in-beam time-signature

where

    function = begin or end
    shortest-duration-in-beam = numerator denominator; eg: 1 16
    time-signature = numerator denominator, eg: 4 4

unspecified or wildcard entries for duration or time-signature
are given by * *

The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:

    property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)

The head of the list:
    '(
((end * * 3 2) . ,(make-moment 1 2))
((end 1 16 3 2) . ,(make-moment 1 4))
((end 1 32 3 2) . ,(make-moment 1 8))
     ...
    )

This engraver creates the following grobs: Beam.

Auto_beam_engraver is part of contexts: none


Axis_group_engraver

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

Properties


CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
This engraver creates the following grobs: VerticalAxisGroup.

Axis_group_engraver is part of contexts: none


Bar_engraver

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

Properties


whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

staffsFound (list):
list of all staff-symbols found.
This engraver creates the following grobs: BarLine.

Bar_engraver is part of contexts: none


Bar_number_engraver

A bar number is created whenever measurePosition is zero. It is put on top of all staffs, and appears only at left side of the staff.

Properties


currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.
This engraver creates the following grobs: BarNumber.

Bar_number_engraver is part of contexts: none


Beam_engraver

Handles Beam_requests by engraving Beams. If omitted, then notes will be printed with flags instead of beams.

Properties


beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set
This engraver creates the following grobs: Beam.

Beam_engraver is part of contexts: none


Break_align_engraver

Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder

Properties


breakAlignOrder (list):
Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines:
	\property Score.breakAlignOrder = #'(
	  Span_bar
	  Breathing_sign
	  Clef_item
	  Staff_bar
	  Key_item
	  Time_signature
	)
This engraver creates the following grobs: BreakAlignGroup, BreakAlignment and LeftEdge.

Break_align_engraver is part of contexts: none


Breathing_sign_engraver

This engraver creates the following grobs: BreathingSign.

Breathing_sign_engraver is part of contexts: none


Chord_name_engraver

Catch Note_req's, Tonic_reqs, Inversion_reqs, Bass_req and generate the appropriate chordname.

Properties


chordChanges (boolean):
Only generate chords if they change.
This engraver creates the following grobs: ChordName.

Chord_name_engraver is part of contexts: none


Chord_tremolo_engraver

Generates beams for the epeat X tremolo ... construct

This engraver creates the following grobs: Beam.

Chord_tremolo_engraver is part of contexts: none


Clef_engraver

Determine and set reference point for pitches

Properties


clefPosition (number):
Where should the center of the symbol go?
clefGlyph (string):
Name of the symbol within the music font
centralCPosition (number):
Place of the central C. Usually determined by looking at clefPosition and clefGlyph.
clefOctavation (integer):
Add this much extra octavation. Values of 7 and -7 are common.
explicitClefVisibility (procedure):
visibility-lambda function for clef changes.
clefPitches (list):
an alist mapping GLYPHNAME to the position of the central C for that symbol
This engraver creates the following grobs: Clef and OctavateEight.

Clef_engraver is part of contexts: none


Collision_engraver

This engraver creates the following grobs: NoteCollision.

Collision_engraver is part of contexts: none


Custos_engraver

This engraver creates the following grobs: Custos.

Custos_engraver is part of contexts: none


Dot_column_engraver

Engraves dots on dotted notes shifted to the right of the note. If omitted, then dots appear on top of the notes.

This engraver creates the following grobs: DotColumn.

Dot_column_engraver is part of contexts: none


Dynamic_engraver

This engraver creates the following grobs: DynamicLineSpanner, DynamicText, Hairpin and TextSpanner.

Dynamic_engraver is part of contexts: none


Engraver_group_engraver

A group of engravers taken together

Engraver_group_engraver is part of contexts: none


Extender_engraver

Create lyric extenders

This engraver creates the following grobs: LyricExtender.

Extender_engraver is part of contexts: none


Grace_engraver_group

An engraver that creates a `shielded' context-tree with separate notion of time

Grace_engraver_group is part of contexts: none


Grace_position_engraver

Attach a grace note alignment to a note-column

Grace_position_engraver is part of contexts: none


Hara_kiri_engraver

Like Axis_group_engraver, but make a hara kiri spanner, and add interesting items (ie. note heads, lyric syllables and normal rests)

This engraver creates the following grobs: HaraKiriVerticalGroup.

Hara_kiri_engraver is part of contexts: none


Hyphen_engraver

Create lyric hyphens

This engraver creates the following grobs: LyricHyphen.

Hyphen_engraver is part of contexts: none


Instrument_name_engraver

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

Properties


instrument (markup (list or string)):
If Instrument_name_engraver is added to the Staff translator, then the instrument property is used to label the first line of the staff and the instr property is used to label subsequent lines. If the midiInstrument property is not set, then instrument is used to determine the instrument for MIDI output.
instr (markup (list or string)):
see instrument
This engraver creates the following grobs: InstrumentName.

Instrument_name_engraver is part of contexts: none


Key_engraver

Properties


keySignature (list):
The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
keyOctaviation (boolean):

explicitKeySignatureVisibility (procedure):
visibility-lambda function for explicit Key changes.
createKeyOnClefChange (boolean):
Print a key signature whenever the clef is changed.
keyAccidentalOrder (list):
Alist that defines in what order alterations should be printed. The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1.
keySignature (list):
The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
This engraver creates the following grobs: KeySignature.

Key_engraver is part of contexts: none


Local_key_engraver

Make accidentals. Catches note heads, ties and notices key-change events. Due to interaction with ties (which don't come together with note heads), this needs to be in a context higher than Tie_engraver. (FIXME).

Properties


localKeySignature (list):
the key signature at this point in the measure. The format is an alist with entries of the form (NAME . ALTER) or ((OCTAVE . NAME) . ALTER), where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
forgetAccidentals (boolean):
do not set localKeySignature when a note alterated differently from localKeySignature is found.

Causes accidentals to be printed at every note instead of remembered for the duration of a measure.

noResetKey (boolean):
Do not reset local key to the value of keySignature at the start of a measure, as determined by measurePosition.

Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later.

This engraver creates the following grobs: Accidentals.

Local_key_engraver is part of contexts: none


Lyric_engraver

Lyric_engraver is part of contexts: none


Lyric_phrasing_engraver

Properties


automaticPhrasing (boolean):
If set, the Lyric_phrasing_engraver will match note heads of context called Voice X to syllables from LyricsVoice called X-<something>. This feature is turned on by default. See the example file lyrics-multi-stanza.ly.
weAreGraceContext (boolean):
.
melismaEngraverBusy (boolean):
See (lilypond)melismaBusy. This is set automatically.
associatedVoice (string):
Name of the Voice that has the melody for this LyricsVoice.
phrasingPunctuation (string):

Lyric_phrasing_engraver is part of contexts: none


Mark_engraver

Properties


rehearsalMark (number or string):

staffsFound (list):
list of all staff-symbols found.
This engraver creates the following grobs: RehearsalMark.

Mark_engraver is part of contexts: none


Melisma_engraver

Properties


melismaBusy (boolean):
Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
tieMelismaBusy (boolean):
Signal ties when automaticMelismata is set.
beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set

Melisma_engraver is part of contexts: none


Multi_measure_rest_engraver

Engraves multi-measure rests that are produced with R. Reads measurePosition and currentBarNumber to determine what number to print over the MultiMeasureRest

This engraver creates the following grobs: MultiMeasureRest.

Multi_measure_rest_engraver is part of contexts: none


Note_head_line_engraver

Engrave a line between two note heads, for example a glissando. If followThread is set, staff switches also generate a line.

Properties


followThread (boolean):
if set, note heads are tracked across staff switches by a thin line
This engraver creates the following grobs: FollowThread and Glissando.

Note_head_line_engraver is part of contexts: none


Note_heads_engraver

Generate one or more noteheads from Music of type Note_req.

This engraver creates the following grobs: Dots and NoteHead.

Note_heads_engraver is part of contexts: none


Note_name_engraver

This engraver creates the following grobs: NoteName.

Note_name_engraver is part of contexts: none


Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: none


Piano_pedal_engraver

Engrave piano pedal symbols.

Properties


pedalSostenutoStrings (string):
see pedalSustainStrings.
pedalSustainStrings (list):
List of string to print for sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is the string to print when this is done with the pedal.
pedalUnaChordaStrings (string):
see pedalSustainStrings.
This engraver creates the following grobs: SostenutoPedal, SustainPedal and UnaChordaPedal.

Piano_pedal_engraver is part of contexts: none


Pitch_squash_engraver

Treat all pitches as middle C. Note that the notes move, but the locations of accidentals stay the same. Set the position field of all note heads to zero. This useful for making a single line staff that demonstrates the rhythm of a melody.

Properties


squashedPosition (integer):
Vertical position of squashing for Pitch_squash_engraver.

Pitch_squash_engraver is part of contexts: none


Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties


Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: none


Repeat_acknowledge_engraver

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

Properties


repeatCommands (list):

whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

Repeat_acknowledge_engraver is part of contexts: none


Rest_collision_engraver

Handles collisions of rests.

This engraver creates the following grobs: RestCollision.

Rest_collision_engraver is part of contexts: none


Rest_engraver

This engraver creates the following grobs: Dots and Rest.

Rest_engraver is part of contexts: none


Rhythmic_column_engraver

Generates NoteColumn, an objects that groups stems, noteheads and rests.

This engraver creates the following grobs: NoteColumn.

Rhythmic_column_engraver is part of contexts: none


Score_engraver

Top level engraver. Takes care of generating columns and the complete system (ie. LineOfScore)

This engraver decides whether a column is breakable. The default is that a column is always breakable. However, when every Bar_engraver that does not have a barline at a certain point will call Score_engraver::forbid_breaks to stop linebreaks. In practice, this means that you can make a breakpoint by creating a barline (assuming that there are no beams or notes that prevent a breakpoint.)

Properties


currentMusicalColumn (Grob):
Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
currentCommandColumn (Grob):
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
This engraver creates the following grobs: LineOfScore, NonMusicalPaperColumn and PaperColumn.

Score_engraver is part of contexts: none


Script_column_engraver

This engraver creates the following grobs: ScriptColumn.

Script_column_engraver is part of contexts: none


Script_engraver

Handles note ornaments generated by script.

Properties


scriptDefinitions (list):
Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
This engraver creates the following grobs: Script.

Script_engraver is part of contexts: none


Separating_line_group_engraver

Generates objects for computing spacing parameters.

This engraver creates the following grobs: SeparatingGroupSpanner and SeparationItem.

Separating_line_group_engraver is part of contexts: none


Skip_req_swallow_translator

Skip_req_swallow_translator is part of contexts: none


Slur_engraver

Build slurs from Slur_reqs

Properties


slurBeginAttachment (symbol):
translates to the car of grob-property 'attachment of NoteColumn. See Slur.
slurEndAttachment (symbol):
translates to the cdr of grob-property 'attachment of NoteColumn. See Slur.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
This engraver creates the following grobs: Slur.

Slur_engraver is part of contexts: none


Spacing_engraver

make a SpacingSpanner and do bookkeeping of shortest starting and playing notes

This engraver creates the following grobs: SpacingSpanner.

Spacing_engraver is part of contexts: none


Span_arpeggio_engraver

Properties


connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: none


Span_bar_engraver

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

This engraver creates the following grobs: SpanBar.

Span_bar_engraver is part of contexts: none


Staff_symbol_engraver

create the constellation of five (default) staff lines.

This engraver creates the following grobs: StaffSymbol.

Staff_symbol_engraver is part of contexts: none


Stanza_number_engraver

Properties


stz (string):
Abbreviated form for a stanza, see also Stanza property.
stanza (string):
Stanza `number' to print at start of a verse. Use in LyricsVoice context.
This engraver creates the following grobs: StanzaNumber.

Stanza_number_engraver is part of contexts: none


Stem_engraver

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

Properties


tremoloFlags (integer):
Number of tremolo flags to add if none is specified.
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):
idem, for the right side.
This engraver creates the following grobs: Stem and StemTremolo.

Stem_engraver is part of contexts: none


System_start_delimiter_engraver

creates a SystemStartDelimiter spanner

This engraver creates the following grobs: SystemStartDelimiter.

System_start_delimiter_engraver is part of contexts: none


Text_engraver

Create text-scripts

Properties


scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
textNonEmpty (boolean):
If set to true then text placed above or below the staff is not assumed to have zero width. atText and emptyText are predefined settings. .
This engraver creates the following grobs: TextScript.

Text_engraver is part of contexts: none


Text_spanner_engraver

Create text spanner from a Span_req

This engraver creates the following grobs: TextSpanner.

Text_spanner_engraver is part of contexts: none


Thread_devnull_engraver

Kill elements whenever we are Voice called `two' and either unison, unisilence or soloADue is set

Thread_devnull_engraver is part of contexts: none


Tie_engraver

Generate ties between noteheads of equal pitch.

Properties


sparseTies (boolean):
only create one tie per chord.
tieMelismaBusy (boolean):
Signal ties when automaticMelismata is set.
This engraver creates the following grobs: Tie and TieColumn.

Tie_engraver is part of contexts: none


Time_signature_engraver

Create a TimeSignature whenever timeSignatureFraction changes

This engraver creates the following grobs: TimeSignature.

Time_signature_engraver is part of contexts: none


Timing_engraver

Responsible for synchronizing timing information from staffs. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.

Properties


timeSignatureFraction (pair of numbers):
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.
barCheckNoSynchronize (boolean):
If set, don't reset measurePosition when finding a bbarcheck. This makes bar-checks for polyphonic music easier.
barNonAuto (boolean):
If set to true then bar lines will not be printed automatically; they must be explicitly created with bar keywords. Unlike with the cadenza keyword, measures are still counted. Bar generation will resume according to that count if this property is set to zero.
whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.

barAlways (boolean):
If set to true a bar line is drawn after each note.
defaultBarType (string):
Sets the default type of bar line. Available bar types: [FIXME];

This variable is typically read at Score level, so overriding Staff.defaultBarType will have no effect.

skipBars (boolean):
Set to true to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
@lilypond[fragment,verbatim,center]
r1 r1*3 R1*3  \\property Score.skipBars= ##t r1*3 R1*3

@end lilypond

timing (boolean):
Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.
oneBeat (moment):
How long does one beat in the current time signature last?
measureLength (moment):
Length of one measure in the current time signature last?
measurePosition (moment):
How much of the current measure (measured in whole notes) have we had. This can be set manually to create incomplete measures (anacrusis, upbeat), the start of the music.
currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.

Timing_engraver is part of contexts: none


Tuplet_engraver

Catch Time_scaled_music and generate appropriate bracket

Properties


tupletSpannerDuration (moment):
Normally a tuplet bracket is as wide as the imes expression that gave rise to it. By setting this property, you can make brackets last shorter. Example
@lilypond[verbatim,fragment]
context Voice 	imes 2/3 {
  property Voice.tupletSpannerDuration = #(make-moment 1 4)
  [c8 c c] [c c c]
}
@end lilypond
.
tupletInvisible (boolean):
If set to true, tuplet bracket creation is switched off entirely. This has the same effect as setting both tupletNumberVisibility and tupletBracketVisibility to #f, but as this does not even create any grobs, this setting uses less memory and time.
This engraver creates the following grobs: TupletBracket.

Tuplet_engraver is part of contexts: none


Vertical_align_engraver

Catch Vertical axis groups and stack them.

This engraver creates the following grobs: VerticalAlignment.

Vertical_align_engraver is part of contexts: none


Voice_devnull_engraver

Kill off certain items and spanners if we're Voice `two' and unison or unisilence is set.

Voice_devnull_engraver is part of contexts: none


Volta_engraver

Make volta brackets

Properties


repeatCommands (list):

voltaSpannerDuration (moment):
maximum duration of the volta bracket.

Set to a duration to control the size of the brackets printed by \alternative. It specifies the number of whole notes duration to use for the brackets. This can be used to shrink the length of brackets in the situation where one alternative is very large. It may have odd effects if the specified duration is longer than the music given in an \alternative. .

This engraver creates the following grobs: VoltaBracket.

Volta_engraver is part of contexts: none


LilyPond context properties


CONTEXTNAMEMinimumVerticalExtent (pair of numbers):
minimum vertical extent, same format as CONTEXTNAMEVerticalExtent [fixme, naming]
CONTEXTNAMEVerticalExtent (pair of numbers):
hard coded vertical extent. The format is a pair of dimensions, for example, this sets the sizes of a staff to 10 (5+5) staffspaces high.
property Staff.StaffVerticalExtent = #(-5.0 . 5.0)

[fixme, naming]

CONTEXTNAMExtraVerticalExtent (pair of numbers):
extra vertical extent, same format CONTEXTNAMEMinimumVerticalExtent [fixme, naming]
Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

aDueText (string):
text for begin of a due
associatedVoice (string):
Name of the Voice that has the melody for this LyricsVoice.
autoBeamSettings (list):
Specifies when automatically generated beams should begin and end. The elements have the format:
   function shortest-duration-in-beam time-signature

where

    function = begin or end
    shortest-duration-in-beam = numerator denominator; eg: 1 16
    time-signature = numerator denominator, eg: 4 4

unspecified or wildcard entries for duration or time-signature
are given by * *

The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:

    property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)

The head of the list:
    '(
((end * * 3 2) . ,(make-moment 1 2))
((end 1 16 3 2) . ,(make-moment 1 4))
((end 1 32 3 2) . ,(make-moment 1 8))
     ...
    )


automaticMelismata (boolean):
If set, ddlyrics will assume that beams, slurs and ties signal melismata, and align lyrics accordingly.
automaticPhrasing (boolean):
If set, the Lyric_phrasing_engraver will match note heads of context called Voice X to syllables from LyricsVoice called X-<something>. This feature is turned on by default. See the example file lyrics-multi-stanza.ly.
barAlways (boolean):
If set to true a bar line is drawn after each note.
barCheckNoSynchronize (boolean):
If set, don't reset measurePosition when finding a bbarcheck. This makes bar-checks for polyphonic music easier.
barNonAuto (boolean):
If set to true then bar lines will not be printed automatically; they must be explicitly created with bar keywords. Unlike with the cadenza keyword, measures are still counted. Bar generation will resume according to that count if this property is set to zero.
beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set
breakAlignOrder (list):
Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines:
	\property Score.breakAlignOrder = #'(
	  Span_bar
	  Breathing_sign
	  Clef_item
	  Staff_bar
	  Key_item
	  Time_signature
	)

centralCPosition (number):
Place of the central C. Usually determined by looking at clefPosition and clefGlyph.
changeMoment (unknown type):
duration that voices are examined for differences, when part-combining. Usually unset or zero when combining threads into one voice, and 1 (or the duration of one measure) when combining voices into one staff.
chordChanges (boolean):
Only generate chords if they change.
chordChanges (boolean):
Only generate chords if they change.
clefGlyph (string):
Name of the symbol within the music font
clefOctavation (integer):
Add this much extra octavation. Values of 7 and -7 are common.
clefPitches (list):
an alist mapping GLYPHNAME to the position of the central C for that symbol
clefPosition (number):
Where should the center of the symbol go?
combineParts (boolean):
try to combine parts?
connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs.
createKeyOnClefChange (boolean):
Print a key signature whenever the clef is changed.
crescendoSpanner (symbol):
Type of spanner to be used for crescendi. One of: hairpin, line, dashed-line, dotted-line. If unset, hairpin type is used.
crescendoText (string):
Text to print at start of non-hairpin crecscendo, ie: cresc.
currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.
currentCommandColumn (Grob):
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn (Grob):
Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner (symbol):
Type of spanner to be used for decrescendi. One of: hairpin, line, dashed-line, dotted-line. If unset, hairpin type is used.
decrescendoText (string):
Text to print at start of non-hairpin decrecscendo, ie: dim.
defaultBarType (string):
Sets the default type of bar line. Available bar types: [FIXME];

This variable is typically read at Score level, so overriding Staff.defaultBarType will have no effect.

devNullThread (symbol):
User control of Thread_devnull_engraver: one of
(), or unset
Behave in normal way: remove one set of grobs when in unisolo.
allways:
Remove any grob that comes along.
never:
Do nothing.

devNullVoice (symbol):
User control of Voice_devnull_engraver: one of
(), or unset
Behave in normal way: remove spanners when in unisolo.
allways:
Remove any spanners that come along.
never:
Do nothing.

explicitClefVisibility (procedure):
visibility-lambda function for clef changes.
explicitKeySignatureVisibility (procedure):
visibility-lambda function for explicit Key changes.
followThread (boolean):
if set, note heads are tracked across staff switches by a thin line
forceClef (boolean):
Show clef symbol, even if it hasn't changed.
forgetAccidentals (boolean):
do not set localKeySignature when a note alterated differently from localKeySignature is found.

Causes accidentals to be printed at every note instead of remembered for the duration of a measure.

graceAccidentalSpace (number):
amount space to alot for an accidental
graceAlignPosition (direction):
put the grace note before or after the main note?
instr (markup (list or string)):
see instrument
instrument (markup (list or string)):
If Instrument_name_engraver is added to the Staff translator, then the instrument property is used to label the first line of the staff and the instr property is used to label subsequent lines. If the midiInstrument property is not set, then instrument is used to determine the instrument for MIDI output.
keyAccidentalOrder (list):
Alist that defines in what order alterations should be printed. The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1.
keyOctaviation (boolean):

keySignature (list):
The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
localKeySignature (list):
the key signature at this point in the measure. The format is an alist with entries of the form (NAME . ALTER) or ((OCTAVE . NAME) . ALTER), where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2
measureLength (moment):
Length of one measure in the current time signature last?
measurePosition (moment):
How much of the current measure (measured in whole notes) have we had. This can be set manually to create incomplete measures (anacrusis, upbeat), the start of the music.
melismaBusy (boolean):
Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.
melismaEngraverBusy (boolean):
See (lilypond)melismaBusy. This is set automatically.
midiInstrument (string):
Name of the MIDI instrument to use
noAutoBeaming (boolean):
If set to true then beams are not generated automatically.
noResetKey (boolean):
Do not reset local key to the value of keySignature at the start of a measure, as determined by measurePosition.

Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later.

oneBeat (moment):
How long does one beat in the current time signature last?
pedalSostenutoStrings (string):
see pedalSustainStrings.
pedalSustainStrings (list):
List of string to print for sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is the string to print when this is done with the pedal.
pedalUnaChordaStrings (string):
see pedalSustainStrings.
phrasingPunctuation (string):

rehearsalMark (number or string):

repeatCommands (list):

repeatCommands (list):

scriptDefinitions (list):
Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
skipBars (boolean):
Set to true to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
@lilypond[fragment,verbatim,center]
r1 r1*3 R1*3  \\property Score.skipBars= ##t r1*3 R1*3

@end lilypond

slurBeginAttachment (symbol):
translates to the car of grob-property 'attachment of NoteColumn. See Slur.
slurEndAttachment (symbol):
translates to the cdr of grob-property 'attachment of NoteColumn. See Slur.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
solo (boolean):
set if solo is detected by the part combiner.
soloADue (boolean):
set Solo/A due texts in the part combiner?.
soloIIText (string):
text for begin of solo for voice "two" when part-combining.
soloText (string):
text for begin of solo when part-combining.
sparseTies (boolean):
only create one tie per chord.
split-interval (boolean):
set if part-combiner separated voices based on splitInterval.
splitInterval (pair of numbers):
part-combiner will separate its two voices (or threads) when interval between the two voices is contained in this range.
squashedPosition (integer):
Vertical position of squashing for Pitch_squash_engraver.
staffsFound (list):
list of all staff-symbols found.
stanza (string):
Stanza `number' to print at start of a verse. Use in LyricsVoice context.
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):
idem, for the right side.
stz (string):
Abbreviated form for a stanza, see also Stanza property.
textNonEmpty (boolean):
If set to true then text placed above or below the staff is not assumed to have zero width. atText and emptyText are predefined settings. .
tieMelismaBusy (boolean):
Signal ties when automaticMelismata is set.
timeSignatureFraction (pair of numbers):
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.
timing (boolean):
Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.
transposing (integer):
Transpose the MIDI output. Set this property to the number of half-steps to transpose by.
tremoloFlags (integer):
Number of tremolo flags to add if none is specified.
tupletInvisible (boolean):
If set to true, tuplet bracket creation is switched off entirely. This has the same effect as setting both tupletNumberVisibility and tupletBracketVisibility to #f, but as this does not even create any grobs, this setting uses less memory and time.
tupletSpannerDuration (moment):
Normally a tuplet bracket is as wide as the imes expression that gave rise to it. By setting this property, you can make brackets last shorter. Example
@lilypond[verbatim,fragment]
context Voice 	imes 2/3 {
  property Voice.tupletSpannerDuration = #(make-moment 1 4)
  [c8 c c] [c c c]
}
@end lilypond
.
unirhythm (boolean):
set if unirhythm is detected by the part combiner.
unisilence (boolean):
set if unisilence is detected by the part combiner.
unison (boolean):
set if unisono is detected by the part combiner. .
verticalAlignmentChildCallback (procedure):
what callback to add to children of a vertical alignment. It determines what alignment procedure is used on the alignment itself. .
voltaSpannerDuration (moment):
maximum duration of the volta bracket.

Set to a duration to control the size of the brackets printed by \alternative. It specifies the number of whole notes duration to use for the brackets. This can be used to shrink the length of brackets in the situation where one alternative is very large. It may have odd effects if the specified duration is longer than the music given in an \alternative. .

weAreGraceContext (boolean):
.
whichBar (string):
This property is read to determine what type of barline to create.

Example:

\property Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Legal values are described in (lilypond-internals)bar-line-interface.

.


LilyPond backend


Arpeggio

Arpeggio grobs are created by: Arpeggio_engraver and Span_arpeggio_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: -1
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

arpeggio-interface

Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.


stems (list):
list of stem objects, corresponding to the notes that the arpeggio has to be before. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_side>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Staff_symbol_referencer::callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #<primitive-procedure Arpeggio::width_callback>
Y-extent-callback (procedure):
see X-extent-callback. Default value: #f
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

autoBeamSettings

autoBeamSettings grobs are created by: none

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

BarLine

BarLine grobs are created by: Bar_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

bar-line-interface

Bar line.

This is a request to print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar to print. Options are ":|" , "|:" , ":|:" , "||" , "|." , ".|" , and ".|." .

These produce, respectively, a right repeat, a left repeat, a double repeat, a double bar, a start bar, an end bar, and a thick double bar. If bartype is set to "empty" then nothing is printed, but a line break is allowed at that spot.


barsize-procedure (procedure):
Procedure that computes the size of a bar line. Default value: #<primitive-procedure Bar::get_staff_bar_size>
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: 3.0

thin-kern (number):
space after a hair-line. Default value: 3.0
hair-thickness (number):
thickness, measured in stafflinethickness. Default value: 1.6
thick-thickness (number):
thickness, measured in stafflinethickness. Default value: 6.0
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: |
bar-size (number):
size of a bar line. Default value: (unset)
break-glyph-function (procedure):
function taking glyph and break-direction, returning the glyph at a line break. Default value: #<procedure default-break-barline (glyph dir)>

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

BarNumber

BarNumber grobs are created by: Bar_number_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: (unset)
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -1

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -1
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Beam

Beam grobs are created by: Auto_beam_engraver, Beam_engraver and Chord_tremolo_engraver

beam-interface

A beam.

#'thickness= weight of beams, in staffspace


staff-position (number):
vertical position in staff spaces, counted from the middle line. Default value: (unset)
height (number):
in staffspace. Default value: (unset)
flag-width-function (procedure):
Procedure that computes the width of a half-beam (a non-connecting beam.). Default value: #<procedure default-beam-flag-width-function (type)>
damping (integer):
amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams . Default value: 1
default-neutral-direction (direction):
Where to go if we're in the middle of the staff. Default value: 1
thickness (number):
thickness, measured in stafflinethickness. Default value: 0.48
space-function (procedure):
function of type multiplicity -> real (in staffspace). Default value: #<procedure default-beam-space-function (multiplicity)>
beamed-stem-shorten (number):
shorten beamed stems in forced direction. Default value: '(0.5)
height-quants (procedure):
function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants. . Default value: #<procedure default-beam-dy-quants (beam stafflinethick)>
vertical-position-quant-function (procedure):
function of type (beam multiplicity dy staff-line-thickness) -> real. Default value: default-beam-y-quants, also available: beam-traditional-y-quants. . Default value: #<procedure default-beam-y-quants (beam multiplicity dy staff-line)>
damping (integer):
amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams . Default value: 1
outer-stem-length-limit (number):
catch suspect beam slopes, set slope to zero if outer stem is lengthened more than this (in staffspace). Default value: 0.2
slope-limit (number):
set slope to zero if slope is running away steeper than this. Default value: 0.2

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

BreakAlignment

BreakAlignment grobs are created by: Break_align_engraver

align-interface

Order grobs top to bottom/left to right/right to left etc.


stacking-dir (direction):
stack contents of grobs in which direction ?. Default value: 1
align-dir (direction):
Which side to align? -1: left side, 0: around center of width, 1: right side. Default value: (unset)
threshold (pair of numbers):
(cons MIN MAX), where MIN and MAX are dimensions in staffspace. Default value: (unset)
alignment-done (boolean):
boolean to administrate whether we've done the alignment already (to ensure that the process is done only once). Default value: (unset)
center-element (Grob):
grob which will be at the center of the group after aligning (when using Align_interface::center_on_element). . Default value: (unset)
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)
axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Break_align_interface::self_align_callback>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

BreakAlignGroup

BreakAlignGroup grobs are created by: Break_align_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Break_align_interface::alignment_callback>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

BreathingSign

BreathingSign grobs are created by: Breathing_sign_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Breathing_sign
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-invisible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Breathing_sign::offset_callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Clef

Clef grobs are created by: Clef_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Clef_item
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'music
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

clef-interface

A clef sign


non-default (boolean):
not set because of existence of a bar?. Default value: (unset)
full-size-change (boolean):
if set, don't make a change clef smaller. Default value: (unset)
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Staff_symbol_referencer::callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

ChordName

ChordName grobs are created by: Chord_name_engraver

chord-name-interface

generate a chord name


pitches (list):
list of musical-pitch. Default value: (unset)
inversion (list):
musical-pitch, optional. Default value: (unset)
bass (list):
musical-pitch, optional. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Custos

Custos grobs are created by: Custos_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Custos
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure end-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

staff-symbol-interface

This spanner draws the lines of a staff. The middle line is position 0.


staff-space (number):
Amount of line leading relative to global staffspace. Default value: (unset)
line-count (integer):
Number of staff lines. Default value: (unset)

custos-interface

A custos is a staff context symbol that appears at the end of a staff line with monophonic musical contents (i.e. with a single voice). It anticipates the pitch of the first note of the following line and thus helps the player or singer to manage line breaks during performance, thus enhancing readability of a score.

Custodes were frequently used in music notation until the 16th century. There were different appearences for different notation styles. Nowadays, they have survived only in special forms of musical notation such as via the editio vaticana dating back to the beginning of the 20th century.

[TODO: add to glossary]


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: 'vaticana

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Staff_symbol_referencer::callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Hairpin

Hairpin grobs are created by: Dynamic_engraver

hairpin-interface

hairpin crescendo.

padding - horizontal padding. This is useful if a crescendo is set next to a text like `mf'


grow-direction (direction):
crescendo or decrescendo?. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: 1.0
height (number):
in staffspace. Default value: 0.6666
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

DotColumn

DotColumn grobs are created by: Dot_column_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

dot-column-interface

Interface that groups dots so they form a column

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Dots

Dots grobs are created by: Note_heads_engraver and Rest_engraver

dots-interface

The dots to go with a notehead/rest. A separate interface, since they are a party in collision resolution. #'direction is the Direction to handle staff-line collisions in.


direction (direction):
up or down, left or right?. Default value: (unset)
dot-count (integer):
number of dots. Default value: 1

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Dots::quantised_position_callback> #<primitive-procedure Staff_symbol_referencer::callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

DynamicText

DynamicText grobs are created by: Dynamic_engraver

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: 'bold
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'dynamic
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

DynamicLineSpanner

DynamicLineSpanner grobs are created by: Dynamic_engraver

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: 1.2
padding (number):
add this much extra space between objects that are next to each other. Default value: 0.6
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(1)

dynamic-interface

Any kind of loudness sign

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LeftEdge

LeftEdge grobs are created by: Break_align_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Left_edge_item
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: (unset)
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Break_align_interface::alignment_callback>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Fingering

Fingering grobs are created by: none

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: 0.6
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: 0

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

text-script-interface

Any text script

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'upright
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'number
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -3

finger-interface

A fingering instruction

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::centered_on_parent> #<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -3
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

GraceAlignment

GraceAlignment grobs are created by: Align_note_column_engraver

grace-alignment-interface

put grace notes in line


horizontal-space (number):
amount of space to add after a note (in staff-space). Default value: 1.2

align-interface

Order grobs top to bottom/left to right/right to left etc.


stacking-dir (direction):
stack contents of grobs in which direction ?. Default value: (unset)
align-dir (direction):
Which side to align? -1: left side, 0: around center of width, 1: right side. Default value: (unset)
threshold (pair of numbers):
(cons MIN MAX), where MIN and MAX are dimensions in staffspace. Default value: (unset)
alignment-done (boolean):
boolean to administrate whether we've done the alignment already (to ensure that the process is done only once). Default value: (unset)
center-element (Grob):
grob which will be at the center of the group after aligning (when using Align_interface::center_on_element). . Default value: (unset)
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)
axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

HaraKiriVerticalGroup

HaraKiriVerticalGroup grobs are created by: Hara_kiri_engraver

hara-kiri-group-interface

As Vertical_group_spanner, but keep track of interesting items. If we don't contain any interesting items after linebreaking, then gracefully commit suicide. Objective: don't disgrace Lily by typesetting empty lines in orchestral scores.


items-worth-living (list):
list of interesting items. If empty in a particular system, clear that system. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(1)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Hara_kiri_group_spanner::force_hara_kiri_callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Hara_kiri_group_spanner::y_extent>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LyricHyphen

LyricHyphen grobs are created by: Hyphen_engraver

lyric-hyphen-interface

A centred hyphen is a simple line between lyrics used to divide syllables. The length of the hyphen line should stretch based on the size of the gap between syllables.


thickness (number):
thickness, measured in stafflinethickness. Default value: 1.0
height (number):
in staffspace. Default value: 0.4
minimum-length (number):
try to make the Grob at least this long.

Also works as a scaling parameter for the length of hyphen. . Default value: 0.5

word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Grob::point_dimension_callback>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

InstrumentName

InstrumentName grobs are created by: Instrument_name_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Instrument_name
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::centered_on_parent> #<primitive-procedure Side_position::aligned_on_self>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

KeySignature

KeySignature grobs are created by: Key_engraver

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Key_item
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

key-signature-interface

A group of accidentals.


c0-position (integer):
integer indicating the position of central C. Default value: (unset)
old-accidentals (list):
list of (pitch, accidental) pairs. Default value: (unset)
new-accidentals (list):
list of (pitch, accidental) pairs. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Accidentals

Accidentals grobs are created by: Local_key_engraver

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: -1
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

accidentals-interface

Accidentals


left-padding (number):
space left of accs. Default value: 0.2
right-padding (number):
space right of accs. Default value: 0.4

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_side>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LineOfScore

LineOfScore grobs are created by: Score_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0 1)

line-of-score-interface

Super grob, parent of all:

The columns of a score that form one line. The toplevel grob. Any grob has a Line_of_score as both X and Y reference point. The Paper_score contains one grob of this type. Control enters the Grob dependency calculation from this single Line_of_score object.


between-system-string (string):
string to dump between two systems. Useful for forcing pagebreaks. Default value: (unset)
spacing-procedure (procedure):
procedure taking grob as argument. This is called after before-line-breaking-callback, but before the actual line breaking itself. Return value is ignored. Default value: (unset)
before-line-breaking-callback (procedure):
Procedure taking grob as argument. This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored. Default value: (unset)
after-line-breaking-callback (procedure):
Procedure taking a grob as argument. This procedure is called (using dependency resolution) after line breaking. Return value is ignored. Default value: (unset)
all-elements (list):
list of all grobs in this line. Needed for protecting grobs from GC. Default value: (unset)
columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LyricExtender

LyricExtender grobs are created by: Extender_engraver

lyric-extender-interface

The extender is a simple line at the baseline of the lyric that helps show the length of a melissima (tied/slurred note).


word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: (unset)
height (number):
in staffspace. Default value: 0.8
right-trim-amount (number):
shortening of the lyric extender on the right. Default value: 0.5

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Grob::point_dimension_callback>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LyricText

LyricText grobs are created by: none

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'upright
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

lyric-syllable-interface

a single piece of lyrics


word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: 0.6

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

RehearsalMark

RehearsalMark grobs are created by: Mark_engraver

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: 1
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: 0.8
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

mark-interface

a rehearsal mark

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: 1
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

MultiMeasureRest

MultiMeasureRest grobs are created by: Multi_measure_rest_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'number
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: 1

multi-measure-rest-interface

A rest that spans a whole number of measures. For typesetting the numbers, fields from font-interface may be used.

padding is the space between number and rest. Measured in staffspace.


columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)
expand-limit (integer):
maximum number of measures expanded in church rests. Default value: 10
minimum-width (number):
minimum-width of rest symbol, in staffspace. Default value: 12.5
padding (number):
add this much extra space between objects that are next to each other. Default value: 2.0

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: 1
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

NoteCollision

NoteCollision grobs are created by: Collision_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0 1)

note-collision-interface

An object that handles collisions between notes with different stem directions and horizontal shifts. Most of the interesting properties are to be set in note-column-interface


merge-differently-dotted (boolean):
Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by note-collision-interface . Default value: (unset)
note-width (number):
unit for horizontal translation, measured in staff-space. Default value: 1.65

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

NoteColumn

NoteColumn grobs are created by: Rhythmic_column_engraver

note-column-interface

Stem and noteheads combined


horizontal-shift (integer):
integer that identifies ranking of note-column for horizontal shifting. This is used by note-collision-interface. Default value: (unset)
force-hshift (number):
amount of collision_note_width that overides automatic collision settings. This is used by note-collision-interface. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0 1)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

NoteHead

NoteHead grobs are created by: Note_heads_engraver

note-head-interface

Note head


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: 'default

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

rhythmic-head-interface

Note head or rest


dot (Grob):
reference to Dots object. Default value: (unset)
stem (Grob):
pointer to Stem object. Default value: (unset)
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Staff_symbol_referencer::callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Glissando

Glissando grobs are created by: Note_head_line_engraver

line-spanner-interface

Generic line drawn between two objects, eg. for use with glissandi. gap is measured in staff-spaces.


gap (number):
Size of a gap in a variable symbol. Default value: 0.5
dash-period (number):
the length of one dash + white space. Default value: (unset)
dash-length (number):
the length of a dash. Default value: (unset)
line-thickness (number):
the thickness[stafflinethickness] of the line. Default value: (unset)
type (symbol):
one of: line, dashed-line or dotted-line. Default value: 'line

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #f
Y-extent-callback (procedure):
see X-extent-callback. Default value: #f
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

FollowThread

FollowThread grobs are created by: Note_head_line_engraver

line-spanner-interface

Generic line drawn between two objects, eg. for use with glissandi. gap is measured in staff-spaces.


gap (number):
Size of a gap in a variable symbol. Default value: 0.5
dash-period (number):
the length of one dash + white space. Default value: (unset)
dash-length (number):
the length of a dash. Default value: (unset)
line-thickness (number):
the thickness[stafflinethickness] of the line. Default value: (unset)
type (symbol):
one of: line, dashed-line or dotted-line. Default value: 'line

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #f
Y-extent-callback (procedure):
see X-extent-callback. Default value: #f
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

NoteName

NoteName grobs are created by: Note_name_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

note-name-interface

Note name


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

OctavateEight

OctavateEight grobs are created by: Clef_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: 8
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::centered_on_parent> #<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_side>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

PaperColumn

PaperColumn grobs are created by: Score_engraver

spaceable-element-interface

An grob (generally a Paper_column) that takes part in the spacing problem.


minimum-distances (list):
list of rods (ie. (OBJ . DIST) pairs). Default value: (unset)
ideal-distances (list):
(OBJ . (DIST . STRENGTH)) pairs. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

paper-column-interface


column-space-strength (number):
relative strength of space following breakable columns (eg. prefatory matter). Default value: (unset)
before-musical-spacing-factor (number):
space before musical columns (eg. taken by accidentals) get this much stretched when they follow a musical column, in absence of grace notes. 0.0 means no extra space (accidentals are ignored). Default value: 0.4
stem-spacing-correction (number):
optical correction amount. Default value: (unset)
before-grace-spacing-factor (number):
stretch space this much if there are grace notes before the column. Default value: 1.2
when (moment):
when does this column happen?. Default value: (unset)
bounded-by-me (list):
list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)
shortest-playing-duration (moment):
duration of the shortest playing in that column. Default value: (unset)
shortest-starter-duration (moment):
duration of the shortest notes that starts exactly in this column. Default value: (unset)
contains-grace (boolean):
Used to widen entries for grace notes. Default value: (unset)
extra-space (pair of numbers):
pair of distances (cons LEFT RIGHT). Default value: (unset)
stretch-distance (pair of numbers):
pair of distances. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

NonMusicalPaperColumn

NonMusicalPaperColumn grobs are created by: Score_engraver

spaceable-element-interface

An grob (generally a Paper_column) that takes part in the spacing problem.


minimum-distances (list):
list of rods (ie. (OBJ . DIST) pairs). Default value: (unset)
ideal-distances (list):
(OBJ . (DIST . STRENGTH)) pairs. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(0)

paper-column-interface


column-space-strength (number):
relative strength of space following breakable columns (eg. prefatory matter). Default value: 2.0
before-musical-spacing-factor (number):
space before musical columns (eg. taken by accidentals) get this much stretched when they follow a musical column, in absence of grace notes. 0.0 means no extra space (accidentals are ignored). Default value: 1.0
stem-spacing-correction (number):
optical correction amount. Default value: (unset)
before-grace-spacing-factor (number):
stretch space this much if there are grace notes before the column. Default value: (unset)
when (moment):
when does this column happen?. Default value: (unset)
bounded-by-me (list):
list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)
shortest-playing-duration (moment):
duration of the shortest playing in that column. Default value: (unset)
shortest-starter-duration (moment):
duration of the shortest notes that starts exactly in this column. Default value: (unset)
contains-grace (boolean):
Used to widen entries for grace notes. Default value: (unset)
extra-space (pair of numbers):
pair of distances (cons LEFT RIGHT). Default value: (unset)
stretch-distance (pair of numbers):
pair of distances. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Rest

Rest grobs are created by: Rest_engraver

rest-interface

a rest


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

rhythmic-head-interface

Note head or rest


dot (Grob):
reference to Dots object. Default value: (unset)
stem (Grob):
pointer to Stem object. Default value: (unset)
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #<primitive-procedure Rest::extent_callback>
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Rest::extent_callback>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

RestCollision

RestCollision grobs are created by: Rest_collision_engraver

rest-collision-interface

Move around ordinary rests (not multi-measure-rests) to avoid conflicts.


maximum-rest-count (integer):
kill off rests so we don't more than this number left. Default value: (unset)
minimum-distance (number):
minimum distance between notes and rests. Default value: 0.75
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Script

Script grobs are created by: Script_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

script-interface


script-priority (number):
A sorting key that determines in what order a script is within a stack of scripts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::centered_on_parent>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

ScriptColumn

ScriptColumn grobs are created by: Script_column_engraver

script-column-interface

An interface that sorts scripts according to their script-priority

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Slur

Slur grobs are created by: Slur_engraver

slur-interface

A slur


de-uglify-parameters (list):
list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical. Default value: '(1.5 0.8 -2.0)
details (list):
alist containing contaning a few magic constants. Default value: '((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 6.0e-6) (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2) (bezier-area-steps . 1.0))
attachment (pair):
cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end. Default value: '(#f . #f)
direction (direction):
up or down, left or right?. Default value: (unset)
attachment-offset (pair):
cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs. [fixme: we need more documentation here]. . Default value: '((0 . 0) 0 . 0)
beautiful (number):
number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs. Default value: 0.5
y-free (number):
minimal vertical gap between slur and noteheads or stems. Default value: 0.75
control-points (list):
List of 4 offsets (number-pairs) that form control points for the tie/slur shape. Default value: (unset)
extremity-rules (list):
an alist (procedure slur dir) -> attachment to determine the attachment (see above). If procedure returns #t, attachment is used. Otherwise, the next procedure is tried. Default value: '((#<procedure (slur dir)> . head) (#<procedure (slur dir)> . loose-end) (#<procedure (slur dir)> . head) (#<procedure (slur dir)> . stem) (#<procedure (slur dir)> . loose-end) (#<procedure (x y)> . head))
extremity-offset-alist (list):
an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem. Default value: '(((head 1 1) -0.25 . 0.25) ((head 1 -1) -0.25 . -0.25) ((head -1 1) -0.25 . 0.25) ((head -1 -1) -0.85 . -0.25) ((stem 1 1) 0 . 0.5) ((stem -1 -1) 0 . -0.5) ((loose-end 1 1) -0.4 . 0) ((loose-end 1 -1) -0.4 . 0) ((loose-end -1 -1) -4 . 0) ((loose-end -1 1) -4 . 0))
thickness (number):
thickness, measured in stafflinethickness. Default value: 1.2
dashed (number):
[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Slur::height>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SpacingSpanner

SpacingSpanner grobs are created by: Spacing_engraver

spacing-spanner-interface

SPACE = arithmetic_multiplier * ( C + log2 (TIME) )) The space taken by a note is determined by the formula

where TIME is the amount of time a note occupies. The value of C is chosen such that the smallest space within a measure is arithmetic_basicspace:

C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8))

The smallest space is the one following the shortest note in the measure, or the space following a hypothetical 1/8 note. Typically arithmetic_basicspace is set to a value so that the shortest note takes about two noteheads of space (ie, is followed by a notehead of space):

   2*quartwidth = arithmetic_multiplier * ( C + log2 (SHORTEST) ))

   { using: C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) }
   { assuming: SHORTEST <= 1/8 }

               = arithmetic_multiplier *
	       ( arithmetic_basicspace - log2 (SHORTEST) + log2 (SHORTEST) )

               = arithmetic_multiplier * arithmetic_basicspace

   { choose: arithmetic_multiplier = 1.0*quartwidth (why?) }

               = quartwidth * arithmetic_basicspace

   =>

   arithmetic_basicspace = 2/1 = 2


If you want to space your music wider, use something like:

   arithmetic_basicspace = 4.;


maximum-duration-for-spacing (moment):
space as if a duration of this type is available in this measure. Default value: '#<Mom 1/8 >
arithmetic-basicspace (number):
see spacing-spanner-interface. Default value: 2.0
arithmetic-multiplier (number):
see spacing-spanner-interface. Default value: 1.188

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SpanBar

SpanBar grobs are created by: Span_bar_engraver

bar-line-interface

Bar line.

This is a request to print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar to print. Options are ":|" , "|:" , ":|:" , "||" , "|." , ".|" , and ".|." .

These produce, respectively, a right repeat, a left repeat, a double repeat, a double bar, a start bar, an end bar, and a thick double bar. If bartype is set to "empty" then nothing is printed, but a line break is allowed at that spot.


barsize-procedure (procedure):
Procedure that computes the size of a bar line. Default value: #<primitive-procedure Span_bar::get_bar_size>
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: 3.0

thin-kern (number):
space after a hair-line. Default value: 3.0
hair-thickness (number):
thickness, measured in stafflinethickness. Default value: 1.6
thick-thickness (number):
thickness, measured in stafflinethickness. Default value: 6.0
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: |
bar-size (number):
size of a bar line. Default value: (unset)
break-glyph-function (procedure):
function taking glyph and break-direction, returning the glyph at a line break. Default value: (unset)

span-bar-interface

A bar line that spans other barlines (typically used to get cross-staff barlines.

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Span_bar::center_on_spanned_callback>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #<primitive-procedure Span_bar::width_callback>
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

StanzaNumber

StanzaNumber grobs are created by: Stanza_number_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: 'Clef_item
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: #<procedure begin-of-line-visible (d)>
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: #t

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

StaffSymbol

StaffSymbol grobs are created by: Staff_symbol_engraver

staff-symbol-interface

This spanner draws the lines of a staff. The middle line is position 0.


staff-space (number):
Amount of line leading relative to global staffspace. Default value: 1.0
line-count (integer):
Number of staff lines. Default value: 5

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SostenutoPedal

SostenutoPedal grobs are created by: Piano_pedal_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_side> #<primitive-procedure Side_position::centered_on_parent>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: #t
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Stem

Stem grobs are created by: Stem_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

stem-interface

A stem


thickness (number):
thickness, measured in stafflinethickness. Default value: 0.8
beamed-lengths (list):
list of stem lengths given beam multiplicity . Default value: '(0.0 2.5 2.0 1.5)
beamed-minimum-lengths (list):
list of minimum stem lengths given beam multiplicity. Default value: '(0.0 1.5 1.25 1.0)
stem-centered (boolean):
Center stems on note heads. Useful for mensural notation. Default value: (unset)
lengths (list):
Stem length given multiplicity of flag. Default value: '(3.5 3.5 3.5 4.5 5.0)
beam (Grob):
pointer to the beam, if applicable. Default value: (unset)
stem-shorten (list):
shorten stems in forced directions given flag multiplicity. Default value: '(0.5)
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc. Default value: (unset)
beaming (pair of numbers):
number of beams extending to left and right. Default value: (unset)
default-neutral-direction (direction):
Where to go if we're in the middle of the staff. Default value: 1
stem-end-position (number):
Where does the stem end (the end is opposite to the support-head. Default value: (unset)
support-head (Grob):
the note head at one end of the stem. Default value: (unset)
heads (pair):
list of note heads,

FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.

. Default value: (unset)

direction (direction):
up or down, left or right?. Default value: (unset)
stem-length (number):
length of stem. Default value: (unset)
style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)
flag-style (string):
style for flag (hook of a stem). Default value: (unset)
dir-forced (boolean):
set if direction has been forced; read by Beam. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Stem::off_callback>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #<primitive-procedure Stem::dim_callback>
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Stem::height>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

StemTremolo

StemTremolo grobs are created by: Stem_engraver

stem-tremolo-interface


stem (Grob):
pointer to Stem object. Default value: (unset)
beam-width (number):
width of the tremolo sign. Default value: 2.0
beam-thickness (number):
thickness, measured in staffspace. Default value: 0.42
beam-space-function (procedure):
function returning space given multiplicity. Default value: #<procedure default-beam-space-function (multiplicity)>

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #f
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Stem_tremolo::height>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SeparationItem

SeparationItem grobs are created by: Separating_line_group_engraver

separation-item-interface

Item that computes widths to generate spacing rods.

Calc dimensions for the Separating_group_spanner; this has to be an item to get dependencies correct. It can't be an grob_group since these usually are in a different X_group


elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SeparatingGroupSpanner

SeparatingGroupSpanner grobs are created by: Separating_line_group_engraver

separation-spanner-interface

Spanner that containing separation-item-interface grobs to calculate rods

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SustainPedal

SustainPedal grobs are created by: Piano_pedal_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: 0

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

sustain-pedal-interface

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_side> #<primitive-procedure Side_position::centered_on_parent>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: #t
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

SystemStartDelimiter

SystemStartDelimiter grobs are created by: System_start_delimiter_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'braces
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

system-start-delimiter-interface

#'style can be bar-line, bracket or brace


bar-line-collapse-height (number):
Minimum height of system start delimiter bar-line glyphs. If equal or smaller, the bar-line is removed. Default value: (unset)
brace-collapse-height (number):
Minimum height of system start delimiter brace glyphs. If equal or smaller, the brace is removed. Default value: 4.1
bracket-collapse-height (number):
Minimum height of system start delimiter bracket glyphs. If equal or smaller, the bracket is removed. Default value: 1
thickness (number):
thickness, measured in stafflinethickness. Default value: 1.6
arch-height (number):
height of the hook of a system brace. Default value: 1.5
arch-angle (number):
turning angle of the hook of a system brace Default value: 50.0
arch-thick (number):
thickness of the hook of system brace. Default value: 0.25
arch-width (number):
width of the hook of a system brace. Default value: 1.5
bracket-thick (number):
width of a system start bracket. . Default value: 0.25
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: 'bar-line

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: #f
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

TextScript

TextScript grobs are created by: A2_engraver and Text_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: 0.5
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

text-script-interface

Any text script

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: #t
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

TextSpanner

TextSpanner grobs are created by: Dynamic_engraver and Text_spanner_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-spanner-interface

generic text spanner


dash-period (number):
the length of one dash + white space. Default value: (unset)
dash-length (number):
the length of a dash. Default value: (unset)
line-thickness (number):
the thickness[stafflinethickness] of the line. Default value: (unset)
edge-height (pair):
a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height). Default value: (unset)
edge-text (pair):
a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text). Default value: (unset)
type (symbol):
one of: line, dashed-line or dotted-line. Default value: line

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

Tie

Tie grobs are created by: Tie_engraver

tie-interface

A tie connecting two noteheads. direction = Forced direction for all ties


staffline-clearance (number):
don't get closer than this to stafflines. Default value: 0.35
control-points (list):
List of 4 offsets (number-pairs) that form control points for the tie/slur shape. Default value: (unset)
heads (pair):
list of note heads,

FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.

. Default value: (unset)

details (list):
alist containing contaning a few magic constants. Default value: '((ratio . 0.333) (height-limit . 1.0))
thickness (number):
thickness, measured in stafflinethickness. Default value: 1.2
x-gap (number):
horizontal gap between notehead and tie. Default value: 0.2
direction (direction):
up or down, left or right?. Default value: (unset)
minimum-length (number):
try to make the Grob at least this long.

Also works as a scaling parameter for the length of hyphen. . Default value: 2.5

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

TieColumn

TieColumn grobs are created by: Tie_engraver

tie-column-interface

that sets tie directions in a tied chord


direction (direction):
up or down, left or right?. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

TimeSignature

TimeSignature grobs are created by: Time_signature_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'number
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

time-signature-interface

A time signature, in different styles. The following values for 'style are are recognized:


C
4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits.
old
2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are typeset with old-style mensuration marks. All other time signatures are written with two digits.
1xxx
All time signatures are typeset with a single digit, e.g. 3/2 is written as 3. (Any symbol starting with the digit 1 will do.)
CM/N,
oldM/N or old6/8alt Tells LilyPond to use a specific symbol as time signature, regardless of the actual time signature.

See also the test-file input/test/time.ly.


fraction (pair of numbers):
fraction of a time signature. Default value: (unset)
style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

TupletBracket

TupletBracket grobs are created by: Tuplet_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'roman
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -1

tuplet-bracket-interface

A bracket with a number in the middle, used for tuplets.


beams (list):
list of beam ptrs. Default value: (unset)
columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)
number-gap (number):
size of the gap for the number in a tuplet. Default value: 2.0
delta-y (number):
amount of ascension. Default value: 0
tuplet-bracket-visibility (boolean or symbol):
This controls the visibility of the tuplet bracket. Setting it to false will prevent printing of the bracket. Setting the property to #'if-no-beam will make it print only if there is no beam associated with this tuplet bracket. Default value: (unset)
tuplet-number-visibility (boolean or symbol):
Like tuplet-bracket-visibility, but for the number. Default value: (unset)
parallel-beam (boolean):
internal: true if there is a beam just as wide as the bracket . Default value: (unset)
thick (number):
thickness, in stafflinethickness. Default value: 1.0

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -1
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

UnaChordaPedal

UnaChordaPedal grobs are created by: Piano_pedal_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: 'italic
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: '(#<primitive-procedure Side_position::aligned_on_self>)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_side> #<primitive-procedure Side_position::centered_on_parent>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: #t
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

VoltaBracket

VoltaBracket grobs are created by: Volta_engraver

font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: 'volta
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: 'number
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -2

side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: 1
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: 5
padding (number):
add this much extra space between objects that are next to each other. Default value: 1
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

volta-bracket-interface

Volta bracket with number


bars (list):
list of barline pointers. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: 1.6
height (number):
in staffspace. Default value: 2.0

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: '(#<primitive-procedure Side_position::aligned_side>)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: -2
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

VerticalAlignment

VerticalAlignment grobs are created by: Vertical_align_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(1)

align-interface

Order grobs top to bottom/left to right/right to left etc.


stacking-dir (direction):
stack contents of grobs in which direction ?. Default value: -1
align-dir (direction):
Which side to align? -1: left side, 0: around center of width, 1: right side. Default value: (unset)
threshold (pair of numbers):
(cons MIN MAX), where MIN and MAX are dimensions in staffspace. Default value: (unset)
alignment-done (boolean):
boolean to administrate whether we've done the alignment already (to ensure that the process is done only once). Default value: (unset)
center-element (Grob):
grob which will be at the center of the group after aligning (when using Align_interface::center_on_element). . Default value: (unset)
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)
axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(1)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: #f
Y-extent-callback (procedure):
see X-extent-callback. Default value: #<primitive-procedure Axis_group_interface::group_extent_callback>
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

VerticalAxisGroup

VerticalAxisGroup grobs are created by: Axis_group_engraver

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: '(1)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

LilyPond interfaces


accidentals-interface

Accidentals


left-padding (number):
space left of accs. Default value: (unset)
right-padding (number):
space right of accs. Default value: (unset)

align-interface

Order grobs top to bottom/left to right/right to left etc.


stacking-dir (direction):
stack contents of grobs in which direction ?. Default value: (unset)
align-dir (direction):
Which side to align? -1: left side, 0: around center of width, 1: right side. Default value: (unset)
threshold (pair of numbers):
(cons MIN MAX), where MIN and MAX are dimensions in staffspace. Default value: (unset)
alignment-done (boolean):
boolean to administrate whether we've done the alignment already (to ensure that the process is done only once). Default value: (unset)
center-element (Grob):
grob which will be at the center of the group after aligning (when using Align_interface::center_on_element). . Default value: (unset)
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)
axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: (unset)

aligned-interface

read by align-interface


minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
extra-space (pair of numbers):
pair of distances (cons LEFT RIGHT). Default value: (unset)

arpeggio-interface

Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads.


stems (list):
list of stem objects, corresponding to the notes that the arpeggio has to be before. Default value: (unset)

axis-group-interface

a group of coupled grobs


axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number. Default value: (unset)

bar-line-interface

Bar line.

This is a request to print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument bartype is a string which specifies the kind of bar to print. Options are ":|" , "|:" , ":|:" , "||" , "|." , ".|" , and ".|." .

These produce, respectively, a right repeat, a left repeat, a double repeat, a double bar, a start bar, an end bar, and a thick double bar. If bartype is set to "empty" then nothing is printed, but a line break is allowed at that spot.


barsize-procedure (procedure):
Procedure that computes the size of a bar line. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

thin-kern (number):
space after a hair-line. Default value: (unset)
hair-thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
thick-thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)
bar-size (number):
size of a bar line. Default value: (unset)
break-glyph-function (procedure):
function taking glyph and break-direction, returning the glyph at a line break. Default value: (unset)

beam-interface

A beam.

#'thickness= weight of beams, in staffspace


staff-position (number):
vertical position in staff spaces, counted from the middle line. Default value: (unset)
height (number):
in staffspace. Default value: (unset)
flag-width-function (procedure):
Procedure that computes the width of a half-beam (a non-connecting beam.). Default value: (unset)
damping (integer):
amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams . Default value: (unset)
default-neutral-direction (direction):
Where to go if we're in the middle of the staff. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
space-function (procedure):
function of type multiplicity -> real (in staffspace). Default value: (unset)
beamed-stem-shorten (number):
shorten beamed stems in forced direction. Default value: (unset)
height-quants (procedure):
function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants. . Default value: (unset)
vertical-position-quant-function (procedure):
function of type (beam multiplicity dy staff-line-thickness) -> real. Default value: default-beam-y-quants, also available: beam-traditional-y-quants. . Default value: (unset)
damping (integer):
amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams . Default value: (unset)
outer-stem-length-limit (number):
catch suspect beam slopes, set slope to zero if outer stem is lengthened more than this (in staffspace). Default value: (unset)
slope-limit (number):
set slope to zero if slope is running away steeper than this. Default value: (unset)

break-aligned-interface

Items that are aligned in prefatory matter


break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item. Default value: (unset)
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY). Default value: (unset)
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.). Default value: (unset)

chord-name-interface

generate a chord name


pitches (list):
list of musical-pitch. Default value: (unset)
inversion (list):
musical-pitch, optional. Default value: (unset)
bass (list):
musical-pitch, optional. Default value: (unset)

clef-interface

A clef sign


non-default (boolean):
not set because of existence of a bar?. Default value: (unset)
full-size-change (boolean):
if set, don't make a change clef smaller. Default value: (unset)
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

custos-interface

A custos is a staff context symbol that appears at the end of a staff line with monophonic musical contents (i.e. with a single voice). It anticipates the pitch of the first note of the following line and thus helps the player or singer to manage line breaks during performance, thus enhancing readability of a score.

Custodes were frequently used in music notation until the 16th century. There were different appearences for different notation styles. Nowadays, they have survived only in special forms of musical notation such as via the editio vaticana dating back to the beginning of the 20th century.

[TODO: add to glossary]


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

dot-column-interface

Interface that groups dots so they form a column


dots-interface

The dots to go with a notehead/rest. A separate interface, since they are a party in collision resolution. #'direction is the Direction to handle staff-line collisions in.


direction (direction):
up or down, left or right?. Default value: (unset)
dot-count (integer):
number of dots. Default value: (unset)

dynamic-interface

Any kind of loudness sign


finger-interface

A fingering instruction


font-interface

Any symbol that is typeset through fixed sets of glyphs (ie. fonts)


font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic. Default value: (unset)
font-series (symbol):
partial font definition: medium, bold. Default value: (unset)
font-shape (symbol):
partial font definition: upright or italic. Default value: (unset)
font-family (symbol):
partial font definition: music roman braces dynamic math ... Default value: (unset)
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials. Default value: (unset)
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)

general-grob-interface

All grobs support this


X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first. Default value: (unset)
Y-offset-callbacks (list):
see X-offset-callbacks. Default value: (unset)
X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob. Default value: (unset)
Y-extent-callback (procedure):
see X-extent-callback. Default value: (unset)
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller. Default value: (unset)
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting. Default value: (unset)
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field. Default value: (unset)
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes. Default value: (unset)
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM). Default value: (unset)
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space. Default value: (unset)
extra-extent-Y (pair of numbers):
see extra-extent-Y. Default value: (unset)
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space. Default value: (unset)
minimum-extent-Y (pair of numbers):
see minimum-extent-Y. Default value: (unset)
origin (input location):
location in input file of the definition. Default value: (unset)
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. . Default value: (unset)

grace-alignment-interface

put grace notes in line


horizontal-space (number):
amount of space to add after a note (in staff-space). Default value: (unset)

hairpin-interface

hairpin crescendo.

padding - horizontal padding. This is useful if a crescendo is set next to a text like `mf'


grow-direction (direction):
crescendo or decrescendo?. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
height (number):
in staffspace. Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)

hara-kiri-group-interface

As Vertical_group_spanner, but keep track of interesting items. If we don't contain any interesting items after linebreaking, then gracefully commit suicide. Objective: don't disgrace Lily by typesetting empty lines in orchestral scores.


items-worth-living (list):
list of interesting items. If empty in a particular system, clear that system. Default value: (unset)

key-signature-interface

A group of accidentals.


c0-position (integer):
integer indicating the position of central C. Default value: (unset)
old-accidentals (list):
list of (pitch, accidental) pairs. Default value: (unset)
new-accidentals (list):
list of (pitch, accidental) pairs. Default value: (unset)

line-of-score-interface

Super grob, parent of all:

The columns of a score that form one line. The toplevel grob. Any grob has a Line_of_score as both X and Y reference point. The Paper_score contains one grob of this type. Control enters the Grob dependency calculation from this single Line_of_score object.


between-system-string (string):
string to dump between two systems. Useful for forcing pagebreaks. Default value: (unset)
spacing-procedure (procedure):
procedure taking grob as argument. This is called after before-line-breaking-callback, but before the actual line breaking itself. Return value is ignored. Default value: (unset)
before-line-breaking-callback (procedure):
Procedure taking grob as argument. This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored. Default value: (unset)
after-line-breaking-callback (procedure):
Procedure taking a grob as argument. This procedure is called (using dependency resolution) after line breaking. Return value is ignored. Default value: (unset)
all-elements (list):
list of all grobs in this line. Needed for protecting grobs from GC. Default value: (unset)
columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)

line-spanner-interface

Generic line drawn between two objects, eg. for use with glissandi. gap is measured in staff-spaces.


gap (number):
Size of a gap in a variable symbol. Default value: (unset)
dash-period (number):
the length of one dash + white space. Default value: (unset)
dash-length (number):
the length of a dash. Default value: (unset)
line-thickness (number):
the thickness[stafflinethickness] of the line. Default value: (unset)
type (symbol):
one of: line, dashed-line or dotted-line. Default value: (unset)

lyric-extender-interface

The extender is a simple line at the baseline of the lyric that helps show the length of a melissima (tied/slurred note).


word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: (unset)
height (number):
in staffspace. Default value: (unset)
right-trim-amount (number):
shortening of the lyric extender on the right. Default value: (unset)

lyric-hyphen-interface

A centred hyphen is a simple line between lyrics used to divide syllables. The length of the hyphen line should stretch based on the size of the gap between syllables.


thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
height (number):
in staffspace. Default value: (unset)
minimum-length (number):
try to make the Grob at least this long.

Also works as a scaling parameter for the length of hyphen. . Default value: (unset)

word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: (unset)

lyric-syllable-interface

a single piece of lyrics


word-space (number):
elongate left by this much (FIXME: cumbersome semantics). Default value: (unset)

mark-interface

a rehearsal mark


multi-measure-rest-interface

A rest that spans a whole number of measures. For typesetting the numbers, fields from font-interface may be used.

padding is the space between number and rest. Measured in staffspace.


columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)
expand-limit (integer):
maximum number of measures expanded in church rests. Default value: (unset)
minimum-width (number):
minimum-width of rest symbol, in staffspace. Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)

note-collision-interface

An object that handles collisions between notes with different stem directions and horizontal shifts. Most of the interesting properties are to be set in note-column-interface


merge-differently-dotted (boolean):
Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by note-collision-interface . Default value: (unset)
note-width (number):
unit for horizontal translation, measured in staff-space. Default value: (unset)

note-column-interface

Stem and noteheads combined


horizontal-shift (integer):
integer that identifies ranking of note-column for horizontal shifting. This is used by note-collision-interface. Default value: (unset)
force-hshift (number):
amount of collision_note_width that overides automatic collision settings. This is used by note-collision-interface. Default value: (unset)

note-head-interface

Note head


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

note-name-interface

Note name


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

paper-column-interface


column-space-strength (number):
relative strength of space following breakable columns (eg. prefatory matter). Default value: (unset)
before-musical-spacing-factor (number):
space before musical columns (eg. taken by accidentals) get this much stretched when they follow a musical column, in absence of grace notes. 0.0 means no extra space (accidentals are ignored). Default value: (unset)
stem-spacing-correction (number):
optical correction amount. Default value: (unset)
before-grace-spacing-factor (number):
stretch space this much if there are grace notes before the column. Default value: (unset)
when (moment):
when does this column happen?. Default value: (unset)
bounded-by-me (list):
list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)
shortest-playing-duration (moment):
duration of the shortest playing in that column. Default value: (unset)
shortest-starter-duration (moment):
duration of the shortest notes that starts exactly in this column. Default value: (unset)
contains-grace (boolean):
Used to widen entries for grace notes. Default value: (unset)
extra-space (pair of numbers):
pair of distances (cons LEFT RIGHT). Default value: (unset)
stretch-distance (pair of numbers):
pair of distances. Default value: (unset)

rest-collision-interface

Move around ordinary rests (not multi-measure-rests) to avoid conflicts.


maximum-rest-count (integer):
kill off rests so we don't more than this number left. Default value: (unset)
minimum-distance (number):
minimum distance between notes and rests. Default value: (unset)
elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)

rest-interface

a rest


style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

rhythmic-head-interface

Note head or rest


dot (Grob):
reference to Dots object. Default value: (unset)
stem (Grob):
pointer to Stem object. Default value: (unset)
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc. Default value: (unset)

script-column-interface

An interface that sorts scripts according to their script-priority


script-interface


script-priority (number):
A sorting key that determines in what order a script is within a stack of scripts. Default value: (unset)

separation-item-interface

Item that computes widths to generate spacing rods.

Calc dimensions for the Separating_group_spanner; this has to be an item to get dependencies correct. It can't be an grob_group since these usually are in a different X_group


elements (list):
list of grobs, type depending on the Grob where this is set in. Default value: (unset)

separation-spanner-interface

Spanner that containing separation-item-interface grobs to calculate rods


side-position-interface

Position a victim object (this one) next to other objects (the support). #'direction = where to put the victim object (left or right?)


side-support (list):
the support, a list of grobs. Default value: (unset)
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from . Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this. Default value: (unset)
minimum-space (number):
minimum distance that the victim should move (after padding). Default value: (unset)
padding (number):
add this much extra space between objects that are next to each other. Default value: (unset)
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. . Default value: (unset)

self-alignment-Y (number):
like self-alignment-X but for Y axis. Default value: (unset)

slur-interface

A slur


de-uglify-parameters (list):
list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical. Default value: (unset)
details (list):
alist containing contaning a few magic constants. Default value: (unset)
attachment (pair):
cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end. Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
attachment-offset (pair):
cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs. [fixme: we need more documentation here]. . Default value: (unset)
beautiful (number):
number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs. Default value: (unset)
y-free (number):
minimal vertical gap between slur and noteheads or stems. Default value: (unset)
control-points (list):
List of 4 offsets (number-pairs) that form control points for the tie/slur shape. Default value: (unset)
extremity-rules (list):
an alist (procedure slur dir) -> attachment to determine the attachment (see above). If procedure returns #t, attachment is used. Otherwise, the next procedure is tried. Default value: (unset)
extremity-offset-alist (list):
an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
dashed (number):
[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes. Default value: (unset)

spaceable-element-interface

An grob (generally a Paper_column) that takes part in the spacing problem.


minimum-distances (list):
list of rods (ie. (OBJ . DIST) pairs). Default value: (unset)
ideal-distances (list):
(OBJ . (DIST . STRENGTH)) pairs. Default value: (unset)
dir-list (list):
list of stem directions, needed for optical spacing correction. Default value: (unset)

spacing-spanner-interface

SPACE = arithmetic_multiplier * ( C + log2 (TIME) )) The space taken by a note is determined by the formula

where TIME is the amount of time a note occupies. The value of C is chosen such that the smallest space within a measure is arithmetic_basicspace:

C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8))

The smallest space is the one following the shortest note in the measure, or the space following a hypothetical 1/8 note. Typically arithmetic_basicspace is set to a value so that the shortest note takes about two noteheads of space (ie, is followed by a notehead of space):

   2*quartwidth = arithmetic_multiplier * ( C + log2 (SHORTEST) ))

   { using: C = arithmetic_basicspace - log2 (mininum (SHORTEST, 1/8)) }
   { assuming: SHORTEST <= 1/8 }

               = arithmetic_multiplier *
	       ( arithmetic_basicspace - log2 (SHORTEST) + log2 (SHORTEST) )

               = arithmetic_multiplier * arithmetic_basicspace

   { choose: arithmetic_multiplier = 1.0*quartwidth (why?) }

               = quartwidth * arithmetic_basicspace

   =>

   arithmetic_basicspace = 2/1 = 2


If you want to space your music wider, use something like:

   arithmetic_basicspace = 4.;


maximum-duration-for-spacing (moment):
space as if a duration of this type is available in this measure. Default value: (unset)
arithmetic-basicspace (number):
see spacing-spanner-interface. Default value: (unset)
arithmetic-multiplier (number):
see spacing-spanner-interface. Default value: (unset)

span-bar-interface

A bar line that spans other barlines (typically used to get cross-staff barlines.


staff-symbol-interface

This spanner draws the lines of a staff. The middle line is position 0.


staff-space (number):
Amount of line leading relative to global staffspace. Default value: (unset)
line-count (integer):
Number of staff lines. Default value: (unset)

stem-interface

A stem


thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
beamed-lengths (list):
list of stem lengths given beam multiplicity . Default value: (unset)
beamed-minimum-lengths (list):
list of minimum stem lengths given beam multiplicity. Default value: (unset)
stem-centered (boolean):
Center stems on note heads. Useful for mensural notation. Default value: (unset)
lengths (list):
Stem length given multiplicity of flag. Default value: (unset)
beam (Grob):
pointer to the beam, if applicable. Default value: (unset)
stem-shorten (list):
shorten stems in forced directions given flag multiplicity. Default value: (unset)
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc. Default value: (unset)
beaming (pair of numbers):
number of beams extending to left and right. Default value: (unset)
default-neutral-direction (direction):
Where to go if we're in the middle of the staff. Default value: (unset)
stem-end-position (number):
Where does the stem end (the end is opposite to the support-head. Default value: (unset)
support-head (Grob):
the note head at one end of the stem. Default value: (unset)
heads (pair):
list of note heads,

FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.

. Default value: (unset)

direction (direction):
up or down, left or right?. Default value: (unset)
stem-length (number):
length of stem. Default value: (unset)
style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)
flag-style (string):
style for flag (hook of a stem). Default value: (unset)
dir-forced (boolean):
set if direction has been forced; read by Beam. Default value: (unset)

stem-tremolo-interface


stem (Grob):
pointer to Stem object. Default value: (unset)
beam-width (number):
width of the tremolo sign. Default value: (unset)
beam-thickness (number):
thickness, measured in staffspace. Default value: (unset)
beam-space-function (procedure):
function returning space given multiplicity. Default value: (unset)

sustain-pedal-interface


system-start-delimiter-interface

#'style can be bar-line, bracket or brace


bar-line-collapse-height (number):
Minimum height of system start delimiter bar-line glyphs. If equal or smaller, the bar-line is removed. Default value: (unset)
brace-collapse-height (number):
Minimum height of system start delimiter brace glyphs. If equal or smaller, the brace is removed. Default value: (unset)
bracket-collapse-height (number):
Minimum height of system start delimiter bracket glyphs. If equal or smaller, the bracket is removed. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
arch-height (number):
height of the hook of a system brace. Default value: (unset)
arch-angle (number):
turning angle of the hook of a system brace Default value: (unset)
arch-thick (number):
thickness of the hook of system brace. Default value: (unset)
arch-width (number):
width of the hook of a system brace. Default value: (unset)
bracket-thick (number):
width of a system start bracket. . Default value: (unset)
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

text-interface

A scheme markup text


text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
. Default value: (unset)
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical. Default value: (unset)
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name. Default value: (unset)
raise (number):
height for text to be raised (a negative value lowers the text. Default value: (unset)
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line. Default value: (unset)

magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts. Default value: (unset)

text-script-interface

Any text script


text-spanner-interface

generic text spanner


dash-period (number):
the length of one dash + white space. Default value: (unset)
dash-length (number):
the length of a dash. Default value: (unset)
line-thickness (number):
the thickness[stafflinethickness] of the line. Default value: (unset)
edge-height (pair):
a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height). Default value: (unset)
edge-text (pair):
a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text). Default value: (unset)
type (symbol):
one of: line, dashed-line or dotted-line. Default value: (unset)

tie-column-interface

that sets tie directions in a tied chord


direction (direction):
up or down, left or right?. Default value: (unset)

tie-interface

A tie connecting two noteheads. direction = Forced direction for all ties


staffline-clearance (number):
don't get closer than this to stafflines. Default value: (unset)
control-points (list):
List of 4 offsets (number-pairs) that form control points for the tie/slur shape. Default value: (unset)
heads (pair):
list of note heads,

FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.

. Default value: (unset)

details (list):
alist containing contaning a few magic constants. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
x-gap (number):
horizontal gap between notehead and tie. Default value: (unset)
direction (direction):
up or down, left or right?. Default value: (unset)
minimum-length (number):
try to make the Grob at least this long.

Also works as a scaling parameter for the length of hyphen. . Default value: (unset)


time-signature-interface

A time signature, in different styles. The following values for 'style are are recognized:


C
4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits.
old
2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are typeset with old-style mensuration marks. All other time signatures are written with two digits.
1xxx
All time signatures are typeset with a single digit, e.g. 3/2 is written as 3. (Any symbol starting with the digit 1 will do.)
CM/N,
oldM/N or old6/8alt Tells LilyPond to use a specific symbol as time signature, regardless of the actual time signature.

See also the test-file input/test/time.ly.


fraction (pair of numbers):
fraction of a time signature. Default value: (unset)
style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. . Default value: (unset)

tuplet-bracket-interface

A bracket with a number in the middle, used for tuplets.


beams (list):
list of beam ptrs. Default value: (unset)
columns (list):
list of grobs, typically containing paper-columns, list of note-columns. Default value: (unset)
number-gap (number):
size of the gap for the number in a tuplet. Default value: (unset)
delta-y (number):
amount of ascension. Default value: (unset)
tuplet-bracket-visibility (boolean or symbol):
This controls the visibility of the tuplet bracket. Setting it to false will prevent printing of the bracket. Setting the property to #'if-no-beam will make it print only if there is no beam associated with this tuplet bracket. Default value: (unset)
tuplet-number-visibility (boolean or symbol):
Like tuplet-bracket-visibility, but for the number. Default value: (unset)
parallel-beam (boolean):
internal: true if there is a beam just as wide as the bracket . Default value: (unset)
thick (number):
thickness, in stafflinethickness. Default value: (unset)

volta-bracket-interface

Volta bracket with number


bars (list):
list of barline pointers. Default value: (unset)
thickness (number):
thickness, measured in stafflinethickness. Default value: (unset)
height (number):
in staffspace. Default value: (unset)

LilyPond backend properties


X-extent-callback (procedure):
procedure taking an grob and axis argument, returning a number-pair. The return value is the extent of the grob.
X-offset-callbacks (list):
list of functions, each taking an grob and axis argument. The function determine the position relative to this grob's parent. The last one in the list is called first.
Y-extent-callback (procedure):
see X-extent-callback.
Y-offset-callbacks (list):
see X-offset-callbacks.
after-line-breaking-callback (procedure):
Procedure taking a grob as argument. This procedure is called (using dependency resolution) after line breaking. Return value is ignored.
align (number):
the alignment of the text, 0 is horizontal, 1 is vertical.
align-dir (direction):
Which side to align? -1: left side, 0: around center of width, 1: right side.
alignment-done (boolean):
boolean to administrate whether we've done the alignment already (to ensure that the process is done only once).
all-elements (list):
list of all grobs in this line. Needed for protecting grobs from GC.
arch-angle (number):
turning angle of the hook of a system brace
arch-height (number):
height of the hook of a system brace.
arch-thick (number):
thickness of the hook of system brace.
arch-width (number):
width of the hook of a system brace.
arithmetic-basicspace (number):
see spacing-spanner-interface.
arithmetic-multiplier (number):
see spacing-spanner-interface.
attachment (pair):
cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end.
attachment-offset (pair):
cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs. [fixme: we need more documentation here]. .
auto-knee-gap (unknown type):
the minimal smallest gap between two adjacent beamed chords for which beam will create auto-knees. Set to false for no auto knees.
axes (list):
list of axis numbers. In the case of alignment grobs, this should contain only one number.
bar-line-collapse-height (number):
Minimum height of system start delimiter bar-line glyphs. If equal or smaller, the bar-line is removed.
bar-size (number):
size of a bar line.
bars (list):
list of barline pointers.
barsize-procedure (procedure):
Procedure that computes the size of a bar line.
bass (list):
musical-pitch, optional.
beam (Grob):
pointer to the beam, if applicable.
beam-space-function (procedure):
function returning space given multiplicity.
beam-space-function (procedure):
function returning space given multiplicity.
beam-thickness (number):
thickness, measured in staffspace.
beam-thickness (number):
thickness, measured in staffspace.
beam-width (number):
width of the tremolo sign.
beamAuto (boolean):
enable autobeaming?.
beamed-lengths (list):
list of stem lengths given beam multiplicity .
beamed-minimum-lengths (list):
list of minimum stem lengths given beam multiplicity.
beamed-stem-shorten (number):
shorten beamed stems in forced direction.
beaming (pair of numbers):
number of beams extending to left and right.
beams (list):
list of beam ptrs.
beautiful (number):
number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.
before-grace-spacing-factor (number):
stretch space this much if there are grace notes before the column.
before-line-breaking-callback (procedure):
Procedure taking grob as argument. This procedure is called (using dependency resolution) before line breaking, but after generating discretionary items. Return value is ignored.
before-musical-spacing-factor (number):
space before musical columns (eg. taken by accidentals) get this much stretched when they follow a musical column, in absence of grace notes. 0.0 means no extra space (accidentals are ignored).
between-system-string (string):
string to dump between two systems. Useful for forcing pagebreaks.
bounded-by-me (list):
list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.
brace-collapse-height (number):
Minimum height of system start delimiter brace glyphs. If equal or smaller, the brace is removed.
bracket-collapse-height (number):
Minimum height of system start delimiter bracket glyphs. If equal or smaller, the bracket is removed.
bracket-thick (number):
width of a system start bracket. .
break-align-symbol (symbol):
the index in the spacing table (symbol) of the to be aligned item.
break-glyph-function (procedure):
function taking glyph and break-direction, returning the glyph at a line break.
breakable (boolean):
boolean indicating if this is a breakable item (clef, barline, key sig, etc.).
c0-position (integer):
integer indicating the position of central C.
center-element (Grob):
grob which will be at the center of the group after aligning (when using Align_interface::center_on_element). .
chordChanges (boolean):
only show changes in chord scheme?.
column-space-strength (number):
relative strength of space following breakable columns (eg. prefatory matter).
columns (list):
list of grobs, typically containing paper-columns, list of note-columns.
contains-grace (boolean):
Used to widen entries for grace notes.
control-points (list):
List of 4 offsets (number-pairs) that form control points for the tie/slur shape.
damping (integer):
amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .
dash-length (number):
the length of a dash.
dash-period (number):
the length of one dash + white space.
dashed (number):
[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.
de-uglify-parameters (list):
list of 3 real constants. They define the valid areas for the middle control points. Used in de_uglyfy. They are a bit empirical.
default-neutral-direction (direction):
Where to go if we're in the middle of the staff.
delta-y (number):
amount of ascension.
dependencies (list):
list of score-grob pointers that indicate who to compute first for certain global passes.
details (list):
alist containing contaning a few magic constants.
details (list):
alist containing contaning a few magic constants.
dir-forced (boolean):
set if direction has been forced; read by Beam.
dir-function (procedure):
function of type (count total)->direction. Default value: beam-dir-majority, also available: beam-dir-mean, beam-dir-median.
dir-list (list):
list of stem directions, needed for optical spacing correction.
direction (direction):
up or down, left or right?.
direction-source (Grob):
in case side-relative-direction is set, which grob to get the direction from .
dot (Grob):
reference to Dots object.
dot-count (integer):
number of dots.
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc.
duration-log (integer):
log of the duration, ie. 0=whole note, 1 = half note, etc.
dy (number):
set by beam: vertical travel height
edge-height (pair):
a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height).
edge-text (pair):
a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text).
elements (list):
list of grobs, type depending on the Grob where this is set in.
expand-limit (integer):
maximum number of measures expanded in church rests.
extra-extent-X (pair of numbers):
enlarge in X dimension by this much, measured in staff space.
extra-extent-Y (pair of numbers):
see extra-extent-Y.
extra-offset (pair of numbers):
pair of reals (a cons) forcing an extra offset before outputting.
extra-space (pair of numbers):
pair of distances (cons LEFT RIGHT).
extremity-offset-alist (list):
an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.
extremity-rules (list):
an alist (procedure slur dir) -> attachment to determine the attachment (see above). If procedure returns #t, attachment is used. Otherwise, the next procedure is tried.
flag-style (string):
style for flag (hook of a stem).
flag-width-function (procedure):
Procedure that computes the width of a half-beam (a non-connecting beam.).
font-family (symbol):
partial font definition: music roman braces dynamic math ...
font-name (symbol):
partial font definition: base name of font file FIXME: should override other partials.
font-point-size (number):
partial font definition: exact font size in points FIXME: should override font-relative-size.
font-relative-size (number):
partial font definition: the relative size compared the `normal' size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller.
font-series (symbol):
partial font definition: medium, bold.
font-shape (symbol):
partial font definition: upright or italic.
font-style (symbol):
a precooked set of font definitions, eg. finger volta timesig mark script large Large dynamic.
force-hshift (number):
amount of collision_note_width that overides automatic collision settings. This is used by note-collision-interface.
forced-distance (number):
forced distance for an alignment.
fraction (pair of numbers):
fraction of a time signature.
full-size-change (boolean):
if set, don't make a change clef smaller.
gap (number):
Size of a gap in a variable symbol.
glyph (symbol):
a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. .
glyph-name (string):
a name of character within font.
grow-direction (direction):
crescendo or decrescendo?.
hair-thickness (number):
thickness, measured in stafflinethickness.
heads (pair):
list of note heads,

FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie.

.

height (number):
in staffspace.
height-quants (procedure):
function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants. .
horizontal-shift (integer):
integer that identifies ranking of note-column for horizontal shifting. This is used by note-collision-interface.
horizontal-space (number):
amount of space to add after a note (in staff-space).
ideal-distances (list):
(OBJ . (DIST . STRENGTH)) pairs.
interfaces (list):
list of symbols indicating the interfaces supported by this object. Is initialized from the meta field.
inversion (list):
musical-pitch, optional.
items-worth-living (list):
list of interesting items. If empty in a particular system, clear that system.
kern (number):
amount of extra white space to add.

For text, this is `relative'(?) to the current alignment.

For barline, space after a thick line.

left-padding (number):
space left of accs.
length (number):
Stem length for unbeamed stems, only for user override.
lengths (list):
Stem length given multiplicity of flag.
line-count (integer):
Number of staff lines.
line-thickness (number):
the thickness[stafflinethickness] of the line.
lookup (symbol):
lookup method: 'value for plain text, 'name for character-name.
magnify (number):
the magnification factor. FIXME: doesn't work for feta fonts.
maximum-duration-for-spacing (moment):
space as if a duration of this type is available in this measure.
maximum-rest-count (integer):
kill off rests so we don't more than this number left.
merge-differently-dotted (boolean):
Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by note-collision-interface .
minimum-distance (number):
minimum distance between notes and rests.
minimum-distances (list):
list of rods (ie. (OBJ . DIST) pairs).
minimum-extent-X (pair of numbers):
minimum size in X dimension, measured in staff space.
minimum-extent-Y (pair of numbers):
see minimum-extent-Y.
minimum-length (number):
try to make the Grob at least this long.

Also works as a scaling parameter for the length of hyphen. .

minimum-space (number):
minimum distance that the victim should move (after padding).
minimum-space (number):
minimum distance that the victim should move (after padding).
minimum-width (number):
minimum-width of rest symbol, in staffspace.
molecule-callback (procedure):
Function taking grob as argument, returning a Scheme encoded Molecule.
new-accidentals (list):
list of (pitch, accidental) pairs.
no-spacing-rods (boolean):
read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM).
no-stem-extend (boolean):
should stem not be extended to middle staff line?.
non-default (boolean):
not set because of existence of a bar?.
note-width (number):
unit for horizontal translation, measured in staff-space.
number-gap (number):
size of the gap for the number in a tuplet.
old-accidentals (list):
list of (pitch, accidental) pairs.
origin (input location):
location in input file of the definition.
outer-stem-length-limit (number):
catch suspect beam slopes, set slope to zero if outer stem is lengthened more than this (in staffspace).
padding (number):
add this much extra space between objects that are next to each other.
parallel-beam (boolean):
internal: true if there is a beam just as wide as the bracket .
pitches (list):
list of musical-pitch.
raise (number):
height for text to be raised (a negative value lowers the text.
right-padding (number):
space right of accs.
right-trim-amount (number):
shortening of the lyric extender on the right.
script-priority (number):
A sorting key that determines in what order a script is within a stack of scripts.
self-alignment-X (number):
real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction.

Set to an grob pointer, if you want that grob to be the center. In this case, the center grob should have this object as a reference point. .

self-alignment-Y (number):
like self-alignment-X but for Y axis.
shortest-playing-duration (moment):
duration of the shortest playing in that column.
shortest-starter-duration (moment):
duration of the shortest notes that starts exactly in this column.
side-relative-direction (direction):
if set: get the direction from a different object, and multiply by this.
side-support (list):
the support, a list of grobs.
slope-limit (number):
set slope to zero if slope is running away steeper than this.
space-function (procedure):
function of type multiplicity -> real (in staffspace).
spacing-procedure (procedure):
procedure taking grob as argument. This is called after before-line-breaking-callback, but before the actual line breaking itself. Return value is ignored.
stacking-dir (direction):
stack contents of grobs in which direction ?.
staff-position (number):
vertical position in staff spaces, counted from the middle line.
staff-space (number):
Amount of line leading relative to global staffspace.
staffline-clearance (number):
don't get closer than this to stafflines.
stem (Grob):
pointer to Stem object.
stem-centered (boolean):
Center stems on note heads. Useful for mensural notation.
stem-end-position (number):
Where does the stem end (the end is opposite to the support-head.
stem-length (number):
length of stem.
stem-shorten (list):
shorten stems in forced directions given flag multiplicity.
stem-spacing-correction (number):
optical correction amount.
stems (list):
list of stem objects, corresponding to the notes that the arpeggio has to be before.
stretch-distance (pair of numbers):
pair of distances.
style (symbol):
a string determining what style of glyph is typeset. Valid choices depend on the function that is reading this property. .
support-head (Grob):
the note head at one end of the stem.
text (markup (list or string)):
Scheme markup text. It is defined as follows:
TEXT : STRING | (MARKUP SENTENCE)
MARKUP: PROPERTY | ABBREV
SENTENCE: TEXT | SENTENCE TEXT
PROPERTY: (key . value)
ABBREV: rows lines roman music bold italic named super sub text, or any font-style

So, TEXT is either a string, or a list of which the CAR is a MARKUP. MARKUP is either a CONS: an grob property '(key . value) or a symbol: a predefined abbreviation for a list of grob properties.

The following abbreviations are currently defined:

rows
horizontal mode: set all text on one line (default)
lines
vertical mode: set every text on new line
roman
select roman font
music
select feta font
bold
select bold series
italic
select italic shape
named
lookup by character name
text
plain text lookup (by character value)
super
superscript
sub
subscript
any font-style
finger volta timesig mmrest mark script large Large dynamic
.
thick (number):
thickness, in stafflinethickness.
thick-thickness (number):
thickness, measured in stafflinethickness.
thickness (number):
thickness, measured in stafflinethickness.
thin-kern (number):
space after a hair-line.
threshold (pair of numbers):
(cons MIN MAX), where MIN and MAX are dimensions in staffspace.
transparent (boolean):
This is almost the same as setting molecule-callback to #f, but this retains the dimensions of this grob, which means that you can erase grobs individually. .
tuplet-bracket-visibility (boolean or symbol):
This controls the visibility of the tuplet bracket. Setting it to false will prevent printing of the bracket. Setting the property to #'if-no-beam will make it print only if there is no beam associated with this tuplet bracket.
tuplet-number-visibility (boolean or symbol):
Like tuplet-bracket-visibility, but for the number.
type (symbol):
one of: line, dashed-line or dotted-line.
vertical-position-quant-function (procedure):
function of type (beam multiplicity dy staff-line-thickness) -> real. Default value: default-beam-y-quants, also available: beam-traditional-y-quants. .
visibility-lambda (procedure):
a function that takes the break direction and returns a cons of booleans containing (TRANSPARENT . EMPTY).
when (moment):
when does this column happen?.
word-space (number):
elongate left by this much (FIXME: cumbersome semantics).
x-gap (number):
horizontal gap between notehead and tie.
y (number):
set by beam: position of left edge.
y-free (number):
minimal vertical gap between slur and noteheads or stems.

Concept index

Variable index

Function index

Go back to index of LilyPond.

Please send GNU LilyPond questions and comments to gnu-music-discuss@gnu.org.

Please send comments on these web pages to (address unknown)

Copyright (c) 1997, 1998, 1999, 2000 Han-Wen Nienhuys and Jan Nieuwenhuizen.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


This page was built from LilyPond-1.3.129 by

<(address unknown)>, Mon Feb 26 13:36:34 2001 CET.