2.1.3 ChordGridScore

Top-level context replacing Score in chord grid notation. Compared to Score, it uses proportional notation, and has a few other settings like removing bar numbers.

This context also accepts commands for the following context(s): Score and Timing.

This context creates the following layout object(s): BreakAlignGroup, BreakAlignment, CenteredBarNumberLineSpanner, CodaMark, ControlPoint, ControlPolygon, Footnote, GraceSpacing, JumpScript, LeftEdge, MetronomeMark, NonMusicalPaperColumn, PaperColumn, Parentheses, RehearsalMark, SectionLabel, SegnoMark, SpacingSpanner, StaffGrouper, TextMark, VerticalAlignment, VoltaBracket and VoltaBracketSpanner.

This context sets the following properties:

This is not a ‘Bottom’ context; search for such a one will commence after creating an implicit context of type Staff.

Context ChordGridScore can contain ChoirStaff, ChordGrid, ChordNames, Devnull, DrumStaff, Dynamics, FiguredBass, FretBoards, GrandStaff, GregorianTranscriptionLyrics, GregorianTranscriptionStaff, KievanStaff, Lyrics, MensuralStaff, NoteNames, OneStaff, PetrucciStaff, PianoStaff, RhythmicStaff, Staff, StaffGroup, TabStaff, VaticanaLyrics and VaticanaStaff.

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

Beam_collision_engraver

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

Break_align_engraver

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

This engraver creates the following layout object(s): BreakAlignGroup, BreakAlignment and LeftEdge.

Centered_bar_number_align_engraver

Group measure-centered bar numbers in a CenteredBarNumberLineSpanner so they end up on the same vertical position.

Properties (read)

currentCommandColumn (graphical (layout) object)

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

This engraver creates the following layout object(s): CenteredBarNumberLineSpanner.

Concurrent_hairpin_engraver

Collect concurrent hairpins.

Footnote_engraver

Create footnote texts.

This engraver creates the following layout object(s): Footnote.

Grace_spacing_engraver

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

Properties (read)

currentMusicalColumn (graphical (layout) object)

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

This engraver creates the following layout object(s): GraceSpacing.

Jump_engraver

This engraver creates instructions such as D.C. and Fine, placing them vertically outside the set of staves given in the stavesFound context property.

If Jump_engraver is added or moved to another context, Staff_collecting_engraver also needs to be there so that marks appear at the intended Y location.

Music types accepted: ad-hoc-jump-event, dal-segno-event and fine-event

Properties (read)

codaMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a coda mark appears: not set during the first timestep, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.

codaMarkFormatter (procedure)

A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.

dalSegnoTextFormatter (procedure)

Format a jump instruction such as D.S.

The first argument is the context.

The second argument is the number of times the instruction is performed.

The third argument is a list of three markups: start-markup, end-markup, and next-markup.

If start-markup is #f, the form is da capo; otherwise the form is dal segno and start-markup is the sign at the start of the repeated section.

If end-markup is not #f, it is either the sign at the end of the main body of the repeat, or it is a Fine instruction. When it is a Fine instruction, next-markup is #f.

If next-markup is not #f, it is the mark to be jumped to after performing the body of the repeat, e.g., Coda.

finalFineTextVisibility (boolean)

Whether \fine at the written end of the music should create a Fine instruction.

fineText (markup)

The text to print at \fine.

segnoMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a segno appears: not set during the first timestep, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.

segnoMarkFormatter (procedure)

A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.

stavesFound (list of grobs)

A list of all staff-symbols found.

This engraver creates the following layout object(s): JumpScript.

Mark_engraver

This engraver creates rehearsal marks, segno and coda marks, and section labels.

Mark_engraver creates marks, formats them, and places them vertically outside the set of staves given in the stavesFound context property.

If Mark_engraver is added or moved to another context, Staff_collecting_engraver also needs to be there so that marks appear at the intended Y location.

By default, Mark_engravers in multiple contexts create a common sequence of marks chosen by the Score-level Mark_tracking_translator. If independent sequences are desired, multiple Mark_tracking_translators must be used.

Properties (read)

