GNU LilyPond – Internals Reference

This document is also available as a PDF and as one big page.

This is the Internals Reference (IR) for version 2.11.64 of LilyPond, the GNU music typesetter.


1. Music definitions


1.1 Music expressions


1.1.1 AbsoluteDynamicEvent

Create a dynamic mark.

Syntax: note\x, where \x is a dynamic mark like \ppp or \sfz. A complete list is in file ‘ly/dynamic-scripts-init.ly’.

Event classes: absolute-dynamic-event, dynamic-event, music-event and StreamEvent.

Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.

Properties:

name (symbol):

'AbsoluteDynamicEvent

Name of this music object.

types (list):

'(general-music event dynamic-event absolute-dynamic-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.2 AnnotateOutputEvent

Print an annotation of an output element.

Event classes: annotate-output-event, music-event and StreamEvent.

Accepted by: Balloon_engraver.

Properties:

name (symbol):

'AnnotateOutputEvent

Name of this music object.

types (list):

'(general-music event annotate-output-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.3 ApplyContext

Call the argument with the current context during interpreting phase.

Properties:

name (symbol):

'ApplyContext

Name of this music object.

types (list):

'(general-music apply-context)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:apply-context-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.4 ApplyOutputEvent

Call the argument with all current grobs during interpreting phase.

Syntax: \applyOutput #'context func

Arguments to func are 1. the grob, 2. the originating context, and 3. the context where func is called.

Event classes: apply-output-event, layout-instruction-event, music-event and StreamEvent.

Accepted by: Output_property_engraver.

Properties:

name (symbol):

'ApplyOutputEvent

Name of this music object.

types (list):

'(general-music event apply-output-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.5 ArpeggioEvent

Make an arpeggio on this note.

Syntax: note-\arpeggio

Event classes: arpeggio-event, music-event and StreamEvent.

Accepted by: Arpeggio_engraver.

Properties:

name (symbol):

'ArpeggioEvent

Name of this music object.

types (list):

'(general-music arpeggio-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.6 ArticulationEvent

Add an articulation marking to a note.

Syntax: notexy, where x is a direction (^ for up or _ for down), or LilyPond’s choice (no direction specified)), and where y is an articulation (such as -., ->, \tenuto, \downbow). See the Notation Reference for details.

Event classes: articulation-event, script-event, music-event and StreamEvent.

Accepted by: Script_engraver.

Properties:

name (symbol):

'ArticulationEvent

Name of this music object.

types (list):

'(general-music event articulation-event script-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.7 AutoChangeMusic

Used for making voices that switch between piano staves automatically.

Properties:

name (symbol):

'AutoChangeMusic

Name of this music object.

iterator-ctor (procedure):

ly:auto-change-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music music-wrapper-music auto-change-instruction)

The types of this music object; determines by what engraver this music expression is processed.


1.1.8 BarCheck

Check whether this music coincides with the start of the measure.

Properties:

name (symbol):

'BarCheck

Name of this music object.

types (list):

'(general-music bar-check)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:bar-check-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.9 BassFigureEvent

Print a bass-figure text.

Event classes: bass-figure-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Figured_bass_engraver.

Properties:

name (symbol):

'BassFigureEvent

Name of this music object.

types (list):

'(general-music event rhythmic-event bass-figure-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.10 BeamEvent

Start or stop a beam.

Syntax for manual control: c8-[ c c-] c8

Event classes: beam-event, span-event, music-event and StreamEvent.

Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.

Properties:

name (symbol):

'BeamEvent

Name of this music object.

types (list):

'(general-music event beam-event span-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.11 BeamForbidEvent

Specify that a note may not auto-beamed.

Event classes: beam-forbid-event, music-event and StreamEvent.

Accepted by: Auto_beam_engraver.

Properties:

name (symbol):

'BeamForbidEvent

Name of this music object.

types (list):

'(general-music event beam-forbid-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.12 BendAfterEvent

A drop/fall/doit jazz articulation.

Event classes: bend-after-event, music-event and StreamEvent.

Accepted by: Bend_engraver.

Properties:

name (symbol):

'BendAfterEvent

Name of this music object.

types (list):

'(general-music bend-after-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.13 BreathingEvent

Create a ‘breath mark’ or ‘comma’.

Syntax: note\breathe

Event classes: breathing-event, music-event and StreamEvent.

Accepted by: Breathing_sign_engraver.

Properties:

name (symbol):

