]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation
[lilypond.git] / ly / engraver-init.ly
index 6c19da86d1463ea39417ba3e3c08802f2734faeb..a04145ba0c56716f46b9db86ee6724b75f69ba4c 100644 (file)
@@ -86,7 +86,7 @@
   \consists "Cue_clef_engraver"
   \consists "Fingering_column_engraver"
 
-  localKeySignature = #'()
+  localAlterations = #'()
   createSpacing = ##t
   ignoreFiguredBassRest = ##f
 
@@ -99,7 +99,6 @@
   \defaultchild "Voice"
   \accepts "Voice"
   \accepts "CueVoice"
-  \accepts "NullVoice"
 
   \description "Handles clefs, bar lines, keys, accidentals.  It can contain
 @code{Voice} contexts."
@@ -162,7 +161,7 @@ contained staves are not connected vertically."
 \context{
   \type "Engraver_group"
 
-  localKeySignature = #'()
+  localAlterations = #'()
   createSpacing = ##t
 
   squashedPosition = #0
@@ -210,7 +209,8 @@ subscripts, slurs, ties, and rests.
 
 You have to instantiate this explicitly if you want to have
 multiple voices on the same staff."
-
+  %% Grace_engraver sets properties, it must come first.
+  \consists "Grace_engraver"
   \consists "Font_size_engraver"
 
   \consists "Pitched_trill_engraver"
@@ -266,7 +266,6 @@ multiple voices on the same staff."
   \consists "Slur_engraver"
   \consists "Tie_engraver"
   \consists "Tuplet_engraver"
-  \consists "Grace_engraver"
   \consists "Instrument_switch_engraver"
 }
 
@@ -305,7 +304,7 @@ multiple voices on the same staff."
 \context{
   \type "Engraver_group"
   \name GrandStaff
-  localKeySignature = #'()
+  localAlterations = #'()
 
   \description "A group of staves, with a brace on the left
 side, grouping the staves together.  The bar lines of the
@@ -420,13 +419,6 @@ a collection of staves, with a bracket in front and spanning bar lines."
   \override DynamicLineSpanner.outside-staff-priority = ##f
   \override DynamicText.outside-staff-priority = ##f
   \override Hairpin.outside-staff-priority = ##f
-  \override DynamicText.X-offset =
-  #(ly:make-simple-closure
-    `(,+
-      ,(ly:make-simple-closure
-         (list ly:self-alignment-interface::centered-on-note-columns))
-      ,(ly:make-simple-closure
-        (list ly:self-alignment-interface::x-aligned-on-self))))
 
   \description "Holds a single line of dynamics, which will be
 centered between the staves surrounding this context."
@@ -585,6 +577,7 @@ automatically when an output definition (a @code{\\score} or
   \accepts "ChoirStaff"
   \accepts "PianoStaff"
   \accepts "Devnull"
+  \accepts "NullVoice"
   \accepts "NoteNames"
   \accepts "FiguredBass"
 
@@ -599,6 +592,7 @@ automatically when an output definition (a @code{\\score} or
 
   drumStyleTable = #drums-style
 
+  associatedVoiceType = #'Voice
   melismaBusyProperties = #default-melisma-properties
   tieWaitForNote = ##f
   clefGlyph = #"clefs.G"
@@ -614,7 +608,7 @@ automatically when an output definition (a @code{\\score} or
   doubleRepeatType = #":..:"
   startRepeatType = #".|:"
   endRepeatType = #":|."
-  alternativeRestores = #'(measurePosition measureLength)
+  alternativeRestores = #'(measurePosition measureLength lastChord)
   barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers
   barNumberFormatter = #robust-bar-number-function
   clefTranspositionFormatter = #clef-transposition-markup
@@ -779,54 +773,30 @@ context."
 \context {
   \name "NullVoice"
   \type "Engraver_group"
-
-  \description "Non-printing context, typically used for aligning
-lyrics in polyphonic situations, or with @code{\partcombine}."
+  \description "For aligning lyrics without printing notes"
 
   %% don't route anything out of here
   \alias "Staff"
   \alias "Voice"
 
-  %% all three are needed for ties to work with lyrics
+  % provide non-printing NoteHeads with proper extents for lyric alignment
   \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"
+  \omit NoteHead
+  \override NoteHead.X-extent = #(lambda (g)
+    (ly:stencil-extent (ly:note-head::print g) X))
 
-  %% 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 AccidentalCautionary
+  \omit AccidentalSuggestion
+
+  % the engravers that control the 'busy' flags for note-onsets and melismata
+  \consists "Grob_pq_engraver"
+  \consists "Tie_engraver"
+  \omit Tie
+  \consists "Beam_engraver"
   \omit Beam
-  \omit Dots
-  \omit Flag
-  \omit Rest
+  \consists "Slur_engraver"
   \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 {