codaMarkFormatter (procedure)

A procedure that creates a coda mark (which in conventional D.S. al Coda form indicates the start of the alternative endings), taking as arguments the mark sequence number and the context. It should return a markup object.

currentPerformanceMarkEvent (stream event)

The coda, section, or segno mark event selected by Mark_tracking_translator for engraving by Mark_engraver.

currentRehearsalMarkEvent (stream event)

The ad-hoc or rehearsal mark event selected by Mark_tracking_translator for engraving by Mark_engraver.

rehearsalMarkFormatter (procedure)

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

segnoMarkFormatter (procedure)

A procedure that creates a segno (which conventionally indicates the start of a repeated section), taking as arguments the mark sequence number and the context. It should return a markup object.

stavesFound (list of grobs)

A list of all staff-symbols found.

This engraver creates the following layout object(s): CodaMark, RehearsalMark, SectionLabel and SegnoMark.

Mark_tracking_translator

This translator chooses which marks Mark_engraver should engrave.

Music types accepted: ad-hoc-mark-event, coda-mark-event, rehearsal-mark-event, section-label-event and segno-mark-event

Properties (read)

codaMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a coda mark appears: not set during the first timestep, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.

rehearsalMark (integer)

The next rehearsal mark to print.

segnoMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a segno appears: not set during the first timestep, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.

Properties (write)

codaMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a coda mark appears: not set during the first timestep, 0 up to the first coda mark, 1 from the first to the second, 2 from the second to the third, etc.

currentPerformanceMarkEvent (stream event)

The coda, section, or segno mark event selected by Mark_tracking_translator for engraving by Mark_engraver.

currentRehearsalMarkEvent (stream event)

The ad-hoc or rehearsal mark event selected by Mark_tracking_translator for engraving by Mark_engraver.

rehearsalMark (integer)

The next rehearsal mark to print.

segnoMarkCount (non-negative, exact integer)

Updated at the end of each timestep in which a segno appears: not set during the first timestep, 0 up to the first segno, 1 from the first to the second segno, 2 from the second to the third segno, etc.

Metronome_mark_engraver

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

Music types accepted: tempo-change-event

Properties (read)

currentCommandColumn (graphical (layout) object)

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

currentMusicalColumn (graphical (layout) object)

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

metronomeMarkFormatter (procedure)

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

stavesFound (list of grobs)

A list of all staff-symbols found.

tempoHideNote (boolean)

Hide the note = count in tempo marks.

This engraver creates the following layout object(s): MetronomeMark.

Output_property_engraver

Apply a procedure to any grob acknowledged.

Music types accepted: apply-output-event

Paper_column_engraver

Take care of generating columns.

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

Music types accepted: break-event and label-event

Properties (read)

forbidBreak (boolean)

If set to #t, prevent a line break at this point, except if explicitly requested by the user.

Properties (write)

currentCommandColumn (graphical (layout) object)

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

currentMusicalColumn (graphical (layout) object)

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

forbidBreak (boolean)

If set to #t, prevent a line break at this point, except if explicitly requested by the user.

forceBreak (boolean)

Set to #t when an event forcing a line break was heard.

This engraver creates the following layout object(s): NonMusicalPaperColumn and PaperColumn.

Parenthesis_engraver

Parenthesize objects whose parenthesize property is #t.

This engraver creates the following layout object(s): Parentheses.

Repeat_acknowledge_engraver

This translator adds entries to repeatCommands for events generated by \\repeat volta.

Music types accepted: volta-repeat-end-event and volta-repeat-start-event

Properties (write)

repeatCommands (list)

A list of commands related to volta-style repeats. In general, each element is a list, '(command args…), but a command with no arguments may be abbreviated to a symbol; e.g., '((start-repeat)) may be given as '(start-repeat).

end-repeat return-count

End a repeated section. return-count is the number of times to go back from this point to the beginning of the section.

start-repeat repeat-count

Start a repeated section. repeat-count is the number of times to perform this section.

volta text

If text is markup, start a volta bracket with that label; if text is #f, end a volta bracket.

Show_control_points_engraver