'BreathingEvent

Name of this music object.

types (list):

'(general-music event breathing-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.14 ClusterNoteEvent

A note that is part of a cluster.

Event classes: cluster-note-event, melodic-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Cluster_spanner_engraver.

Properties:

name (symbol):

'ClusterNoteEvent

Name of this music object.

types (list):

'(general-music cluster-note-event melodic-event rhythmic-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.15 ContextChange

Change staves in Piano staff.

Syntax: \change Staff = new-id

Properties:

name (symbol):

'ContextChange

Name of this music object.

iterator-ctor (procedure):

ly:change-iterator::constructor

Function to construct a music-event-iterator object for this music.

types (list):

'(general-music translator-change-instruction)

The types of this music object; determines by what engraver this music expression is processed.


1.1.16 ContextSpeccedMusic

Interpret the argument music within a specific context.

Properties:

name (symbol):

'ContextSpeccedMusic

Name of this music object.

iterator-ctor (procedure):

ly:context-specced-music-iterator::constructor

Function to construct a music-event-iterator object for this music.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(context-specification general-music music-wrapper-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.17 CrescendoEvent

Begin or end a crescendo.

Syntax: note\crnote\rc

You can also use \<, \!, \cresc, and \endcresc. See the Notation Reference for details.

Event classes: crescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.

Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.

Properties:

name (symbol):

'CrescendoEvent

Name of this music object.

types (list):

'(general-music span-event span-dynamic-event crescendo-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.18 DecrescendoEvent

See CrescendoEvent.

Event classes: decrescendo-event, span-dynamic-event, span-event, music-event and StreamEvent.

Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.

Properties:

name (symbol):

'DecrescendoEvent

Name of this music object.

types (list):

'(general-music span-event span-dynamic-event decrescendo-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.19 Event

Atomic music event.

Properties:

name (symbol):

'Event

Name of this music object.

types (list):

'(general-music event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.20 EventChord

Internally used to group a set of events.

Properties:

name (symbol):

'EventChord

Name of this music object.

iterator-ctor (procedure):

ly:event-chord-iterator::constructor

Function to construct a music-event-iterator object for this music.

length-callback (procedure):

ly:music-sequence::maximum-length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

to-relative-callback (procedure):

ly:music-sequence::event-chord-relative-callback

How to transform a piece of music to relative pitches.

types (list):

'(general-music event-chord simultaneous-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.21 ExtenderEvent

Extend lyrics.

Event classes: extender-event, music-event and StreamEvent.

Accepted by: Extender_engraver.

Properties:

name (symbol):

'ExtenderEvent

Name of this music object.

types (list):

'(general-music extender-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.22 FingeringEvent

Specify what finger to use for this note.

Event classes: fingering-event, music-event and StreamEvent.

Accepted by: Fingering_engraver.

Properties:

name (symbol):

'FingeringEvent

Name of this music object.

types (list):

'(general-music fingering-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.23 GlissandoEvent

Start a glissando on this note.

Event classes: glissando-event, music-event and StreamEvent.

Accepted by: Glissando_engraver.

Properties:

name (symbol):

'GlissandoEvent

Name of this music object.

types (list):

'(general-music glissando-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.24 GraceMusic

Interpret the argument as grace notes.

Properties:

name (symbol):

'GraceMusic

Name of this music object.

start-callback (procedure):

ly:grace-music::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length (moment):

#<Mom 0>

The duration of this music.

iterator-ctor (procedure):

ly:grace-iterator::constructor

Function to construct a music-event-iterator object for this music.

types (list):

'(grace-music music-wrapper-music general-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.25 HarmonicEvent

Mark a note as harmonic.

Event classes: harmonic-event, music-event and StreamEvent.

Not accepted by any engraver or performer.

Properties:

name (symbol):

'HarmonicEvent

Name of this music object.

types (list):

'(general-music event harmonic-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.26 HyphenEvent

A hyphen between lyric syllables.

Event classes: hyphen-event, music-event and StreamEvent.

Accepted by: Hyphen_engraver.

Properties:

name (symbol):

'HyphenEvent

Name of this music object.

types (list):

'(general-music hyphen-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.27 KeyChangeEvent

Change the key signature.

Syntax: \key name scale

Event classes: key-change-event, music-event and StreamEvent.

Accepted by: Key_engraver and Key_performer.

Properties:

name (symbol):

'KeyChangeEvent

Name of this music object.

to-relative-callback (procedure):

#<procedure #f (x p)>

How to transform a piece of music to relative pitches.

types (list):

'(general-music key-change-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.28 LabelEvent

Place a bookmarking label.

Event classes: label-event, music-event and StreamEvent.

Accepted by: Paper_column_engraver.

Properties:

name (symbol):

'LabelEvent

Name of this music object.

types (list):

'(general-music label-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.29 LaissezVibrerEvent

Don’t damp this chord.

Syntax: note\laissezVibrer

Event classes: laissez-vibrer-event, music-event and StreamEvent.

Accepted by: Laissez_vibrer_engraver.

Properties:

name (symbol):

'LaissezVibrerEvent

Name of this music object.

types (list):

'(general-music event laissez-vibrer-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.30 LigatureEvent

Start or end a ligature.

Event classes: ligature-event, span-event, music-event and StreamEvent.

Accepted by: Ligature_bracket_engraver, Mensural_ligature_engraver and Vaticana_ligature_engraver.

Properties:

name (symbol):

'LigatureEvent

Name of this music object.

span-type (string):

'ligature

What kind of spanner should be created?

TODO: Consider making type into symbol.

types (list):

'(general-music span-event ligature-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.31 LineBreakEvent

Allow, forbid or force a line break.

Event classes: line-break-event, break-event, music-event and StreamEvent.

Accepted by: Page_turn_engraver and Paper_column_engraver.

Properties:

name (symbol):

'LineBreakEvent

Name of this music object.

types (list):

'(general-music line-break-event break-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.32 LyricCombineMusic

Align lyrics to the start of notes.

Syntax: \lyricsto voicename lyrics

Properties:

name (symbol):

'LyricCombineMusic

Name of this music object.

length (moment):

#<Mom 0>

The duration of this music.

types (list):

'(general-music lyric-combine-music)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:lyric-combine-music-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.33 LyricEvent

A lyric syllable. Must be entered in lyrics mode, i.e., \lyrics { twinkle4 twinkle4 } .

Event classes: lyric-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Lyric_engraver and Lyric_performer.

Properties:

name (symbol):

'LyricEvent

Name of this music object.

types (list):

'(general-music rhythmic-event lyric-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.34 MarkEvent

Insert a rehearsal mark.

Syntax: \mark marker

Example: \mark "A"

Event classes: mark-event, music-event and StreamEvent.

Accepted by: Mark_engraver.

Properties:

name (symbol):

'MarkEvent

Name of this music object.

types (list):

'(general-music mark-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.35 MultiMeasureRestEvent

Used internally by MultiMeasureRestMusic to signal rests.

Event classes: multi-measure-rest-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Multi_measure_rest_engraver.

Properties:

name (symbol):

'MultiMeasureRestEvent

Name of this music object.

types (list):

'(general-music event rhythmic-event multi-measure-rest-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.36 MultiMeasureRestMusic

Rests that may be compressed into Multi rests.

Syntax: R2.*4 for 4 measures in 3/4 time.

Properties:

name (symbol):

'MultiMeasureRestMusic

Name of this music object.

iterator-ctor (procedure):

ly:sequential-iterator::constructor

Function to construct a music-event-iterator object for this music.

elements-callback (procedure):

mm-rest-child-list

Return a list of children, for use by a sequential iterator. Takes a single music parameter.

types (list):

'(general-music multi-measure-rest)

The types of this music object; determines by what engraver this music expression is processed.


1.1.37 MultiMeasureTextEvent

Texts on multi measure rests.

Syntax: R-\markup { \roman "bla" }

Note the explicit font switch.

Event classes: multi-measure-text-event, music-event and StreamEvent.

Accepted by: Multi_measure_rest_engraver.

Properties:

name (symbol):

'MultiMeasureTextEvent

Name of this music object.

types (list):

'(general-music event multi-measure-text-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.38 Music

Generic type for music expressions.

Properties:

name (symbol):

'Music

Name of this music object.

types (list):

'(general-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.39 NoteEvent

A note.

Event classes: note-event, melodic-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Chord_name_engraver, Completion_heads_engraver, Drum_note_performer, Drum_notes_engraver, Fretboard_engraver, Note_heads_engraver, Note_name_engraver, Note_performer and Tab_note_heads_engraver.

Properties:

name (symbol):

'NoteEvent

Name of this music object.

types (list):

'(general-music event note-event rhythmic-event melodic-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.40 NoteGroupingEvent

Start or stop grouping brackets.

Event classes: note-grouping-event, music-event and StreamEvent.

Accepted by: Horizontal_bracket_engraver.

Properties:

name (symbol):

'NoteGroupingEvent

Name of this music object.

types (list):

'(general-music event note-grouping-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.41 OverrideProperty

Extend the definition of a graphical object.

Syntax: \override [ context . ] object property = value

Properties:

name (symbol):

'OverrideProperty

Name of this music object.

types (list):

'(general-music layout-instruction-event override-property-event)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:push-property-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.42 PageBreakEvent

Allow, forbid or force a page break.

Event classes: page-break-event, break-event, music-event and StreamEvent.

Accepted by: Page_turn_engraver and Paper_column_engraver.

Properties:

name (symbol):

'PageBreakEvent

Name of this music object.

types (list):

'(general-music break-event page-break-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.43 PageTurnEvent

Allow, forbid or force a page turn.

Event classes: page-turn-event, break-event, music-event and StreamEvent.

Accepted by: Page_turn_engraver and Paper_column_engraver.

Properties:

name (symbol):

'PageTurnEvent

Name of this music object.

types (list):

'(general-music break-event page-turn-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.44 PartCombineMusic

Combine two parts on a staff, either merged or as separate voices.

Properties:

name (symbol):

'PartCombineMusic

Name of this music object.

length-callback (procedure):

ly:music-sequence::maximum-length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-sequence::minimum-start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music part-combine-music)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:part-combine-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.45 PercentEvent

