]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
Merge commit 'ce4b499'
[lilypond.git] / ly / engraver-init.ly
index 1f4df05b1b39e336c834ed2f11895888710d796d..2d59701482336b229e1f029e8664c5f3f89499cb 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.7.39"
+\version "2.10.0"
 
 \context {
   \name "Global"
@@ -6,7 +6,7 @@
   \accepts "Score"
 
   \defaultchild "Score"
-  \description "Hard coded entry point for LilyPond. Cannot be tuned."
+  \description "Hard coded entry point for LilyPond.  Cannot be tuned."
   \grobdescriptions #all-grob-descriptions
 }
 
@@ -34,9 +34,9 @@
   %% with empty ones.
   
   \consists "Font_size_engraver"
-  \consists "Volta_engraver"
   \consists "Separating_line_group_engraver"   
   \consists "Dot_column_engraver"
+  \consists "Staff_collecting_engraver"
 
  %% perhaps move to Voice context?
   \consists "Ottava_spanner_engraver"
   \consists "Figured_bass_position_engraver"
   \consists "Script_row_engraver"
 
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
   localKeySignature = #'()
   createSpacing = ##t
   ignoreFiguredBassRest = ##t 
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
   
   %% explicitly set instrument, so we don't get 
   %% weird effects when doing instrument names for
@@ -152,7 +152,6 @@ contained staves are not connected vertically."
   
   \consists "Output_property_engraver"
   \consists "Font_size_engraver"
-  \consists "Volta_engraver"
   \consists "Separating_line_group_engraver"   
   \consists "Dot_column_engraver"
   \consists "Bar_engraver"
@@ -167,10 +166,8 @@ contained staves are not connected vertically."
   \accepts "CueVoice"
   \defaultchild "Voice"
 
-  \description  "
-    A context like @code{Staff} but for printing rhythms.  Pitches are
-    ignored; the notes are printed on one line.  
-"
+  \description "A context like @code{Staff} but for printing rhythms.
+Pitches are ignored; the notes are printed on one line."
 }
 
 
@@ -178,13 +175,12 @@ contained staves are not connected vertically."
   \type "Engraver_group"
   \name "Voice"
 
-  \description "
-    Corresponds to a voice on a staff.  This context handles the
-    conversion of dynamic signs, stems, beams, super- and subscripts,
-    slurs, ties, and rests.
+  \description "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."
+You have to instantiate this explicitly if you want to have
+multiple voices on the same staff."
 
   localKeySignature = #'()
   \consists "Font_size_engraver"
@@ -206,7 +202,8 @@ contained staves are not connected vertically."
   \consists "Note_heads_engraver"
   \consists "Dots_engraver"
   \consists "Rest_engraver"
-
+  \consists "Tweak_engraver"
+  
   %% switch on to make stem directions interpolate for the
   %% center line.
   %  \consists "Melody_engraver"
@@ -227,11 +224,13 @@ contained staves are not connected vertically."
   \consists "Text_engraver"
   \consists "Dynamic_engraver"
   \consists "Fingering_engraver"
-  \consists "Bend_after_engraver"
+  \consists "Bend_engraver"
 
   \consists "Script_engraver"
   \consists "Script_column_engraver"
   \consists "Rhythmic_column_engraver"
+  \consists "Note_spacing_engraver"
+  \consists "Spanner_break_forbid_engraver"
   \consists "Phrasing_slur_engraver"
   \consists "Cluster_spanner_engraver"
   \consists "Slur_engraver"
@@ -283,15 +282,16 @@ contained staves are not connected vertically."
   \name GrandStaff
   localKeySignature = #'()
   
-  \description " A group of staffs, with a brace on the left
-    side, grouping the staves together.  The bar lines of the
-    contained staves are connected vertically.  "
+  \description "A group of staves, with a brace on the left
+side, grouping the staves together.  The bar lines of the
+contained staves are connected vertically."
 
   \consists "Span_bar_engraver"
   \consists "Span_arpeggio_engraver"
   \consists "System_start_delimiter_engraver"
   systemStartDelimiter = #'SystemStartBrace
 
+  \defaultchild "Staff"
   \accepts "Staff"
   \accepts "FiguredBass"
 }
@@ -301,14 +301,10 @@ contained staves are not connected vertically."
   \name "PianoStaff"
   \alias "GrandStaff"
 
-  \description
-  "Just like @code{GrandStaff} but with a forced distance between
-    the staves, so cross staff beaming and slurring can be used."
-  
-  \override VerticalAlignment #'forced-distance = #12
-  \override VerticalAlignment #'self-alignment-Y = #0
+  \description "Just like @code{GrandStaff} but with a forced
+distance between the staves, so cross staff beaming and slurring
+can be used."
 
