]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
Update source file headers. Fixes using standard GNU package conventions.
[lilypond.git] / ly / engraver-init.ly
index ed7698ef0914c29ff3778a98574a753a5d517263..01ba26235f4dc6f5a0a4787d555c61cddc803c35 100644 (file)
@@ -1,3 +1,21 @@
+%%%% This file is part of LilyPond, the GNU music typesetter.
+%%%%
+%%%% Copyright (C) 1996--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+%%%%                          Jan Nieuwenhuizen <janneke@gnu.org>
+%%%%
+%%%% LilyPond is free software: you can redistribute it and/or modify
+%%%% it under the terms of the GNU General Public License as published by
+%%%% the Free Software Foundation, either version 3 of the License, or
+%%%% (at your option) any later version.
+%%%%
+%%%% LilyPond is distributed in the hope that it will be useful,
+%%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+%%%% GNU General Public License for more details.
+%%%%
+%%%% You should have received a copy of the GNU General Public License
+%%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
+
 \version "2.12.0"
 
 \context {
@@ -10,8 +28,6 @@
   \grobdescriptions #all-grob-descriptions
 }
 
-% FIXME: replace minimum-Y-extents with proper spacing commands.
-
 \context {
   \type "Engraver_group"
   \name "FretBoards"
@@ -66,7 +82,6 @@
   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
@@ -136,7 +151,6 @@ contained staves are not connected vertically."
 \context{
   \type "Engraver_group"
 
-  \override VerticalAxisGroup #'minimum-Y-extent = ##f
   localKeySignature = #'()
   createSpacing = ##t
 
@@ -252,7 +266,7 @@ multiple voices on the same staff."
   fontSize = #-4
   \override Stem #'length-fraction = #(magstep -4)
   \override Beam #'length-fraction = #(magstep -4)
-  \override Beam #'thickness = #0.35
+  \override Beam #'beam-thickness = #0.35
 }
 
 \context {
@@ -354,6 +368,7 @@ a collection of staves, with a bracket in front and spanning bar lines."
   \name Dynamics
   \alias Voice
   \consists "Output_property_engraver"
+  \consists "Bar_engraver"
   \consists "Piano_pedal_engraver"
   \consists "Script_engraver"
   \consists "New_dynamic_engraver"
@@ -375,7 +390,6 @@ centered between the staves surrounding this context."
 
 \context{
   \type "Engraver_group"
-  \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."
@@ -397,7 +411,8 @@ printing of a single line of lyrics."
   \override VerticalAxisGroup #'remove-empty = ##t
   \override VerticalAxisGroup #'staff-affinity = #UP
   \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5.5) (stretchability . 1) (padding . 0.5))
-  \override VerticalAxisGroup #'inter-loose-line-spacing = #'((space . 2) (stretchability . 0.5) (padding . 0.2))
+  \override VerticalAxisGroup #'inter-loose-line-spacing = #'((space . 0) (stretchability . 0) (padding . 0.2))
+  \override VerticalAxisGroup #'non-affinity-spacing #'padding = #1.0
   \override SeparationItem #'padding = #0.2
   \override InstrumentName #'self-alignment-Y = ##f
 
@@ -416,7 +431,6 @@ printing of a single line of lyrics."
   \description "A context for printing the names of notes."
   \consists "Axis_group_engraver"
 
-  \override VerticalAxisGroup #'minimum-Y-extent = ##f
   % FIXME: not sure what the default should be here.
   \override VerticalAxisGroup #'staff-affinity = #DOWN
 
@@ -440,10 +454,11 @@ printing of a single line of lyrics."
   \consists "Skip_event_swallow_translator"
   \consists "Hara_kiri_engraver"
 %  \consists "Note_spacing_engraver"
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
   \override VerticalAxisGroup #'remove-first = ##t
   \override VerticalAxisGroup #'remove-empty = ##t
   \override VerticalAxisGroup #'staff-affinity = #DOWN
+  \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
+  \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
 }
 
 
