TabVoice
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 is also known as:
none
This context creates the following grobs:
Arpeggio, Beam, BreathingSign, ClusterSpannerBeacon, ClusterSpanner, Dots, DoublePercentRepeat, DynamicLineSpanner, DynamicText, Glissando, Hairpin, MultiMeasureRestNumber, MultiMeasureRestText, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeat, PhrasingSlur, RepeatSlash, ScriptColumn, Script, Slur, StemTremolo, Stem, TabNoteHead, TextScript, TextSpanner, TieColumn, Tie, TupletBracket and VoiceFollower.
This context sets the following properties:
- Set grob-property
direction
in Slur to -1
- Set grob-property
molecule-callback
in Slur to hammer-molecule-callback
- Set grob-property
font-family
in Slur to 'roman
- Set translator property
localKeySignature
to '()
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 Note_req.
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 (used by
the automatic string selector).
tablatureFormat
(procedure)
- Function formatting a tab notehead; 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
not less than minimumFret
stringTunings
(list)
- The tablature strings tuning. Must be a list of the different semitons pitch of each string (starting by the lower one).
centralCPosition
(number)
- Place of
the central C, measured in half staffspaces. Usually determined by
looking at clefPosition and clefGlyph.
This engraver creates the following grobs:
Dots and TabNoteHead.
- Skip_event_swallow_translator
- Swallow \skip.
Music types accepted:
skip-event
- A2_engraver
- Part combine engraver for orchestral scores. The markings a2, Solo and Solo II, are created by this engraver. It also acts upon instructions of the part combiner. Another thing that the this engraver, is forcing of stem, slur and tie directions, always when both threads are not identical; up for the musicexpr called
one
, down for the musicexpr called two
.
Properties (read)
unirhythm
(boolean)
- set if unirhythm is detected by the part combiner.
unisilence
(boolean)
- set if unisilence is detected by the part combiner.
solo
(boolean)
- set if solo is detected by the part combiner.
unison
(boolean)
- set if unisono is detected by the part combiner. .
split-interval
(boolean)
- set if part-combiner separated voices based on splitInterval.
aDueText
(string)
- text for begin of a due
soloIIText
(string)
- text for begin of solo for voice "two" when part-combining.
soloText
(string)
- text for begin of solo when part-combining.
soloADue
(boolean)
- set Solo/A due texts in the part combiner?.
noDirection
(boolean)
- Don't set directions by a2-engraver when part-combining.
combineParts
(boolean)
- try to combine parts?
This engraver creates the following grobs:
TextScript.
- Tuplet_engraver
- Catch Time_scaled_music and generate appropriate bracket
Music types accepted:
time-scaled-music
Properties (read)
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 = #(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 grobs:
TupletBracket.
- Tie_engraver
- Generate ties between noteheads of equal pitch.
Music types accepted:
tie-event
Properties (read)
tieMelismaBusy
(boolean)
- Signal ties when automaticMelismata is set.
This engraver creates the following grobs:
Tie and TieColumn.
- Slur_engraver
- Build slurs from Slur_evs
Music types accepted:
slur-event
Properties (read)
slurMelismaBusy
(boolean)
- Signal a slur if automaticMelismata is set.
This engraver creates the following grobs:
Slur.
- Cluster_spanner_engraver
- Engraves a cluster using Spanner notation
Music types accepted:
abort-event and cluster-note-event
This engraver creates the following grobs:
ClusterSpanner and ClusterSpannerBeacon.
- Phrasing_slur_engraver
- Print phrasing slurs. Similar to Slur_engraver
Music types accepted:
phrasing-slur-event
This engraver creates the following grobs:
PhrasingSlur.
- Rhythmic_column_engraver
- Generates NoteColumn, an objects that groups stems, noteheads and rests.
This engraver creates the following grobs:
NoteColumn and NoteSpacing.
- Script_column_engraver
-
This engraver creates the following grobs:
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 grobs:
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 grobs:
DynamicLineSpanner, DynamicText, Hairpin and TextSpanner.
- Text_engraver
- Create text-scripts
Music types accepted:
text-script-event
Properties (read)
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:
TextScript.
- Melisma_engraver
-
Music types accepted:
melisma-playing-event
Properties (read)
beamMelismaBusy
(boolean)
- Signal if a beam is set when automaticMelismata is set
tieMelismaBusy
(boolean)
- Signal ties when automaticMelismata is set.
slurMelismaBusy
(boolean)
- Signal a slur if automaticMelismata is set.
melismaBusyProperties
(list)
- List of properties (symbols) to
determine whether a melisma is playing.
melismaBusy
(boolean)
- Signifies
whether a melisma is active. This can be used to signal melismas on
top of those automatically detected.
Properties (write)
melismaEngraverBusy
(boolean)
- See melismaBusy. This is set automatically.
- Slash_repeat_engraver
- Make beat repeats.
Music types accepted:
repeated-music
Properties (read)
currentCommandColumn
(grob (GRaphical 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 last?
This engraver creates the following grobs:
RepeatSlash.
- Percent_repeat_engraver
- Make whole bar and double bar repeats.
Music types accepted:
repeated-music
Properties (read)
currentCommandColumn
(grob (GRaphical 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 last?
This engraver creates the following grobs:
DoublePercentRepeat and PercentRepeat.
- Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
repeated-music
This engraver creates the following grobs:
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.
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. 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 * * * *) = #(ly:make-moment 1 4)
The head of the list:
'(
((end * * 3 2) . ,(ly:make-moment 1 2))
((end 1 16 3 2) . ,(ly:make-moment 1 4))
((end 1 32 3 2) . ,(ly:make-moment 1 8))
...
)
autoBeaming
(boolean)
- If set to true
then beams are generated automatically.
This engraver creates the following grobs:
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:
abort-event and 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 during beams.
beatLength
(moment)
- The length of one beat in this time signature.
beamMelismaBusy
(boolean)
- Signal if a beam is set when automaticMelismata is set
This engraver creates the following grobs:
Beam.
- Beam_engraver
- Handles Beam events by engraving Beams. If omitted, then notes will be printed with flags instead of beams.
Music types accepted:
abort-event and 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 set when automaticMelismata is set
This engraver creates the following grobs:
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)
- idem, for the right side.
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 none is specified.
This engraver creates the following grobs:
Stem and StemTremolo.
- Breathing_sign_engraver
-
Music types accepted:
breathing-event
This engraver creates the following grobs:
BreathingSign.
- Ligature_bracket_engraver
- Handles Ligature_events by engraving Ligature brackets.
Music types accepted:
abort-event and ligature-event
This engraver creates the following grobs:
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 grobs:
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 grobs:
Glissando and VoiceFollower.
- 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.
Use at your own risk. This property contains the grobs for which END-MOMENT >= NOW.
Properties (write)
busyGrobs
(list)
-
a queue of (END-MOMENT . GROB) conses. This is for internal (C++) use only.
Use at your own risk. This property contains the grobs for which END-MOMENT >= NOW.
- Text_spanner_engraver
- Create text spanner from a Music.
Music types accepted:
text-span-event
This engraver creates the following grobs:
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 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.
currentCommandColumn
(grob (GRaphical OBject))
- Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
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 barline.
This engraver creates the following grobs:
MultiMeasureRest, MultiMeasureRestNumber and MultiMeasureRestText.
- Arpeggio_engraver
- Generate an Arpeggio from a Arpeggio_req
Music types accepted:
arpeggio-event
This engraver creates the following grobs:
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
- Voice_devnull_engraver
- Kill off certain items and spanners if we're Voice `two' and unison or unisilence is set.
Music types accepted:
general-music
- Font_size_engraver
- Puts fontSize into font-relative-size grob property.
Properties (read)
fontSize
(integer)
- Used to set the relative size of all grobs
in a context. This is done using the
Font_size_engraver
.
This page is for LilyPond-2.0.0 (stable-branch).
Report errors to <bug-lilypond@gnu.org>.