Create grobs to visualize control points of Bézier curves (ties and slurs) for ease of tweaking.

This engraver creates the following layout object(s): ControlPoint and ControlPolygon.

Spacing_engraver

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

Music types accepted: spacing-section-event

Properties (read)

currentCommandColumn (graphical (layout) object)

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

currentMusicalColumn (graphical (layout) object)

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

proportionalNotationDuration (non-negative moment with no grace part)

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

This engraver creates the following layout object(s): SpacingSpanner.

Spanner_tracking_engraver

Helper for creating spanners attached to other spanners. If a spanner has the sticky-grob-interface, the engraver tracks the spanner contained in its sticky-host object. When the host ends, the sticky spanner attached to it has its end announced too.

Staff_collecting_engraver

Maintain the stavesFound variable.

Properties (read)

stavesFound (list of grobs)

A list of all staff-symbols found.

Properties (write)

stavesFound (list of grobs)

A list of all staff-symbols found.

Stanza_number_align_engraver

This engraver ensures that stanza numbers are neatly aligned.

Text_mark_engraver

Engraves arbitrary textual marks.

Music types accepted: text-mark-event

Properties (read)

stavesFound (list of grobs)

A list of all staff-symbols found.

This engraver creates the following layout object(s): TextMark.

Timing_translator

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

Music types accepted: alternative-event, bar-check-event, bar-event, fine-event and partial-event

Properties (read)

alternativeNumberingStyle (symbol)

The scheme and style for numbering bars in repeat alternatives. If not set (the default), bar numbers continue through alternatives. Can be set to numbers to reset the bar number at each alternative, or set to numbers-with-letters to reset and also include letter suffixes.

beatBase (positive exact rational or +inf.0)

The musical length corresponding to one unit of beatStructure.

currentBarNumber (integer)

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

internalBarNumber (integer)

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

measureLength (positive moment with no grace part)

Length of one measure in the current time signature.

measurePosition (moment)

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

timeSignatureFraction (positive, finite fraction, as pair)

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

Properties (write)

alternativeNumber (non-negative, exact integer)

When set, the first volta number for the current \alternative element. Not set outside of alternatives.

beatBase (positive exact rational or +inf.0)

The musical length corresponding to one unit of beatStructure.

currentBarNumber (integer)

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

internalBarNumber (integer)

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

measureLength (positive moment with no grace part)

Length of one measure in the current time signature.

measurePosition (moment)

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

measureStartNow (boolean)

True at the beginning of a measure.

timeSignatureFraction (positive, finite fraction, as pair)

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

Tweak_engraver

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

Vertical_align_engraver

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

Properties (read)

alignAboveContext (string)

Where to insert newly created context in vertical alignment.

alignBelowContext (string)

Where to insert newly created context in vertical alignment.

hasAxisGroup (boolean)

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

This engraver creates the following layout object(s): StaffGrouper and VerticalAlignment.

Volta_engraver

Make volta brackets.

Music types accepted: dal-segno-event, fine-event and volta-span-event

Properties (read)

currentCommandColumn (graphical (layout) object)

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

printTrivialVoltaRepeats (boolean)

Notate volta-style repeats even when the repeat count is 1.

repeatCommands (list)

A list of commands related to volta-style repeats. In general, each element is a list, '(command args…), but a command with no arguments may be abbreviated to a symbol; e.g., '((start-repeat)) may be given as '(start-repeat).

end-repeat return-count

End a repeated section. return-count is the number of times to go back from this point to the beginning of the section.

start-repeat repeat-count

Start a repeated section. repeat-count is the number of times to perform this section.

volta text

If text is markup, start a volta bracket with that label; if text is #f, end a volta bracket.

stavesFound (list of grobs)

A list of all staff-symbols found.

voltaSpannerDuration (non-negative moment with no grace part)

The maximum musical length of a VoltaBracket when its musical-length property is not set.

This property is deprecated; overriding the musical-length property of VoltaBracket is recommended.

This engraver creates the following layout object(s): VoltaBracket and VoltaBracketSpanner.


LilyPond Internals Reference v2.25.22 (development-branch).