Used internally to signal percent repeats.

Event classes: percent-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Percent_repeat_engraver and Slash_repeat_engraver.

Properties:

name (symbol):

'PercentEvent

Name of this music object.

types (list):

'(general-music event percent-event rhythmic-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.46 PercentRepeatedMusic

Repeats encoded by percents.

Properties:

name (symbol):

'PercentRepeatedMusic

Name of this music object.

iterator-ctor (procedure):

ly:percent-repeat-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:repeated-music::first-start

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:repeated-music::unfolded-music-length

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music repeated-music percent-repeated-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.47 PesOrFlexaEvent

Within a ligature, mark the previous and the following note to form a pes (if melody goes up) or a flexa (if melody goes down).

Event classes: pes-or-flexa-event, music-event and StreamEvent.

Accepted by: Vaticana_ligature_engraver.

Properties:

name (symbol):

'PesOrFlexaEvent

Name of this music object.

types (list):

'(general-music pes-or-flexa-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.48 PhrasingSlurEvent

Start or end phrasing slur.

Syntax: note\( and note\)

Event classes: phrasing-slur-event, span-event, music-event and StreamEvent.

Accepted by: Phrasing_slur_engraver.

Properties:

name (symbol):

'PhrasingSlurEvent

Name of this music object.

types (list):