@@ -632,7 +647,7 @@ automatically when an output definition (a @code{\score} or
     (Voice Dots font-size -3)
     (Voice Stem length-fraction 0.8)
     (Voice Stem no-stem-extend #t)
-    (Voice Beam thickness 0.384)
+    (Voice Beam beam-thickness 0.384)
     (Voice Beam length-fraction 0.8)
     (Voice Accidental font-size -4)
     (Voice AccidentalCautionary font-size -4)
@@ -682,7 +697,8 @@ automatically when an output definition (a @code{\score} or
   \override VerticalAxisGroup #'remove-empty = ##t
   \override VerticalAxisGroup #'remove-first = ##t
   \override VerticalAxisGroup #'staff-affinity = #UP
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
+  \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
+  \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
 }
 
 \context {
@@ -713,26 +729,40 @@ context."
   %% TabStaff increase the staff-space, which in turn
   %% increases beam thickness and spacing; beams are
   %% too big. We have to adjust the beam settings:
-  \override Beam #'thickness = #0.32
+  \override Beam #'beam-thickness = #0.32
   \override Beam #'length-fraction = #0.62
 
   %% No accidental in tablature !
   \remove "Accidental_engraver"
-  %% remove stems, beams, dots and rests ...
-  \override Stem #'stencil = ##f
+  %% make the Stems as short as possible to minimize their influence 
+  %% on the slur::calc-control-points routine
+  \override Stem #'length = #0
+  \override Stem #'no-stem-extend = ##t
+  \override Stem #'flag-style = #'no-flag
+  \override Stem #'details = #'((lengths 0 0 0 0 0 0)
+                                (beamed-lengths 0 0 0)
+                                (beamed-minimum-free-lengths 0 0 0)
+                                (beamed-extreme-minimum-free-lengths 0 0)
+                                (stem-shorten 0 0))
+  %% after all, the stubs of the stems may still be visible, so ...
+  \override Stem #'transparent = ##t
+  %% automatic beams should be suppressed for similar reasons ...
+  autoBeaming = ##f
+  %% remove beams, dots and rests ...
   \override Beam #'stencil = ##f
   \override Dots #'stencil = ##f
   \override Rest #'stencil = ##f
   \override MultiMeasureRest #'stencil = ##f
+  \override MultiMeasureRestNumber #'transparent = ##t
   %% ... all kinds of ties/slurs
   \override Tie  #'stencil = ##f
   \override RepeatTie #'stencil = ##f
   \override LaissezVibrerTie #'stencil = ##f
-  \override Slur #'stencil = ##f
+  \override Slur #'stencil = #slur::draw-tab-slur
   \override PhrasingSlur #'stencil = ##f
   %% 'tied to' fret numbers become invisible or parenthesized, respectively)
-  \override Tie #'after-line-breaking = #tie::handle-tab-tie
-  \override RepeatTie #'after-line-breaking = #repeat-tie::parenthesize-tab-note-head
+  \override Tie #'after-line-breaking = #tie::handle-tab-note-head
+  \override RepeatTie #'after-line-breaking = #repeat-tie::handle-tab-note-head
   %% ... and all kinds of markups, spanners etc.
   \override TupletBracket #'stencil = ##f
   \override TupletNumber #'stencil = ##f
@@ -760,12 +790,13 @@ context."
   \denies "Voice"
   \consists "Tab_staff_symbol_engraver"
 
-  \description "Context for generating tablature. [DOCME]"
+  \description "Context for generating tablature. It accepts only @code{TabVoice}
+contexts and handles the line spacing, the tablature clef etc. properly."
 
   \accepts "TabVoice"
   \defaultchild "TabVoice"
 
-  %% 6 strings
+  %% 6 strings, bigger spacing
   \override StaffSymbol #'staff-space = #1.5
 
   %% Don't draw stems over the tablature figures !
@@ -774,7 +805,9 @@ context."
   %% No accidental in tablature !
   \remove "Accidental_engraver"
   \remove "Key_engraver"
+
   \remove "String_number_engraver"
+  \remove "Ottava_spanner_engraver"
   %% the clef handler
   \override Clef #'stencil = #clef::print-modern-tab-if-set
   %% no time signature
@@ -783,21 +816,14 @@ context."
   \override ParenthesesItem #'stencils = #parentheses-item::calc-tabstaff-parenthesis-stencils
   %% no arpeggios
   \override Arpeggio #'stencil = ##f
+  %% we ignore collision warnings that may occur due to
+  %% stem overlapping, because we have no stems ;-)
+  \override NoteColumn #'ignore-collision = ##t
   %% Special "TAB" clef
   clefGlyph = #"clefs.tab"
   clefPosition = #0
 }
 
-%% TODO: Gregorian Chant contexts should be moved to gregorian.ly,
-%% but this does not work (is this a bug or intended behaviour?):
-%%
-%% If I try to do so, I get "error: unknown escaped string:
-%% `\VaticanaStaff'" in params-init.ly.  If I also move
-%% "\context { \Vaticana*Context }" from params-init.ly to the end
-%% of gregorian.ly, then I get "error: parse error, unexpected
-%% TRANSLATOR: \context { \VaticanaStaff }" in
-%% gregorian.ly. --jr
-
 \context {
   \Voice
   \name "VaticanaVoice"