\defaultchild "Score"
\description "Hard coded entry point for LilyPond. Cannot be tuned."
\grobdescriptions #all-grob-descriptions
- EventClasses = #all-event-classes
}
\context {
\defaultchild "Voice"
\accepts "Voice"
\accepts "CueVoice"
+ \accepts "NullVoice"
\description "Handles clefs, bar lines, keys, accidentals. It can contain
@code{Voice} contexts."
figuredBassFormatter = #format-bass-figure
metronomeMarkFormatter = #format-metronome-markup
-
%% See also make-voice-props-set
- graceSettings = #`(
- (Voice Stem direction ,UP)
- (Voice Stem font-size -3)
- (Voice Flag font-size -3)
- (Voice NoteHead font-size -3)
- (Voice TabNoteHead font-size -4)
- (Voice Dots font-size -3)
- (Voice Stem length-fraction 0.8)
- (Voice Stem no-stem-extend #t)
- (Voice Beam beam-thickness 0.384)
- (Voice Beam length-fraction 0.8)
- (Voice Accidental font-size -4)
- (Voice AccidentalCautionary font-size -4)
- (Voice Slur direction ,DOWN)
- (Voice Script font-size -3)
- (Voice Fingering font-size -8)
- (Voice StringNumber font-size -8)
- )
+ graceSettings = #score-grace-settings
keepAliveInterfaces = #'(
bass-figure-interface
context."
}
+\context {
+ \name "NullVoice"
+ \type "Engraver_group"
+
+ \description "Non-printing context, typically used for aligning
+lyrics in polyphonic situations, or with @code{\partcombine}."
+
+ %% don't route anything out of here
+ \alias "Staff"
+ \alias "Voice"
+
+ %% all three are needed for ties to work with lyrics
+ \consists "Note_heads_engraver"
+ \consists "Rhythmic_column_engraver"
+ \consists "Tie_engraver"
+
+ %% both are needed for melismas to work with \autoBeamOff
+ \consists "Beam_engraver"
+ \consists "Stem_engraver"
+
+ %% needed for slurs to work with lyrics
+ \consists "Slur_engraver"
+
+ %% keep noteheads inside the staff
+ \consists "Pitch_squash_engraver"
+ squashedPosition = 0
+
+ %% `\omit NoteHead' would give slur attachment errors
+ \omit Accidental
+ \omit Beam
+ \omit Dots
+ \omit Flag
+ \omit Rest
+ \omit Slur
+ \omit Stem
+ \omit Tie
+
+ %% let these take up space (for lyric extenders, etc.)
+ \override NoteHead.transparent = ##t
+ \override TabNoteHead.transparent = ##t
+
+ %% don't let notes shift
+ \override NoteHead.X-offset = 0
+ \override NoteColumn.ignore-collision = ##t
+
+ %% keep beams and stems inside the staff
+ \override Beam.positions = #'(1 . 1)
+ \override Stem.length = 0
+
+ %% prevent "weird stem size" warnings
+ \override Stem.direction = #UP
+}
+
\context {
\Voice
\name "TabVoice"