'(general-music span-event event phrasing-slur-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.49 PropertySet

Set a context property.

Syntax: \property context.prop = scheme-val

Properties:

name (symbol):

'PropertySet

Name of this music object.

types (list):

'(layout-instruction-event general-music)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:property-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.50 PropertyUnset

Remove the definition of a context \property.

Properties:

name (symbol):

'PropertyUnset

Name of this music object.

types (list):

'(layout-instruction-event general-music)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:property-unset-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.51 QuoteMusic

Quote preprocessed snippets of music.

Properties:

name (symbol):

'QuoteMusic

Name of this music object.

iterator-ctor (procedure):

ly:music-wrapper-iterator::constructor

Function to construct a music-event-iterator object for this music.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music music-wrapper-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.52 RelativeOctaveCheck

Check if a pitch is in the correct octave.

Properties:

name (symbol):

'RelativeOctaveCheck

Name of this music object.

to-relative-callback (procedure):

ly:relative-octave-check::relative-callback

How to transform a piece of music to relative pitches.

types (list):

'(general-music relative-octave-check)

The types of this music object; determines by what engraver this music expression is processed.


1.1.53 RelativeOctaveMusic

Music that was entered in relative octave notation.

Properties:

name (symbol):

'RelativeOctaveMusic

Name of this music object.

to-relative-callback (procedure):

ly:relative-octave-music::relative-callback

How to transform a piece of music to relative pitches.

iterator-ctor (procedure):

ly:music-wrapper-iterator::constructor

