[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] |
2.1.43 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 layout object(s):
Arpeggio
, Beam
, BendAfter
, BreathingSign
, ClusterSpanner
, ClusterSpannerBeacon
, CombineTextScript
, Dots
, DoublePercentRepeat
, DoublePercentRepeatCounter
, DoubleRepeatSlash
, DynamicLineSpanner
, DynamicText
, DynamicTextSpanner
, FingerGlideSpanner
, Fingering
, Flag
, Glissando
, Hairpin
, InstrumentSwitch
, LaissezVibrerTie
, LaissezVibrerTieColumn
, LigatureBracket
, MultiMeasureRest
, MultiMeasureRestNumber
, MultiMeasureRestScript
, MultiMeasureRestText
, NoteColumn
, NoteHead
, NoteSpacing
, PercentRepeat
, PercentRepeatCounter
, PhrasingSlur
, RepeatSlash
, RepeatTie
, RepeatTieColumn
, Rest
, Script
, ScriptColumn
, Slur
, Stem
, StemStub
, StemTremolo
, StringNumber
, StrokeFinger
, TextScript
, TextSpanner
, Tie
, TieColumn
, TrillPitchAccidental
, TrillPitchGroup
, TrillPitchHead
, TrillPitchParentheses
, TrillSpanner
, TupletBracket
, TupletNumber
and VoiceFollower
.
This is a ‘Bottom’ context; no contexts will be created implicitly from it.
This context cannot contain other contexts.
This context is built from the following engraver(s):
Arpeggio_engraver
Generate an Arpeggio symbol.
Music types accepted:
arpeggio-event
This engraver creates the following layout object(s):
Arpeggio
.Auto_beam_engraver
Generate beams based on measure characteristics and observed Stems. Uses
beatBase
,beatStructure
,beamExceptions
,measureLength
, andmeasurePosition
to decide when to start and stop a beam. Overriding beaming is done throughStem_engraver
propertiesstemLeftBeamCount
andstemRightBeamCount
.Music types accepted:
beam-forbid-event
Properties (read)
autoBeaming
(boolean)If set to
#t
then beams are generated automatically. If set to#f
, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.beamExceptions
(list)An alist of exceptions to autobeam rules that normally end on beats.
beamHalfMeasure
(boolean)Whether to allow a beam to begin halfway through the measure in triple time, which could look like 6/8.
beatBase
(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure
.beatStructure
(list)A sequence describing the length of each beat in the measure in units of
beatBase
.subdivideBeams
(boolean)If set, beams of mulitple stems may be subdivided by omitting a number of beamlets, dependent on
maximumBeamSubdivisionInterval
, between beats at mulitiples ofminimumBeamSubdivisionInterval
.This engraver creates the following layout object(s):
Beam
.Beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams.Music types accepted:
beam-event
Properties (read)
beamMelismaBusy
(boolean)Signal if a beam is present.
beatBase
(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure
.beatStructure
(list)A sequence describing the length of each beat in the measure in units of
beatBase
.subdivideBeams
(boolean)If set, beams of mulitple stems may be subdivided by omitting a number of beamlets, dependent on
maximumBeamSubdivisionInterval
, between beats at mulitiples ofminimumBeamSubdivisionInterval
.This engraver creates the following layout object(s):
Beam
.Bend_engraver
Create fall spanners.
Music types accepted:
bend-after-event
Properties (read)
currentBarLine
(graphical (layout) object)Set to the
BarLine
thatBar_engraver
has created in the current timestep.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.).
This engraver creates the following layout object(s):
BendAfter
.Breathing_sign_engraver
Notate breath marks.
Music types accepted:
breathing-event
Properties (read)
breathMarkType
(symbol)The type of
BreathingSign
to create at\breathe
.This engraver creates the following layout object(s):
BreathingSign
.Chord_tremolo_engraver
Generate beams for tremolo repeats.
Music types accepted:
tremolo-span-event
This engraver creates the following layout object(s):
Beam
.Cluster_spanner_engraver
Engrave a cluster using
Spanner
notation.Music types accepted:
cluster-note-event
This engraver creates the following layout object(s):
ClusterSpanner
andClusterSpannerBeacon
.Dots_engraver
Create
Dots
objects forrhythmic-head-interface
s.This engraver creates the following layout object(s):
Dots
.Double_percent_repeat_engraver
Make double measure repeats.
Music types accepted:
double-percent-event
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
measureLength
(positive moment with no grace part)Length of one measure in the current time signature.
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point, except if explicitly requested by the user.This engraver creates the following layout object(s):
DoublePercentRepeat
andDoublePercentRepeatCounter
.Dynamic_align_engraver
Align hairpins and dynamic texts on a horizontal line.
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):
DynamicLineSpanner
.Dynamic_engraver
Create hairpins, dynamic texts and dynamic text spanners.
Music types accepted:
absolute-dynamic-event
,break-dynamic-span-event
andspan-dynamic-event
Properties (read)
crescendoSpanner
(symbol)The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
crescendoText
(markup)The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
currentMusicalColumn
(graphical (layout) object)Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
decrescendoSpanner
(symbol)The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
decrescendoText
(markup)The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
This engraver creates the following layout object(s):
DynamicText
,DynamicTextSpanner
andHairpin
.Finger_glide_engraver
Engraver to print a line between two
Fingering
,StringNumber
orStrokeFinger
grobs.Music types accepted:
note-event
This engraver creates the following layout object(s):
FingerGlideSpanner
.Fingering_engraver
Create fingering scripts.
Music types accepted:
fingering-event
This engraver creates the following layout object(s):
Fingering
.Font_size_engraver
Put
fontSize
intofont-size
grob property.Properties (read)
fontSize
(number)The relative size of all grobs in a context.
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)
cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Properties (write)
forbidBreak
(boolean)If set to
#t
, prevent a line break at this point, except if explicitly requested by the user.Glissando_engraver
Engrave glissandi.
Music types accepted:
glissando-event
Properties (read)
glissandoMap
(list)A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.
This engraver creates the following layout object(s):
Glissando
.Grace_auto_beam_engraver
Generates one autobeam group across an entire grace phrase. As usual, any manual beaming or
\noBeam
will block autobeaming, just like setting the context property ‘autoBeaming’ to##f
.Music types accepted:
beam-forbid-event
Properties (read)
autoBeaming
(boolean)If set to
#t
then beams are generated automatically. If set to#f
, auto-beaming is switched off as soon as the current beam (if any) is finished according to the auto-beaming rules.This engraver creates the following layout object(s):
Beam
.Grace_beam_engraver
Handle
Beam
events by engraving beams. If omitted, then notes are printed with flags instead of beams. Only engraves beams when we are at grace points in time.Music types accepted:
beam-event
Properties (read)
beamMelismaBusy
(boolean)Signal if a beam is present.
beatBase
(positive exact rational or +inf.0)The musical length corresponding to one unit of
beatStructure
.beatStructure
(list)A sequence describing the length of each beat in the measure in units of
beatBase
.subdivideBeams
(boolean)If set, beams of mulitple stems may be subdivided by omitting a number of beamlets, dependent on
maximumBeamSubdivisionInterval
, between beats at mulitiples ofminimumBeamSubdivisionInterval
.This engraver creates the following layout object(s):
Beam
.Grace_engraver
Set font size and other properties for grace notes.
Properties (read)
graceSettings
(list)Overrides for grace notes. This property should be manipulated through the
add-grace-property
function.Grob_pq_engraver
Administrate when certain grobs (e.g., note heads) stop playing.
Properties (read)
busyGrobs
(list)A queue of
(end-moment . grob)
cons cells. 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)
cons cells. This is for internal (C++) use only. This property contains the grobs which are still busy (e.g., note heads, spanners, etc.).Instrument_switch_engraver
Create a cue text for taking instrument.
This engraver is deprecated.
Properties (read)
instrumentCueName
(markup)The name to print if another instrument is to be taken.
This property is deprecated
This engraver creates the following layout object(s):
InstrumentSwitch
.Laissez_vibrer_engraver
Create laissez vibrer items.
Music types accepted:
laissez-vibrer-event
This engraver creates the following layout object(s):
LaissezVibrerTie
andLaissezVibrerTieColumn
.Ligature_bracket_engraver
Handle
Ligature_events
by engravingLigature
brackets.Music types accepted:
ligature-event
This engraver creates the following layout object(s):
LigatureBracket
.Multi_measure_rest_engraver
Engrave multi-measure rests that are produced with ‘R’. It reads
measureStartNow
andinternalBarNumber
to determine what number to print over theMultiMeasureRest
.Music types accepted:
multi-measure-articulation-event
,multi-measure-rest-event
andmulti-measure-text-event
Properties (read)
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
internalBarNumber
(integer)Contains the current bar number. This property is used for internal timekeeping, among others by the
Accidental_engraver
.measureStartNow
(boolean)True at the beginning of a measure.
restNumberThreshold
(number)If a multimeasure rest has more measures than this, a number is printed.
This engraver creates the following layout object(s):
MultiMeasureRest
,MultiMeasureRestNumber
,MultiMeasureRestScript
andMultiMeasureRestText
.New_fingering_engraver
Create fingering scripts for notes in a new chord. This engraver is ill-named, since it also takes care of articulations and harmonic note heads.
Properties (read)
fingeringOrientations
(list)A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
harmonicDots
(boolean)If set, harmonic notes in dotted chords get dots.
stringNumberOrientations
(list)See
fingeringOrientations
.strokeFingerOrientations
(list)See
fingeringOrientations
.This engraver creates the following layout object(s):
Fingering
,Script
,StringNumber
andStrokeFinger
.Note_head_line_engraver
Engrave a line between two note heads in a staff switch if
followVoice
is set.Properties (read)
followVoice
(boolean)If set, note heads are tracked across staff switches by a thin line.
This engraver creates the following layout object(s):
VoiceFollower
.Note_heads_engraver
Generate note heads.
Music types accepted:
note-event
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.staffLineLayoutFunction
(procedure)Layout of staff lines,
traditional
, orsemitone
.This engraver creates the following layout object(s):
NoteHead
.Note_spacing_engraver
Generate
NoteSpacing
, an object linking horizontal lines for use in spacing.This engraver creates the following layout object(s):
NoteSpacing
.Output_property_engraver
Apply a procedure to any grob acknowledged.
Music types accepted:
apply-output-event
Part_combine_engraver
Part combine engraver for orchestral scores: Print markings ‘a2’, ‘Solo’, ‘Solo II’, and ‘unisono’.
Music types accepted:
note-event
andpart-combine-event
Properties (read)
aDueText
(markup)Text to print at a unisono passage.
partCombineTextsOnNote
(boolean)Print part-combine texts only on the next note rather than immediately on rests or skips.
printPartCombineTexts
(boolean)Set ‘Solo’ and ‘A due’ texts in the part combiner?
soloIIText
(markup)The text for the start of a solo for voice ‘two’ when part-combining.
soloText
(markup)The text for the start of a solo when part-combining.
This engraver creates the following layout object(s):
CombineTextScript
.Percent_repeat_engraver
Make whole measure repeats.
Music types accepted:
percent-event
Properties (read)
countPercentRepeats
(boolean)If set, produce counters for percent repeats.
currentCommandColumn
(graphical (layout) object)Grob that is X-parent to all current breakable items (clef, key signature, etc.).
repeatCountVisibility
(procedure)A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.This engraver creates the following layout object(s):
PercentRepeat
andPercentRepeatCounter
.Phrasing_slur_engraver
Print phrasing slurs. Similar to
Slur_engraver
.Music types accepted:
note-event
andphrasing-slur-event
This engraver creates the following layout object(s):
PhrasingSlur
.Pitched_trill_engraver
Print the bracketed note head after a note head with trill.
This engraver creates the following layout object(s):
TrillPitchAccidental
,TrillPitchGroup
,TrillPitchHead
andTrillPitchParentheses
.Repeat_tie_engraver
Create repeat ties.
Music types accepted:
repeat-tie-event
This engraver creates the following layout object(s):
RepeatTie
andRepeatTieColumn
.Rest_engraver
Engrave rests.
Music types accepted:
rest-event
Properties (read)
middleCPosition
(number)The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.This engraver creates the following layout object(s):
Rest
.Rhythmic_column_engraver
Generate
NoteColumn
, an object that groups stems, note heads, and rests.This engraver creates the following layout object(s):
NoteColumn
.Script_column_engraver
Find potentially colliding scripts and put them into a
ScriptColumn
object; that will fix the collisions.This engraver creates the following layout object(s):
ScriptColumn
.Script_engraver
Handle note scripted articulations.
Music types accepted:
articulation-event
Properties (read)
scriptDefinitions
(list)The description of scripts. This is used by the
Script_engraver
for typesetting note-superscripts and subscripts. See scm/script.scm for more information.This engraver creates the following layout object(s):
Script
.Slash_repeat_engraver
Make beat repeats.
Music types accepted:
repeat-slash-event
This engraver creates the following layout object(s):
DoubleRepeatSlash
andRepeatSlash
.Slur_engraver
Build slur grobs from slur events.
Music types accepted:
note-event
andslur-event
Properties (read)
doubleSlurs
(boolean)If set, two slurs are created for every slurred note, one above and one below the chord.
slurMelismaBusy
(boolean)Signal if a slur is present.
This engraver creates the following layout object(s):
Slur
.Spanner_break_forbid_engraver
Forbid breaks in certain spanners.
Stem_engraver
Create stems, flags and single-stem tremolos. It also works together with the beam engraver for overriding beaming.
Music types accepted:
tremolo-event
Properties (read)
currentBarLine
(graphical (layout) object)Set to the
BarLine
thatBar_engraver
has created in the current timestep.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.
stemRightBeamCount
(integer)See
stemLeftBeamCount
.This engraver creates the following layout object(s):
Flag
,Stem
,StemStub
andStemTremolo
.Text_engraver
Create text scripts.
Music types accepted:
text-script-event
This engraver creates the following layout object(s):
TextScript
.Text_spanner_engraver
Create text spanner from an event.
Music types accepted:
text-span-event
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):
TextSpanner
.Tie_engraver
Generate ties between note heads of equal pitch.
Music types accepted:
tie-event
Properties (read)
skipTypesetting
(boolean)If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
tieWaitForNote
(boolean)If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
Properties (write)
tieMelismaBusy
(boolean)Signal whether a tie is present.
This engraver creates the following layout object(s):
Tie
andTieColumn
.Trill_spanner_engraver
Create trill spanners.
Music types accepted:
trill-span-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.).
This engraver creates the following layout object(s):
TrillSpanner
.Tuplet_engraver
Catch tuplet events and generate appropriate bracket.
Music types accepted:
tuplet-span-event
Properties (read)
tupletFullLength
(boolean)If set, the tuplet is printed up to the start of the next note.
tupletFullLengthNote
(boolean)If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
This engraver creates the following layout object(s):
TupletBracket
andTupletNumber
.
[ << Translation ] | [Top][Contents][Index] | [ Backend >> ] |
[ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] |