-  \consists "Vertical_align_engraver"
   \consists "Instrument_name_engraver"
   
   instrumentName = #'()
@@ -341,12 +337,10 @@ contained staves are not connected vertically."
   \InnerStaffGroup
   \name StaffGroup
   
-  \description
-
-  "Groups staffs while adding a bracket on the left side, grouping
-the staves together.  The bar lines of the contained staves are
-connected vertically.  StaffGroup only consists of a collection of
-staffs, with a bracket in front and spanning bar lines. "
+  \description "Groups staves while adding a bracket on the left
+side, grouping the staves together.  The bar lines of the contained
+staves are connected vertically.  @code{StaffGroup} only consists of
+a collection of staves, with a bracket in front and spanning bar lines."
   
   \accepts "InnerChoirStaff"
   \accepts "ChoirStaff"
@@ -357,12 +351,15 @@ staffs, with a bracket in front and spanning bar lines. "
 
 \context{
   \type "Engraver_group"
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 2.4)
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 2.0)
 
-  \description " Corresponds to a voice with lyrics.  Handles the
-printing of a single line of lyrics.  "
+  \description "Corresponds to a voice with lyrics.  Handles the
+printing of a single line of lyrics."
+  
+  \name "Lyrics"
+  instrumentName = #'()
+  shortInstrumentName = #'()
   
-  \name "Lyrics" 
   \consists "Lyric_engraver"
   \consists "Extender_engraver"
   \consists "Hyphen_engraver"
@@ -371,8 +368,10 @@ printing of a single line of lyrics.  "
   \consists "Skip_event_swallow_translator"
   \consists "Font_size_engraver"
   \consists "Hara_kiri_engraver"
+
   \override VerticalAxisGroup #'remove-first = ##t
   \override VerticalAxisGroup #'remove-empty = ##t
+  \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
   \override SeparationItem #'padding = #0.2
   \override InstrumentName #'self-alignment-Y = ##f
 
@@ -404,8 +403,6 @@ printing of a single line of lyrics.  "
   \type "Engraver_group"
   \name ChordNames
   \description "Typesets chord names."
-
-  \consists "Volta_engraver"
   
   \consists "Rest_swallow_translator" 
   \consists "Output_property_engraver" 
@@ -413,10 +410,8 @@ printing of a single line of lyrics.  "
   \consists "Chord_name_engraver"
   \consists "Skip_event_swallow_translator"
   \consists "Hara_kiri_engraver"
-  
-  voltaOnThisStaff = ##f
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2.5)
-  \override SeparatingGroupSpanner #'padding = #0.8
+%  \consists "Note_spacing_engraver"
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
   \override VerticalAxisGroup #'remove-first = ##t
   \override VerticalAxisGroup #'remove-empty = ##t
 }