Function to construct a music-event-iterator object for this music.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(music-wrapper-music general-music relative-octave-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.54 RepeatTieEvent

Ties for starting a second volta bracket.

Event classes: repeat-tie-event, music-event and StreamEvent.

Accepted by: Repeat_tie_engraver.

Properties:

name (symbol):

'RepeatTieEvent

Name of this music object.

types (list):

'(general-music event repeat-tie-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.55 RepeatedMusic

Repeat music in different ways.

Properties:

name (symbol):

'RepeatedMusic

Name of this music object.

types (list):

'(general-music repeated-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.56 RestEvent

A Rest.

Syntax: r4 for a quarter rest.

Event classes: rest-event, rhythmic-event, music-event and StreamEvent.

Accepted by: Figured_bass_engraver and Rest_engraver.

Properties:

name (symbol):

'RestEvent

Name of this music object.

types (list):

'(general-music event rhythmic-event rest-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.57 RevertProperty

The opposite of OverrideProperty: remove a previously added property from a graphical object definition.

Properties:

name (symbol):

'RevertProperty

Name of this music object.

types (list):

'(general-music layout-instruction-event)

The types of this music object; determines by what engraver this music expression is processed.

iterator-ctor (procedure):

ly:pop-property-iterator::constructor

Function to construct a music-event-iterator object for this music.


1.1.58 ScriptEvent

Add an articulation mark to a note.

Event classes: script-event, music-event and StreamEvent.

Not accepted by any engraver or performer.

Properties:

name (symbol):

'ScriptEvent

Name of this music object.

types (list):

'(general-music event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.59 SequentialMusic

Music expressions concatenated.

Syntax: \sequential { … } or simply { … }

Properties:

name (symbol):

'SequentialMusic

Name of this music object.

length-callback (procedure):

ly:music-sequence::cumulative-length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-sequence::first-start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

elements-callback (procedure):

#<procedure #f (m)>

Return a list of children, for use by a sequential iterator. Takes a single music parameter.

iterator-ctor (procedure):

ly:sequential-iterator::constructor

Function to construct a music-event-iterator object for this music.

types (list):

'(general-music sequential-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.60 SimultaneousMusic

Music playing together.

Syntax: \simultaneous { … } or << … >>

Properties:

name (symbol):

'SimultaneousMusic

Name of this music object.

iterator-ctor (procedure):

ly:simultaneous-music-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:music-sequence::minimum-start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:music-sequence::maximum-length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

to-relative-callback (procedure):

ly:music-sequence::simultaneous-relative-callback

How to transform a piece of music to relative pitches.

types (list):

'(general-music simultaneous-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.61 SkipEvent

Filler that takes up duration, but does not print anything.

Syntax: s4 for a skip equivalent to a quarter rest.

Event classes: skip-event, rhythmic-event, music-event and StreamEvent.

Not accepted by any engraver or performer.

Properties:

name (symbol):

'SkipEvent

Name of this music object.

types (list):

'(general-music event rhythmic-event skip-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.62 SkipMusic

Filler that takes up duration, does not print anything, and also does not create staves or voices implicitly.

Syntax: \skip duration

Properties:

name (symbol):

'SkipMusic

Name of this music object.

length-callback (procedure):

ly:music-duration-length

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

iterator-ctor (procedure):

ly:simple-music-iterator::constructor

Function to construct a music-event-iterator object for this music.

types (list):

'(general-music event rhythmic-event skip-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.63 SlurEvent

Start or end slur.

Syntax: note( and note)

Event classes: slur-event, span-event, music-event and StreamEvent.

Accepted by: Slur_engraver and Slur_performer.

Properties:

name (symbol):

'SlurEvent

Name of this music object.

types (list):

'(general-music span-event event slur-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.64 SoloOneEvent

Print ‘Solo 1’.

Event classes: solo-one-event, part-combine-event, music-event and StreamEvent.

Accepted by: Part_combine_engraver.

Properties:

name (symbol):

'SoloOneEvent

Name of this music object.

part-combine-status (symbol):

'solo1

Change to what kind of state? Options are solo1, solo2 and unisono.

types (list):

'(general-music event part-combine-event solo-one-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.65 SoloTwoEvent

Print ‘Solo 2’.

Event classes: solo-two-event, part-combine-event, music-event and StreamEvent.

Accepted by: Part_combine_engraver.

Properties:

name (symbol):

'SoloTwoEvent

Name of this music object.

part-combine-status (symbol):

'solo2

Change to what kind of state? Options are solo1, solo2 and unisono.

types (list):

'(general-music event part-combine-event solo-two-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.66 SostenutoEvent

Depress or release sostenuto pedal.

Event classes: sostenuto-event, pedal-event, span-event, music-event and StreamEvent.

Accepted by: Piano_pedal_engraver and Piano_pedal_performer.

Properties:

name (symbol):

'SostenutoEvent

Name of this music object.

types (list):

'(general-music event pedal-event sostenuto-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.67 SpacingSectionEvent

Start a new spacing section.

Event classes: spacing-section-event, music-event and StreamEvent.

Accepted by: Spacing_engraver.

Properties:

name (symbol):

'SpacingSectionEvent

Name of this music object.

types (list):

'(general-music event spacing-section-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.68 SpanEvent

Event for anything that is started at a different time than stopped.

Event classes: span-event, music-event and StreamEvent.

Not accepted by any engraver or performer.

Properties:

name (symbol):

'SpanEvent

Name of this music object.

types (list):

'(general-music event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.69 StaffSpanEvent

Start or stop a staff symbol.

Event classes: staff-span-event, span-event, music-event and StreamEvent.

Accepted by: Staff_symbol_engraver.

Properties:

name (symbol):

'StaffSpanEvent

Name of this music object.

types (list):

'(general-music event span-event staff-span-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.70 StringNumberEvent

Specify on which string to play this note.

Syntax: \number

Event classes: string-number-event, music-event and StreamEvent.

Accepted by: Fretboard_engraver and Tab_note_heads_engraver.

Properties:

name (symbol):

'StringNumberEvent

Name of this music object.

types (list):

'(general-music string-number-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.71 StrokeFingerEvent

Specify with which finger to pluck a string.

Syntax: \rightHandFinger text

Event classes: stroke-finger-event, music-event and StreamEvent.

Accepted by: Fingering_engraver.

Properties:

name (symbol):

'StrokeFingerEvent

Name of this music object.

types (list):

'(general-music stroke-finger-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.72 SustainEvent

Depress or release sustain pedal.

Event classes: sustain-event, pedal-event, span-event, music-event and StreamEvent.

Accepted by: Piano_pedal_engraver and Piano_pedal_performer.

Properties:

name (symbol):

'SustainEvent

Name of this music object.

types (list):

'(general-music event pedal-event sustain-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.73 TextScriptEvent

Print text.

Event classes: text-script-event, script-event, music-event and StreamEvent.

Accepted by: Text_engraver.

Properties:

name (symbol):

'TextScriptEvent

Name of this music object.

types (list):

'(general-music script-event text-script-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.74 TextSpanEvent

Start a text spanner, e.g., 8va.....|

Event classes: text-span-event, span-event, music-event and StreamEvent.

Accepted by: Text_spanner_engraver.

Properties:

name (symbol):

'TextSpanEvent

Name of this music object.

types (list):

'(general-music span-event event text-span-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.75 TieEvent

A tie.

Syntax: note-~

Event classes: tie-event, music-event and StreamEvent.

Accepted by: Completion_heads_engraver, Tie_engraver and Tie_performer.

Properties:

name (symbol):

'TieEvent

Name of this music object.

types (list):

'(general-music tie-event event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.76 TimeScaledMusic

Multiply durations, as in tuplets.

Syntax: \times fraction music, e.g. \times 2/3 { … } for triplets.

Properties:

name (symbol):

'TimeScaledMusic

Name of this music object.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

iterator-ctor (procedure):

ly:time-scaled-music-iterator::constructor

Function to construct a music-event-iterator object for this music.

types (list):

'(time-scaled-music music-wrapper-music general-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.77 TransposedMusic

Music that has been transposed.

Properties:

name (symbol):

'TransposedMusic

Name of this music object.

iterator-ctor (procedure):

ly:music-wrapper-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:music-wrapper::start-callback

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

to-relative-callback (procedure):

ly:relative-octave-music::no-relative-callback

How to transform a piece of music to relative pitches.

types (list):

'(music-wrapper-music general-music transposed-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.78 TremoloEvent

Unmeasured tremolo.

Event classes: tremolo-event, music-event and StreamEvent.

Accepted by: Stem_engraver.

Properties:

name (symbol):

'TremoloEvent

Name of this music object.

types (list):

'(general-music event tremolo-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.79 TremoloRepeatedMusic

Repeated notes denoted by tremolo beams.

Properties:

name (symbol):

'TremoloRepeatedMusic

Name of this music object.

iterator-ctor (procedure):

ly:chord-tremolo-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:repeated-music::first-start

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:repeated-music::folded-music-length

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music repeated-music tremolo-repeated-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.80 TremoloSpanEvent

Tremolo over two stems

Event classes: tremolo-span-event, span-event, music-event and StreamEvent.

Accepted by: Chord_tremolo_engraver.

Properties:

name (symbol):

'TremoloSpanEvent

Name of this music object.

types (list):

'(general-music event span-event tremolo-span-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.81 TrillSpanEvent

Start a trill spanner tr~~~

Event classes: trill-span-event, span-event, music-event and StreamEvent.

Accepted by: Trill_spanner_engraver.

Properties:

name (symbol):

'TrillSpanEvent

Name of this music object.

types (list):

'(general-music span-event event trill-span-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.82 TupletSpanEvent

Used internally to signal where tuplet brackets start and stop.

Event classes: tuplet-span-event, span-event, music-event and StreamEvent.

Accepted by: Tuplet_engraver.

Properties:

name (symbol):

'TupletSpanEvent

Name of this music object.

types (list):

'(tuplet-span-event span-event event general-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.83 UnaCordaEvent

Depress or release una-corda pedal.

Event classes: una-corda-event, pedal-event, span-event, music-event and StreamEvent.

Accepted by: Piano_pedal_engraver and Piano_pedal_performer.

Properties:

name (symbol):

'UnaCordaEvent

Name of this music object.

types (list):

'(general-music event pedal-event una-corda-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.84 UnfoldedRepeatedMusic

Repeated music which is fully written (and played) out.

Properties:

name (symbol):

'UnfoldedRepeatedMusic

Name of this music object.

iterator-ctor (procedure):

ly:unfolded-repeat-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:repeated-music::first-start

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music repeated-music unfolded-repeated-music)

