Next: , Previous: TabStaff, Up: Contexts



TabVoice

Context for drawing notes in a Tab staff.

This context creates the following layout objects:

Arpeggio, Beam, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, CombineTextScript, Dots, DoublePercentRepeat, DynamicLineSpanner, DynamicText, Glissando, Hairpin, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeat, PhrasingSlur, RepeatSlash, Rest, ScriptColumn, Script, Slur, StemTremolo, Stem, TabNoteHead, TextScript, TextSpanner, TieColumn, Tie, TupletBracket and VoiceFollower.

This context sets the following properties:

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
Tab_note_heads_engraver
Generate one or more tablature noteheads from Music of type NoteEvent.

Music types accepted:

busy-playing-event, string-number-event and note-event

Properties (read)

stringOneTopmost (boolean)
Whether the 1st string is printed on the top line of the tablature.
highStringOne (boolean)
Whether the 1st string is the string with highest pitch on the instrument. This used by the automatic string selector for tab notation.
tablatureFormat (procedure)
Function formatting a tab note head; it takes a string number, a list of string tunings and Pitch object. It returns the text as a string.
minimumFret (number)
The tablature auto string-selecting mechanism selects the highest string with a fret at least minimumFret
stringTunings (list)
The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
middleCPosition (number)
Place of the middle C, measured in half staffspaces. Usually determined by looking at clefPosition and clefGlyph.
This engraver creates the following layout objects: Dots and TabNoteHead.
Skip_event_swallow_translator
Swallow \skip.

Music types accepted:

skip-event

Tuplet_engraver
Catch Time_scaled_music and generate appropriate bracket

Music types accepted:

time-scaled-music

Properties (read)

tupletSpannerDuration (moment)
Normally a tuplet bracket is as wide as the \times expression that gave rise to it. By setting this property, you can make brackets last shorter. Example
               @lilypond[verbatim,fragment]
               context Voice \times 2/3 {
                 property Voice.tupletSpannerDuration = #(ly:make-moment 1 4)
                 c-[8 c c-] c-[ c c-]
               }
               @end lilypond
          

.

tupletNumberFormatFunction (procedure)
Function taking a music as input, producing a string. This function is called to determine the text to print on a tuplet bracket.
This engraver creates the following layout objects: TupletBracket.
Tie_engraver
Generate ties between noteheads of equal pitch.

Music types accepted:

tie-event

Properties (read)

tieMelismaBusy (boolean)
Signal whether a tie is present.
This engraver creates the following layout objects: Tie and TieColumn.
Slur_engraver
Build slurs from Slur_evs

Music types accepted:

slur-event

Properties (read)

slurMelismaBusy (boolean)
Signal if a slur is present.
This engraver creates the following layout objects: Slur.
Cluster_spanner_engraver
Engraves a cluster using Spanner notation

Music types accepted:

cluster-note-event

This engraver creates the following layout objects: ClusterSpanner and ClusterSpannerBeacon.

Phrasing_slur_engraver
Print phrasing slurs. Similar to Slur_engraver

Music types accepted:

phrasing-slur-event

This engraver creates the following layout objects: PhrasingSlur.

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

This engraver creates the following layout objects: NoteColumn and NoteSpacing.

Script_column_engraver

This engraver creates the following layout objects: ScriptColumn.

Script_engraver
Handles note scripted articulations.

Music types accepted:

articulation-event and script-event

Properties (read)

scriptDefinitions (list)
Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See scm/script.scm for more information
This engraver creates the following layout objects: Script.
Dynamic_engraver
This engraver creates hairpins, dynamic texts, and their vertical alignments. The symbols are collected onto a DynamicLineSpanner grob which takes care of vertical positioning.

Music types accepted:

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

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

Text_engraver
Create text-scripts

Music types accepted:

text-script-event

This engraver creates the following layout objects: TextScript.

Part_combine_engraver
Part combine engraver for orchestral scores: Print markings a2, Solo, Solo II, and unisono

Music types accepted:

part-combine-event

Properties (read)

