|
Voice
Corresponds to a voice on a staff. This context handles the
conversion of dynamic signs, stems, beams, super- and subscripts,
slurs, ties, and rests.
You have to instantiate this explicitly if you want to have
multiple voices on the same staff.
This context creates the following grobs:
Arpeggio, Beam, BreathingSign, Cluster, DoublePercentRepeat, DynamicLineSpanner, DynamicText, Fingering, Hairpin, MultiMeasureRestNumber, MultiMeasureRest, NoteColumn, NoteSpacing, PercentRepeat, PhrasingSlur, Porrectus, RepeatSlash, ScriptColumn, Script, Slur, StemTremolo, Stem, TextScript, TextSpanner, TieColumn, Tie and TupletBracket.
This context sets the following properties:
- Set translator property localKeySignature to
'()
Context Voice can contain
Thread
This context is built from the following engravers:
- Engraver_group_engraver
- A group of engravers taken together
- Skip_req_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)
[c8 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.
- Porrectus_engraver
- Join adjacent notes to a porrectus ligature.
Music types accepted:
porrectus-event
This engraver creates the following grobs:
Porrectus.
- New_tie_engraver
- Generate ties between noteheads of equal pitch.
Music types accepted:
new-tie-event
Properties (read)
tieMelismaBusy (boolean)
- Signal ties when automaticMelismata is set.
This engraver creates the following grobs:
Tie and TieColumn.
- Tie_engraver
- Generate ties between noteheads of equal pitch.
Music types accepted:
tie-event
Properties (read)
tieMelismaBusy (boolean)
- Signal ties when automaticMelismata is set.
sparseTies (boolean)
- only create one tie per chord.
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_engraver
- engraves a cluster
Music types accepted:
cluster-event
This engraver creates the following grobs:
Cluster.
- 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.
- Fingering_engraver
- Create fingering-scripts
Music types accepted:
fingering-event
This engraver creates the following grobs:
Fingering.
- 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.
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.
- Percent_repeat_engraver
- Make beat, 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, PercentRepeat and RepeatSlash.
- Chord_tremolo_engraver
- Generates beams for tremolo repeats.
Music types accepted:
repeated-music
This engraver creates the following grobs:
Beam.
- New_fingering_engraver
- Create fingering-scripts for notes in a New Chord.
Music types accepted:
text-script-event
Properties (read)
fingerHorizontalDirection (integer)
- If set, put the middle fingerings to
the side of the note head. Use LEFT, RIGHT or unset.
This engraver creates the following grobs:
Fingering.
- 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:
new-beam-event, 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.
- 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, new-beam-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.
- 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-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 and MultiMeasureRestNumber.
- 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 .
|