]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
The grand \paper -> \layout, \bookpaper -> \paper renaming.
[lilypond.git] / ly / engraver-init.ly
index 41e483d9abf178fd4161d274d9496a4c01a09811..7ba26f49444060b2c5c0631eed79258b8a147c96 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.3.2"
+\version "2.3.16"
 
 \context {
     \name Global
@@ -8,10 +8,6 @@
     \grobdescriptions #all-grob-descriptions    
 }
 
-%
-% setup for Request->Element conversion. Guru-only
-%
-
 \context {
        \type "Engraver_group_engraver"
        \name Staff
@@ -34,6 +30,7 @@
        \consists "Clef_engraver"
        \consists "Key_engraver"
        \consists "Time_signature_engraver"
+       \consists "Ledger_line_engraver" 
        \consists "Staff_symbol_engraver"
        \consists "Collision_engraver"
        \consists "Rest_collision_engraver"
        \consists "Piano_pedal_engraver"
        \consists "Instrument_name_engraver"
        \consists "String_number_engraver"
-       \consistsend "Axis_group_engraver"
+       \consists "Axis_group_engraver"
 
-       minimumVerticalExtent = #'(-6 . 6)
+       minimumVerticalExtent = #'(-4 . 4)
        extraVerticalExtent = ##f
        verticalExtent = ##f 
        localKeySignature = #'()
        createSpacing = ##t
+       
        % explicitly set instrument, so we don't get 
        % weird effects when doing instrument names for
        % piano staves
     \consists "Bar_engraver"
     \consists "Time_signature_engraver"
     \consists "Staff_symbol_engraver"
+    \consists "Ledger_line_engraver" 
     \consists "Instrument_name_engraver"
-    \consistsend "Axis_group_engraver"
+    \consists "Axis_group_engraver"
     \accepts "Voice"
     \description  "
     A context like @code{Staff} but for printing rhythms.  Pitches are
     \consists "Arpeggio_engraver"
     \consists "Multi_measure_rest_engraver"
     \consists "Text_spanner_engraver"
+    \consists "Trill_spanner_engraver"
     \consists "Grob_pq_engraver"
     \consists "Forbid_line_break_engraver"
 
     \consists "Melisma_translator"
     \consists "Part_combine_engraver"
 
-%{
-    Must come before text_engraver, but after note_column engraver.
-
-%}
     \consists "Text_engraver"
     \consists "Dynamic_engraver"
     \consists "Fingering_engraver"
@@ -314,7 +310,6 @@ connected vertically.  "
 
 \context{
     \type "Engraver_group_engraver"
-    \consistsend "Hara_kiri_engraver"
     minimumVerticalExtent = #'(-1.2 . 2.4)
     extraVerticalExtent = ##f
     verticalExtent = ##f
@@ -331,13 +326,14 @@ printing of a single line of lyrics.  "
     \consists "Vocal_name_engraver"
     \consists "Skip_event_swallow_translator"
     \consists "Font_size_engraver"
+    \consists "Hara_kiri_engraver"
     \override SeparationItem #'padding = #0.2
 }
 
 \context {
     \type "Engraver_group_engraver"
     \name NoteNames
-    \consistsend "Axis_group_engraver"
+    \consists "Axis_group_engraver"
 
     minimumVerticalExtent = ##f
     extraVerticalExtent = ##f
@@ -355,14 +351,17 @@ printing of a single line of lyrics.  "
     \type "Engraver_group_engraver"
     \name ChordNames
     \description "Typesets chord names."
+
+    \consists "Volta_engraver"
     
     \consists "Rest_swallow_translator" 
     \consists "Output_property_engraver"       
     \consists "Separating_line_group_engraver"
     \consists "Chord_name_engraver"
     \consists "Skip_event_swallow_translator"
-    \consistsend "Hara_kiri_engraver"
+    \consists "Hara_kiri_engraver"
     
+    voltaOnThisStaff = ##f
     minimumVerticalExtent = #'(0 . 2.5)
     extraVerticalExtent = ##f
     \override SeparatingGroupSpanner #'padding = #0.8
@@ -373,7 +372,7 @@ printing of a single line of lyrics.  "
 RemoveEmptyStaffContext= \context {
     \Staff
     \remove "Axis_group_engraver"
-    \consistsend "Hara_kiri_engraver"
+    \consists "Hara_kiri_engraver"
     \override Beam #'auto-knee-gap = #'()
 }
 
@@ -383,6 +382,7 @@ AncientRemoveEmptyStaffContext = \context {
     \RemoveEmptyStaffContext
     \accepts "VaticanaVoice"
     \accepts "GregorianTranscriptionVoice"
+    \accepts "MensuralVoice"
 }
 
 \context {
@@ -398,7 +398,7 @@ AncientRemoveEmptyStaffContext = \context {
     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{\paper} block) is processed."
+    @code{\layout} block) is processed."
     
     \consists "Repeat_acknowledge_engraver"
     \consists "Staff_collecting_engraver"
@@ -422,6 +422,7 @@ AncientRemoveEmptyStaffContext = \context {
     \accepts "TabStaff"
     \accepts "VaticanaStaff"
     \accepts "GregorianTranscriptionStaff"
+    \accepts "MensuralStaff"
     \accepts "StaffGroup"
     \accepts "RhythmicStaff"
     \accepts "DrumStaff"
@@ -437,7 +438,7 @@ AncientRemoveEmptyStaffContext = \context {
     soloText = #"Solo"
     soloIIText = #"Solo II"
     aDueText = #"a2"
-    soloADue = ##t
+    printPartCombineTexts = ##t
     systemStartDelimiter =#'SystemStartBar
 
     drumStyleTable = #drums-style
@@ -516,6 +517,10 @@ AncientRemoveEmptyStaffContext = \context {
     chordNameExceptionsFull = #fullJazzExceptions
     chordNameExceptionsPartial = #partialJazzExceptions
     
+
+    bassStaffProperties = #'((assign clefGlyph "clefs-F")
+      (assign clefPosition 2)
+      (assign middleCPosition 6))
     %% tablature:
     stringOneTopmost = ##t
     highStringOne = ##t
@@ -534,7 +539,7 @@ AncientRemoveEmptyStaffContext = \context {
        ;; c&p from define-grobs.scm
        
        (Voice Stem lengths ,(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0)))
-       (Voice Stem stem-shorten (0.4 0))
+       (Voice Stem stem-shorten (0.4 0.4))
        (Voice Stem  font-size -3)
        (Voice NoteHead  font-size -3)
        (Voice Dots  font-size -3)
@@ -550,13 +555,12 @@ AncientRemoveEmptyStaffContext = \context {
        (Voice Beam space-function ,(lambda (beam mult)
                                     (* 0.8 (Beam::space_function
                                             beam mult))))
-       (Voice Beam position-callbacks (,Beam::least_squares
-                                       ,Beam::check_concave
-                                       ,Beam::slope_damping))
        (Voice Accidental font-size -4)
        (Voice Slur direction -1)
     )
-    
+
+    quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event)
+    instrumentTransposition = #(ly:make-pitch 0 0 0)
 }
 
 EasyNotation = \context {      % TODO: why \context override? 
@@ -577,7 +581,7 @@ EasyNotation = \context {   % TODO: why \context override?
        \consists "Skip_event_swallow_translator"
        \consists "Separating_line_group_engraver"
        
-       \consistsend "Hara_kiri_engraver"
+       \consists "Hara_kiri_engraver"
 }
 
 \context {
@@ -662,19 +666,28 @@ EasyNotation = \context { % TODO: why \context override?
   \consists "Vaticana_ligature_engraver"
 
   % Set default head for notes outside of \[ \].
-  \override NoteHead #'style = #'vaticana_punctum
+  \override NoteHead #'style = #'vaticana-punctum
 
   % Put some space before and after divisiones.
   % FIXME: This does not seem to show any effect.
   \override Script #'padding = #0.5
 
   % There are no beams in Gregorian Chant notation.
-  autobeaming = ##f
+  autoBeaming = ##f
 
   % 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.5
+  \override TextSpanner #'padding = #-0.1
   \override TextSpanner #'enclose-bounds = #1
   \override TextSpanner #'edge-text = #'("" . "")
 }
@@ -702,7 +715,7 @@ EasyNotation = \context {   % TODO: why \context override?
   % \override StaffSymbol #'width = #60.0
 
   % Choose vaticana do clef on 3rd line as default.
-  clefGlyph = #"clefs-vaticana_do"
+  clefGlyph = #"clefs-vaticana-do"
   middleCPosition = #1
   clefPosition = #1
   clefOctavation = #0
@@ -734,12 +747,21 @@ EasyNotation = \context { % TODO: why \context override?
   \override Script #'padding = #0.5
 
   % There are no beams in Gregorian Chant notation.
-  autobeaming = ##f
+  autoBeaming = ##f
 
   % 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.5
+  \override TextSpanner #'padding = #-0.1
   \override TextSpanner #'enclose-bounds = #1
   \override TextSpanner #'edge-text = #'("" . "")
 }
@@ -755,3 +777,58 @@ EasyNotation = \context {  % TODO: why \context override?
   % Instead, we make the grob transparent.
   \override BarLine #'transparent = ##t
 }
+
+\context {
+  \Voice
+  \name "MensuralVoice"
+  \alias "Voice"
+  \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
+
+  \remove "Slur_engraver"
+  \remove "Ligature_bracket_engraver"
+  \consists "Mensural_ligature_engraver"
+
+  % Set default head for notes outside of \[ \].
+  \override NoteHead #'style = #'mensural
+
+  % There are no beams in mensural notation.
+  autoBeaming = ##f
+}
+
+\context {
+  \Staff
+  \name "MensuralStaff"
+  \alias "Staff"
+  \denies "Voice"
+  \accepts "MensuralVoice"
+  \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
+
+  \consists "Custos_engraver"
+
+  % We can not remove Bar_engraver; otherwise clefs and custodes will
+  % not show up any more among other line breaking issues.
+  % Instead, we make the grob transparent.
+  \override BarLine #'transparent = ##t
+
+  \override StaffSymbol #'thickness = #0.6
+
+  % FIXME: unit on StaffSymbol's width should be \linewidth.
+  % \override StaffSymbol #'width = #60.0
+
+  % Choose petrucci g clef on 2nd line as default.
+  clefGlyph = #"clefs-petrucci-g"
+  middleCPosition = #-6
+  clefPosition = #-2
+  clefOctavation = #0
+
+  % Select mensural style font.
+  \override TimeSignature #'style = #'mensural
+  \override KeySignature #'style = #'mensural
+  \override Accidental #'style = #'mensural
+  \override Custos #'style = #'mensural
+  \override Custos #'neutral-position = #3
+  \override Custos #'neutral-direction = #-1
+
+  % Score.timing = ##f
+  % Score.barAlways = ##t
+}