soloADue (boolean)
set Solo/A due texts in the part combiner?
This engraver creates the following layout objects: CombineTextScript.
Melisma_translator
This translator collects melisma information about ties, beams, and user settings (melismaBusy, and signals it to the ddlyrics code.

Music types accepted:

melisma-span-event and melisma-playing-event

Properties (read)

beamMelismaBusy (boolean)
Signal if a beam is present.
tieMelismaBusy (boolean)
Signal whether a tie is present.
slurMelismaBusy (boolean)
Signal if a slur is present.
melismaBusyProperties (list)
List of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to #'(melismaBusy beamMelismaBusy), only manual melismata and manual beams are considered. Possible values include melismaBusy, slurMelismaBusy, tieMelismaBusy, and beamMelismaBusy
melismaBusy (boolean)
Signifies whether a melisma is active. This can be used to signal melismas on top of those automatically detected.

Slash_repeat_engraver
Make beat repeats.

Music types accepted:

repeated-music

Properties (read)

measureLength (moment)
Length of one measure in the current time signature.
This engraver creates the following layout objects: RepeatSlash.
Percent_repeat_engraver
Make whole bar and double bar repeats.

Music types accepted:

repeated-music

Properties (read)

currentCommandColumn (layout object)
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
measureLength (moment)
Length of one measure in the current time signature.
This engraver creates the following layout objects: DoublePercentRepeat and PercentRepeat.
Chord_tremolo_engraver
Generates beams for tremolo repeats.

Music types accepted:

repeated-music

This engraver creates the following layout objects: Beam.

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.

Music types accepted:

beam-forbid-event

Properties (read)

subdivideBeams (boolean)
If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
beatLength (moment)
The length of one beat in this time signature.
autoBeamSettings (list)
Specifies when automatically generated beams should begin and end. See Setting automatic beam behavior for more information.
autoBeaming (boolean)
If set to true then beams are generated automatically.
This engraver creates the following layout objects: Beam.
Grace_beam_engraver
Handles Beam events by engraving Beams. If omitted, then notes will be printed with flags instead of beams. Only engraves beams when we are at grace points in time.

Music types accepted:

beam-event

Properties (read)

subdivideBeams (boolean)
If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
allowBeamBreak (boolean)
If true allow line breaks for beams over bar lines.
beatLength (moment)
The length of one beat in this time signature.
beamMelismaBusy (boolean)
Signal if a beam is present.
This engraver creates the following layout objects: Beam.
Beam_engraver
Handles Beam events by engraving Beams. If omitted, then notes will be printed with flags instead of beams.

Music types accepted:

beam-event

Properties (read)

subdivideBeams (boolean)
If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
beatLength (moment)
The length of one beat in this time signature.
beamMelismaBusy (boolean)
Signal if a beam is present.
This engraver creates the following layout objects: Beam.
Stem_engraver
Create stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.

Music types accepted:

tremolo-event

Properties (read)

stemRightBeamCount (integer)
See stemLeftBeamCount.
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.
tremoloFlags (integer)
Number of tremolo flags to add if no number is specified.
This engraver creates the following layout objects: Stem and StemTremolo.
Rest_engraver

Music types accepted:

rest-event

Properties (read)

middleCPosition (number)
Place of the middle C, measured in half staffspaces. Usually determined by looking at clefPosition and clefGlyph.
This engraver creates the following layout objects: Dots and Rest.
Breathing_sign_engraver

Music types accepted:

breathing-event

This engraver creates the following layout objects: BreathingSign.

Ligature_bracket_engraver
Handles Ligature_events by engraving Ligature brackets.

Music types accepted:

ligature-event

This engraver creates the following layout objects: TupletBracket.

Glissando_engraver
Engrave a glissandi

Music types accepted:

glissando-event

Properties (read)

followVoice (boolean)
if set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects: Glissando.
Note_head_line_engraver
Engrave a line between two note heads, for example a glissando. If followVoice is set, staff switches also generate a line.

Music types accepted:

glissando-event

Properties (read)

followVoice (boolean)
if set, note heads are tracked across staff switches by a thin line
This engraver creates the following layout objects: Glissando and VoiceFollower.
Forbid_line_break_engraver
Forbid line breaks when note heads are still playing at some point.

Properties (read)

busyGrobs (list)
a queue of (end-moment . GROB) conses. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.)

Grob_pq_engraver
Administrate when certain grobs (eg. note heads) stop playing; this engraver is a sort-of a failure, since it doesn't handle all sorts of borderline cases very well.

Properties (read)

busyGrobs (list)
a queue of (end-moment . GROB) conses. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.)
Properties (write)
busyGrobs (list)
a queue of (end-moment . GROB) conses. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g. note heads, spanners, etc.)

Text_spanner_engraver
Create text spanner from a Music.

Music types accepted:

text-span-event

This engraver creates the following layout objects: TextSpanner.

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. Reads measureLength to determine if it should use a whole rest or a breve rest to represent 1 measure

Music types accepted:

multi-measure-text-event and multi-measure-rest-event

Properties (read)

measureLength (moment)
Length of one measure in the current time signature.
measurePosition (moment)
How much of the current measure have we had. This can be set manually to create incomplete measures.
currentCommandColumn (layout object)
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
breakableSeparationItem (layout object)
The breakable items in this time step, for this staff.
restNumberThreshold (number)
If a multimeasure rest takes less than this number of measures, no number is printed.
currentBarNumber (integer)
Contains the current barnumber. This property is incremented at every bar line.
This engraver creates the following layout objects: MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
Arpeggio_engraver
Generate an Arpeggio from a Arpeggio_req

Music types accepted:

arpeggio-event

This engraver creates the following layout objects: Arpeggio.

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

Music types accepted:

layout-instruction

Font_size_engraver
Puts fontSize into font-relative-size grob property.

Properties (read)

fontSize (number)
The relative size of all grobs in a context.

Read comments on this page, or add one.

This page is for LilyPond-2.2.6 (stable-branch).

Report errors to <bug-lilypond@gnu.org>.