]> 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 df6fb25e883ec8004b31996567fa0b8acf63d23a..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 {
@@ -350,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"
@@ -393,6 +412,7 @@ printing of a single line of lyrics."
   \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 . 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
 
@@ -714,21 +734,35 @@ context."
 
   %% 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
@@ -756,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 !
@@ -770,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
@@ -779,6 +816,9 @@ 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