@@ -444,16 +439,15 @@ AncientRemoveEmptyStaffContext = \context {
   \name "Score"
   
   \description "This is the top level notation context.  No
-    other context can contain a @code{Score} context.  This context
-    handles the administration of time signatures.  It also makes sure
-    that items such as clefs, time signatures, and key-signatures are
-    aligned across staves.
-
-    You cannot explicitly instantiate a Score context (since it is
-    not contained in any other context).  It is instantiated
-    automatically when an output definition (a @code{\score} or
-    @code{\layout} block) is processed."
+other context can contain a @code{Score} context.  This context
+handles the administration of time signatures.  It also makes sure
+that items such as clefs, time signatures, and key-signatures are
+aligned across staves.
 
+You cannot explicitly instantiate a @code{Score} context (since it
+is not contained in any other context).  It is instantiated
+automatically when an output definition (a @code{\score} or
+@code{\layout} block) is processed."
 
   \consists "Paper_column_engraver"
   \consists "Vertically_spaced_contexts_engraver"
@@ -466,7 +460,8 @@ AncientRemoveEmptyStaffContext = \context {
   \consists "Default_bar_line_engraver"
   \consists "Output_property_engraver"
   \consists "System_start_delimiter_engraver"
-  \consists "Mark_engraver"    
+  \consists "Mark_engraver"
+  \consists "Volta_engraver"
   \consists "Metronome_mark_engraver"  
   \consists "Break_align_engraver"
   \consists "Spacing_engraver"
@@ -474,7 +469,6 @@ AncientRemoveEmptyStaffContext = \context {
   \consists "Vertical_align_engraver"
   \consists "Stanza_number_align_engraver"
   \consists "Bar_number_engraver"
-  \consists "Tweak_engraver"
   \consists "Parenthesis_engraver"
   
   \defaultchild "Staff"
@@ -511,6 +505,7 @@ AncientRemoveEmptyStaffContext = \context {
   tieWaitForNote = ##f
   clefGlyph = #"clefs.G"
   clefPosition = #-2
+  middleCClefPosition = #-6
   middleCPosition = #-6
   firstClef = ##t
   
@@ -520,6 +515,8 @@ AncientRemoveEmptyStaffContext = \context {
   
   explicitClefVisibility = #all-visible
   explicitKeySignatureVisibility = #all-visible
+  implicitTimeSignatureVisibility = #end-of-line-invisible
+  
   autoBeamSettings = #default-auto-beam-settings
   autoBeaming = ##t
   autoBeamCheck = #default-auto-beam-check
@@ -542,6 +539,7 @@ AncientRemoveEmptyStaffContext = \context {
   stringNumberOrientations = #'(up down)
   strokeFingerOrientations = #'(right)
   
+  lyricMelismaAlignment = #LEFT
   markFormatter = #format-mark-letters
   rehearsalMark = #1
   subdivideBeams = ##f
@@ -553,8 +551,8 @@ AncientRemoveEmptyStaffContext = \context {
   printKeyCancellation = ##t
   keyAlterationOrder = #`(
     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
-    (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
-    (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
+    (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
+    (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
   )
 
@@ -574,7 +572,8 @@ AncientRemoveEmptyStaffContext = \context {
 
   bassStaffProperties = #'((assign clefGlyph "clefs.F")
   (assign clefPosition 2)
-  (assign middleCPosition 6))
+  (assign middleCPosition 6)
+  (assign middleCClefPosition 6))
 %% tablature:
   stringOneTopmost = ##t
   highStringOne = ##t
@@ -587,6 +586,9 @@ AncientRemoveEmptyStaffContext = \context {
 %%
   figuredBassFormatter = #format-bass-figure
   metronomeMarkFormatter = #format-metronome-markup
+
+
+  %% See also make-voice-props-set
   graceSettings = #`(
     (Voice Stem direction ,UP)
     (Voice Stem font-size -3)
@@ -600,13 +602,24 @@ AncientRemoveEmptyStaffContext = \context {
     (Voice Slur direction ,DOWN)
   )
 
-  keepAliveInterfaces = #'(rhythmic-grob-interface lyric-interface percent-repeat-interface)
-  quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event beam-event)
+  keepAliveInterfaces = #'(
+    rhythmic-grob-interface
+    lyric-interface
+
+    ;; need this, as stanza numbers are items, and appear only once. 
+    stanza-number-interface
+    percent-repeat-interface)
+  quotedEventTypes = #'(
+    note-event
+    rest-event
+    tie-event
+    beam-event
+    tuplet-span-event)
   instrumentTransposition = #(ly:make-pitch 0 0 0)
 
   verticallySpacedContexts = #'(Staff)
 
-  hairpinToBarline = ##t 
+  \override Voice #'hairpinToBarline = ##t 
   
   timing = ##t
 }
@@ -626,7 +639,7 @@ AncientRemoveEmptyStaffContext = \context {
 
   \override VerticalAxisGroup #'remove-empty = ##t
   \override VerticalAxisGroup #'remove-first = ##t
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
 }
 
 \context {
@@ -637,7 +650,8 @@ AncientRemoveEmptyStaffContext = \context {
   \alias "Staff"
   \alias "Voice"
   \consists "Swallow_engraver"
-  \description "Silently discards all musical information given to this context. "
+  \description "Silently discards all musical information given to this
+context."
 }
 
 \context {
@@ -645,11 +659,13 @@ AncientRemoveEmptyStaffContext = \context {
   \name "TabVoice"
   \alias "Voice"
   \consists "Tab_note_heads_engraver"
+  \consists "Tab_harmonic_engraver"
+  
   \remove "Note_heads_engraver"
   \remove "Fingering_engraver"
   \remove "New_fingering_engraver"
 
-  \description "Context for drawing notes in a Tab staff. "
+  \description "Context for drawing notes in a Tab staff."
 
   %% TabStaff increase the staff-space, which in turn
   %% increases beam thickness and spacing; beams are
@@ -659,6 +675,14 @@ AncientRemoveEmptyStaffContext = \context {
 
   %% No accidental in tablature !
   \remove Accidental_engraver
+
+  \override Glissando #'extra-dy = #0.75
+  \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
+                                                  (padding . 0.3))
+  \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
+                                                  (padding . 0.3))
+  \override Glissando #'extra-dy = #0.75
+  \override Glissando #'gap = #0.2
 }
 
 \context {
@@ -702,7 +726,9 @@ AncientRemoveEmptyStaffContext = \context {
   \Voice
   \name "VaticanaVoice"
   \alias "Voice"
-  \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
+  \description "Same as @code{Voice} context, except that it is
+accommodated for typesetting Gregorian Chant in the notational style
+of Editio Vaticana."
 
   \remove "Slur_engraver"
   \remove "Stem_engraver"
@@ -721,19 +747,12 @@ AncientRemoveEmptyStaffContext = \context {
 
   %% Prepare TextSpanner for \episem{Initium|Finis} use.
   %%
-  %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
-  %% always produce dashed lines, regardless of the style property.
-  %%
   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
   %% required to force the articulation signs being placed vertically
   %% tightly to the correpsonding note heads.
   %%
-  \override TextSpanner #'dash-fraction = #'()
   \override TextSpanner #'style = #'line
-  \override TextSpanner #'edge-height = #'(0 . 0)
   \override TextSpanner #'padding = #-0.1
-  \override TextSpanner #'enclose-bounds = #1
-  \override TextSpanner #'edge-text = #'("" . "")
 }
 
 \context {
@@ -744,7 +763,9 @@ AncientRemoveEmptyStaffContext = \context {
   \accepts "VaticanaVoice"
   \defaultchild "VaticanaVoice"
 
-  \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
+  \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting Gregorian Chant in the notational style
+of Editio Vaticana."
 
   \remove "Time_signature_engraver"
   \consists "Custos_engraver"
@@ -763,12 +784,13 @@ AncientRemoveEmptyStaffContext = \context {
   %% Choose vaticana do clef on 3rd line as default.
   clefGlyph = #"clefs.vaticana.do"
   middleCPosition = #1
+  middleCClefPosition = #1
   clefPosition = #1
   clefOctavation = #0
 
   %% Select vaticana style font.
   \override KeySignature #'style = #'vaticana
-  \override Accidental #'style = #'vaticana
+  \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
   \override Custos #'style = #'vaticana
   \override Custos #'neutral-position = #3
   \override Custos #'neutral-direction = #DOWN
@@ -779,7 +801,7 @@ AncientRemoveEmptyStaffContext = \context {
   \Voice
   \name "GregorianTranscriptionVoice"
   \alias "Voice"
-
+  
   %% Removing ligature bracket engraver without replacing it by some
   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
   %% warning for every "\[" and "\]".  Therefore, we make the grob
@@ -804,10 +826,7 @@ AncientRemoveEmptyStaffContext = \context {
   %%
   \override TextSpanner #'dash-fraction = #'()
   \override TextSpanner #'style = #'line
-  \override TextSpanner #'edge-height = #'(0 . 0)
   \override TextSpanner #'padding = #-0.1
-  \override TextSpanner #'enclose-bounds = #1
-  \override TextSpanner #'edge-text = #'("" . "")
 }
 
 \context {
@@ -828,7 +847,8 @@ AncientRemoveEmptyStaffContext = \context {
   \Voice
   \name "MensuralVoice"
   \alias "Voice"
-  \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
+  \description "Same as @code{Voice} context, except that it is
+accommodated for typesetting a piece in mensural style."
 
   \remove "Slur_engraver"
   \remove "Ligature_bracket_engraver"
@@ -848,7 +868,8 @@ AncientRemoveEmptyStaffContext = \context {
   \denies "Voice"
   \defaultchild "MensuralVoice"
   \accepts "MensuralVoice"
-  \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
+  \description "Same as @code{Staff} context, except that it is
+accommodated for typesetting a piece in mensural style."
 
   \consists "Custos_engraver"
 
@@ -864,6 +885,7 @@ AncientRemoveEmptyStaffContext = \context {
 
   %% Choose petrucci g clef on 2nd line as default.
   clefGlyph = #"clefs.petrucci.g"
+  middleCClefPosition = #-6
   middleCPosition = #-6
   clefPosition = #-2
   clefOctavation = #0
@@ -871,7 +893,7 @@ AncientRemoveEmptyStaffContext = \context {
   %% Select mensural style font.
   \override TimeSignature #'style = #'mensural
   \override KeySignature #'style = #'mensural
-  \override Accidental #'style = #'mensural
+  \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
   \override Custos #'style = #'mensural
   \override Custos #'neutral-position = #3
   \override Custos #'neutral-direction = #DOWN