| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] | 
| [ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] | 
2.1.41 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 - baseMoment,- beatStructure,- beamExceptions,- measureLength, and- measurePositionto decide when to start and stop a beam. Overriding beaming is done through- Stem_engraverproperties- stemLeftBeamCountand- stemRightBeamCount.- Music types accepted: - beam-forbid-event- Properties (read) -  autoBeaming(boolean)
- If set to true then beams are generated automatically. 
-  baseMoment(moment)
- Smallest unit of time that will stand on its own as a subdivided section. 
-  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. 
-  beatStructure(list)
- List of - baseMoments that are combined to make beats.
-  subdivideBeams(boolean)
- If set, multiple beams will be subdivided at - baseMomentpositions by only drawing one beam over the beat.
 - This engraver creates the following layout object(s): - Beam.
-  
-  Beam_engraver
- Handle - Beamevents by engraving beams. If omitted, then notes are printed with flags instead of beams.- Music types accepted: - beam-event- Properties (read) -  baseMoment(moment)
- Smallest unit of time that will stand on its own as a subdivided section. 
-  beamMelismaBusy(boolean)
- Signal if a beam is present. 
-  beatStructure(list)
- List of - baseMoments that are combined to make beats.
-  subdivideBeams(boolean)
- If set, multiple beams will be subdivided at - baseMomentpositions by only drawing one beam over the beat.
 - 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 - BarLinethat- Bar_engraverhas 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 - BreathingSignto 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 - Spannernotation.- Music types accepted: - cluster-note-event- This engraver creates the following layout object(s): - ClusterSpannerand- ClusterSpannerBeacon.
-  Dots_engraver
- Create - Dotsobjects for- rhythmic-head-interfaces.- 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(moment)
- 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 - countPercentRepeatsis 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): - DoublePercentRepeatand- DoublePercentRepeatCounter.
-  
-  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-eventand- span-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,- DynamicTextSpannerand- Hairpin.
-  
-  Finger_glide_engraver
- Engraver to print a line between two - Fingeringgrobs.- 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 - fontSizeinto- font-sizegrob 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 - \noBeamwill block autobeaming, just like setting the context property ‘autoBeaming’ to- ##f.- Music types accepted: - beam-forbid-event- Properties (read) -  autoBeaming(boolean)
- If set to true then beams are generated automatically. 
 - This engraver creates the following layout object(s): - Beam.
-  
-  Grace_beam_engraver
- Handle - Beamevents 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) -  baseMoment(moment)
- Smallest unit of time that will stand on its own as a subdivided section. 
-  beamMelismaBusy(boolean)
- Signal if a beam is present. 
-  beatStructure(list)
- List of - baseMoments that are combined to make beats.
-  subdivideBeams(boolean)
- If set, multiple beams will be subdivided at - baseMomentpositions by only drawing one beam over the beat.
 - 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-propertyfunction.
 
-  
-  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): - LaissezVibrerTieand- LaissezVibrerTieColumn.
-  Ligature_bracket_engraver
- Handle - Ligature_eventsby engraving- Ligaturebrackets.- 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 - measureStartNowand- internalBarNumberto determine what number to print over the- MultiMeasureRest.- Music types accepted: - multi-measure-articulation-event,- multi-measure-rest-eventand- multi-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 barnumber. 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,- MultiMeasureRestScriptand- MultiMeasureRestText.
-  
-  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,- StringNumberand- StrokeFinger.
-  
-  Note_head_line_engraver
- Engrave a line between two note heads in a staff switch if - followVoiceis 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 - middleCClefPositionand- middleCOffset.
-  staffLineLayoutFunction(procedure)
- Layout of staff lines, - traditional, or- semitone.
 - 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-eventand- part-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 - countPercentRepeatsis set.
 - This engraver creates the following layout object(s): - PercentRepeatand- PercentRepeatCounter.
-  
-  Phrasing_slur_engraver
- Print phrasing slurs. Similar to - Slur_engraver.- Music types accepted: - note-eventand- phrasing-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,- TrillPitchHeadand- TrillPitchParentheses.
-  Repeat_tie_engraver
- Create repeat ties. - Music types accepted: - repeat-tie-event- This engraver creates the following layout object(s): - RepeatTieand- RepeatTieColumn.
-  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 - middleCClefPositionand- middleCOffset.
 - 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 - ScriptColumnobject; 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_engraverfor 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): - DoubleRepeatSlashand- RepeatSlash.
-  Slur_engraver
- Build slur grobs from slur events. - Music types accepted: - note-eventand- slur-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-eventand- tuplet-span-event- Properties (read) -  currentBarLine(graphical (layout) object)
- Set to the - BarLinethat- Bar_engraverhas 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,- StemStuband- StemTremolo.
-  
-  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): - Tieand- TieColumn.
-  
-  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): - TupletBracketand- TupletNumber.
-  
| [ << Translation ] | [Top][Contents][Index] | [ Backend >> ] | 
| [ < VaticanaVoice ] | [ Up : Contexts ] | [ Engravers and Performers > ] |