]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
Bugfix in \showKeySignature
[lilypond.git] / ly / engraver-init.ly
index 61bd5d7504775be6717a101f8fd9b8baa17ba9ce..58ce25960a62fdd48dbadc1038befe634f3f0b2f 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.7.39"
+\version "2.10.0"
 
 \context {
   \name "Global"
@@ -6,10 +6,24 @@
   \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
 }
 
+
+\context {
+  \type "Engraver_group"
+  \name "FretBoards"
+
+  \consists "Output_property_engraver" 
+
+  \consists "Axis_group_engraver" 
+  \consists "Fretboard_engraver"
+  \consists "Separating_line_group_engraver"
+  \consists "Font_size_engraver"
+  \consists "Instrument_name_engraver"
+}
+
 \context {
   \type "Engraver_group"
   \name "Staff"
   %% 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?
+ %% perhaps move to Voice context?
   \consists "Ottava_spanner_engraver"
   \consists "Clef_engraver"
   \consists "Key_engraver"
   \consists "Rest_collision_engraver"
   \consists "Accidental_engraver"
   \consists "Piano_pedal_engraver"
+  \consists "Piano_pedal_align_engraver"
   \consists "Instrument_name_engraver"
   \consists "String_number_engraver"
   \consists "Axis_group_engraver"
   \consists "Figured_bass_engraver"
   \consists "Figured_bass_position_engraver"
+  \consists "Script_row_engraver"
 
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
-  extraVerticalExtent = ##f
-  verticalExtent = ##f 
   localKeySignature = #'()
   createSpacing = ##t
   ignoreFiguredBassRest = ##t 
@@ -122,8 +135,6 @@ contained staves are not connected vertically."
   \type "Engraver_group"
   
   \override VerticalAxisGroup #'minimum-Y-extent = ##f
-  extraVerticalExtent = ##f
-  verticalExtent = ##f 
   localKeySignature = #'()
   createSpacing = ##t
 
@@ -140,7 +151,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"
@@ -155,10 +165,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."
 }
 
 
@@ -166,13 +174,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"
@@ -192,8 +199,10 @@ contained staves are not connected vertically."
   \consists "Ligature_bracket_engraver"
   \consists "Breathing_sign_engraver"
   \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"
@@ -202,7 +211,10 @@ contained staves are not connected vertically."
   \consists "Beam_engraver"
   \consists "Grace_beam_engraver"
   \consists "Auto_beam_engraver"
+
+  %% must come before Script_column_engraver.
   \consists "New_fingering_engraver"
+  
   \consists "Chord_tremolo_engraver"
   \consists "Percent_repeat_engraver"
   \consists "Slash_repeat_engraver"
@@ -211,11 +223,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"
@@ -267,9 +281,9 @@ 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"
@@ -285,14 +299,11 @@ 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"
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
   \consists "Instrument_name_engraver"
   
   instrumentName = #'()
@@ -325,12 +336,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"
@@ -341,14 +350,15 @@ staffs, with a bracket in front and spanning bar lines. "
 
 \context{
   \type "Engraver_group"
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 2.4)
-  extraVerticalExtent = ##f
-  verticalExtent = ##f
+  \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"
@@ -357,8 +367,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
 
@@ -377,8 +389,6 @@ printing of a single line of lyrics.  "
   \consists "Axis_group_engraver"
 
   \override VerticalAxisGroup #'minimum-Y-extent = ##f
-  extraVerticalExtent = ##f
-  verticalExtent = ##f 
 
   
   \consists "Rest_swallow_translator" 
@@ -392,8 +402,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" 
@@ -401,14 +409,10 @@ 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)
-  extraVerticalExtent = ##f
-  \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
-  verticalExtent = ##f 
 }
 
 
@@ -434,16 +438,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"
@@ -456,7 +459,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"
@@ -464,11 +468,11 @@ AncientRemoveEmptyStaffContext = \context {
   \consists "Vertical_align_engraver"
   \consists "Stanza_number_align_engraver"
   \consists "Bar_number_engraver"
-  \consists "Tweak_engraver"
   \consists "Parenthesis_engraver"
   
   \defaultchild "Staff"
 
+  \accepts "FretBoards"
   \accepts "Staff"
   \accepts "RhythmicStaff"
   \accepts "TabStaff"
@@ -485,7 +489,9 @@ AncientRemoveEmptyStaffContext = \context {
   \accepts "Devnull"
   \accepts "NoteNames"
   \accepts "FiguredBass"
-  
+
+
+  noteToFretFunction = #determine-frets
   soloText = #"Solo"
   soloIIText = #"Solo II"
   aDueText = #"a2"
@@ -507,6 +513,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
@@ -527,6 +535,9 @@ AncientRemoveEmptyStaffContext = \context {
   harmonicAccidentals = ##t 
   fingeringOrientations = #'(up down)
   stringNumberOrientations = #'(up down)
+  strokeFingerOrientations = #'(right)
+  
+  lyricMelismaAlignment = #LEFT
   markFormatter = #format-mark-letters
   rehearsalMark = #1
   subdivideBeams = ##f
@@ -538,8 +549,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)
   )
 
@@ -572,6 +583,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)
@@ -585,8 +599,19 @@ 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)
@@ -611,7 +636,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 {
@@ -622,7 +647,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 {
@@ -630,11 +656,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
@@ -644,6 +672,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 {
@@ -687,7 +723,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"
@@ -715,16 +753,9 @@ 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 = #'("" . "")
 }
 
-%% FIXME: need something like
-%%  \remove "Bar_number_engraver" (which lives on score level)
-%% for vaticana and gregorian transcription staves
-
 \context {
   \Staff
   \name "VaticanaStaff"
@@ -733,7 +764,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"
@@ -757,17 +790,18 @@ AncientRemoveEmptyStaffContext = \context {
 
   %% 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
+  \override Dots #'style = #'vaticana
 }
 
 \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
@@ -792,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 {
@@ -816,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"
@@ -836,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"
 
@@ -859,10 +892,17 @@ 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
+
+  %% Accidentals are valid only once (same as
+  %% #(set-accidental-style 'forget))
+  extraNatural = ##f
+  autoAccidentals = #'(Staff (same-octave . -1))
+  autoCautionaries = #'()  
+  printKeyCancellation = ##f
 }