Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1169)

Unified Diff: ly/engraver-init.ly

Issue 11328043: Issue 3457: Add NullVoice context (using \partcombine with lyrics). (Closed)
Patch Set: Minor clarification. Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Documentation/notation/vocal.itely ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ly/engraver-init.ly
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
index 99647c75d03182f2ab159a44d4a86c9264d50149..2d3857646fa73f72e0d490c01d7c82987f3a347f 100644
--- a/ly/engraver-init.ly
+++ b/ly/engraver-init.ly
@@ -99,6 +99,7 @@
\defaultchild "Voice"
\accepts "Voice"
\accepts "CueVoice"
+ \accepts "NullVoice"
\description "Handles clefs, bar lines, keys, accidentals. It can contain
@code{Voice} contexts."
@@ -786,6 +787,59 @@ 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 want to 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"
\alias "Voice"
« no previous file with comments | « Documentation/notation/vocal.itely ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b