The types of this music object; determines by what engraver this music expression is processed.

length-callback (procedure):

ly:repeated-music::unfolded-music-length

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.


1.1.85 UnisonoEvent

Print ‘a 2’.

Event classes: unisono-event, part-combine-event, music-event and StreamEvent.

Accepted by: Part_combine_engraver.

Properties:

name (symbol):

'UnisonoEvent

Name of this music object.

part-combine-status (symbol):

'unisono

Change to what kind of state? Options are solo1, solo2 and unisono.

types (list):

'(general-music event part-combine-event unisono-event)

The types of this music object; determines by what engraver this music expression is processed.


1.1.86 UnrelativableMusic

Music that cannot be converted from relative to absolute notation. For example, transposed music.

Properties:

name (symbol):

'UnrelativableMusic

Name of this music object.

to-relative-callback (procedure):

ly:relative-octave-music::no-relative-callback

How to transform a piece of music to relative pitches.

iterator-ctor (procedure):

ly:music-wrapper-iterator::constructor

Function to construct a music-event-iterator object for this music.

length-callback (procedure):

ly:music-wrapper::length-callback

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(music-wrapper-music general-music unrelativable-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.87 VoiceSeparator

Separate polyphonic voices in simultaneous music.

Syntax: \\

Properties:

name (symbol):

'VoiceSeparator

Name of this music object.

types (list):

'(separator general-music)

The types of this music object; determines by what engraver this music expression is processed.


1.1.88 VoltaRepeatedMusic

Repeats with alternatives placed sequentially.

Properties:

name (symbol):

'VoltaRepeatedMusic

Name of this music object.

iterator-ctor (procedure):

ly:volta-repeat-iterator::constructor

Function to construct a music-event-iterator object for this music.

start-callback (procedure):

ly:repeated-music::first-start

Function to compute the negative length of starting grace notes. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

length-callback (procedure):

ly:repeated-music::volta-music-length

How to compute the duration of this music. This property can only be defined as initializer in ‘scm/define-music-types.scm’.

types (list):

'(general-music repeated-music volta-repeated-music)

The types of this music object; determines by what engraver this music expression is processed.


1.2 Music classes


1.2.1 StreamEvent

Music event type StreamEvent is in music objects of type AbsoluteDynamicEvent, AnnotateOutputEvent, ApplyOutputEvent, ArpeggioEvent, ArticulationEvent, BassFigureEvent, BeamEvent, BeamForbidEvent, BendAfterEvent, BreathingEvent, ClusterNoteEvent, CrescendoEvent, DecrescendoEvent, ExtenderEvent, FingeringEvent, GlissandoEvent, HarmonicEvent, HyphenEvent, KeyChangeEvent, LabelEvent, LaissezVibrerEvent, LigatureEvent, LineBreakEvent, LyricEvent, MarkEvent, MultiMeasureRestEvent, MultiMeasureTextEvent, NoteEvent, NoteGroupingEvent, PageBreakEvent, PageTurnEvent, PercentEvent, PesOrFlexaEvent, PhrasingSlurEvent, RepeatTieEvent, RestEvent, ScriptEvent, SkipEvent, SlurEvent, SoloOneEvent, SoloTwoEvent, SostenutoEvent, SpacingSectionEvent, SpanEvent, StaffSpanEvent, StringNumberEvent, StrokeFingerEvent, SustainEvent, TextScriptEvent, TextSpanEvent, TieEvent, TremoloEvent, TremoloSpanEvent, TrillSpanEvent, TupletSpanEvent, UnaCordaEvent and UnisonoEvent.

Not accepted by any engraver or performer.


1.2.2 absolute-dynamic-event

Music event type absolute-dynamic-event is in music objects of type AbsoluteDynamicEvent.

Accepted by: Dynamic_engraver, Dynamic_performer and New_dynamic_engraver.


1.2.3 annotate-output-event

Music event type annotate-output-event is in music objects of type AnnotateOutputEvent.

Accepted by: Balloon_engraver.


1.2.4 apply-output-event

Music event type apply-output-event is in music objects of type ApplyOutputEvent.

Accepted by: Output_property_engraver.


1.2.5 arpeggio-event

Music event type arpeggio-event is in music objects of type ArpeggioEvent.

Accepted by: Arpeggio_engraver.


1.2.6 articulation-event

Music event type articulation-event is in music objects of type ArticulationEvent.

Accepted by: Script_engraver.


1.2.7 bass-figure-event

Music event type bass-figure-event is in music objects of type BassFigureEvent.

Accepted by: Figured_bass_engraver.


1.2.8 beam-event

Music event type beam-event is in music objects of type BeamEvent.

Accepted by: Beam_engraver, Beam_performer and Grace_beam_engraver.


1.2.9 beam-forbid-event

Music event type beam-forbid-event is in music objects of type BeamForbidEvent.

Accepted by: Auto_beam_engraver.


1.2.10 bend-after-event

Music event type bend-after-event is in music objects of type BendAfterEvent.

Accepted by: Bend_engraver.


1.2.11 break-event

Music event type break-event is in music objects of type LineBreakEvent, PageBreakEvent and PageTurnEvent.

Accepted by: Page_turn_engraver and Paper_column_engraver.


1.2.12 breathing-event

Music event type breathing-event is in music objects of type BreathingEvent.

Accepted by: Breathing_sign_engraver.


1.2.13 cluster-note-event

Music event type cluster-note-event is in music objects of type ClusterNoteEvent.

Accepted by: Cluster_spanner_engraver.


1.2.14 crescendo-event

Music event type crescendo-event is in music objects of type CrescendoEvent.

Accepted by: Dynamic_performer.


1.2.15 decrescendo-event

Music event type decrescendo-event is in music objects of type DecrescendoEvent.

Accepted by: Dynamic_performer.


1.2.16 dynamic-event

Music event type dynamic-event is in music objects of type AbsoluteDynamicEvent.

Not accepted by any engraver or performer.


1.2.17 extender-event

Music event type extender-event is in music objects of type ExtenderEvent.

Accepted by: Extender_engraver.


1.2.18 fingering-event

Music event type fingering-event is in music objects of type FingeringEvent.

Accepted by: Fingering_engraver.


1.2.19 glissando-event

Music event type glissando-event is in music objects of type GlissandoEvent.

Accepted by: Glissando_engraver.


1.2.20 harmonic-event

Music event type harmonic-event is in music objects of type HarmonicEvent.

Not accepted by any engraver or performer.


1.2.21 hyphen-event

Music event type hyphen-event is in music objects of type HyphenEvent.

Accepted by: Hyphen_engraver.


1.2.22 key-change-event

Music event type key-change-event is in music objects of type KeyChangeEvent.

Accepted by: Key_engraver and Key_performer.


1.2.23 label-event

Music event type