X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=c145db09ced0299c97b49ed8862a912ddce455cf;hb=c19262da0859a77e352f0780c63970d78902bfed;hp=9d19e92cdb5922243959925b399d9c7c4f88bc8d;hpb=b25edb663270422d689442336c84269acbbb127e;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 9d19e92cdb..c145db09ce 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -1,4 +1,22 @@ -\version "2.12.0" +%%%% This file is part of LilyPond, the GNU music typesetter. +%%%% +%%%% Copyright (C) 1996--2010 Han-Wen Nienhuys +%%%% Jan Nieuwenhuizen +%%%% +%%%% 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 . + +\version "2.13.10" \context { \name "Global" @@ -10,17 +28,13 @@ \grobdescriptions #all-grob-descriptions } -% FIXME: replace minimum-Y-extents with proper spacing commands. - \context { \type "Engraver_group" \name "FretBoards" \description "A context for displaying fret diagrams." \consists "Fretboard_engraver" - \consists "Rest_swallow_translator" \consists "Output_property_engraver" - \consists "Skip_event_swallow_translator" \consists "Hara_kiri_engraver" \consists "Separating_line_group_engraver" \consists "Font_size_engraver" @@ -57,7 +71,6 @@ \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" @@ -66,7 +79,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 @@ -94,7 +106,6 @@ \remove "Ottava_spanner_engraver" \remove "Key_engraver" \remove "Piano_pedal_engraver" - \remove "String_number_engraver" \description "Handles typesetting for percussion." @@ -126,6 +137,7 @@ \accepts "PianoStaff" \accepts "Lyrics" \accepts "ChordNames" + \accepts "FiguredBass" \accepts "ChoirStaff" \accepts "StaffGroup" \defaultchild "Staff" @@ -136,7 +148,6 @@ contained staves are not connected vertically." \context{ \type "Engraver_group" - \override VerticalAxisGroup #'minimum-Y-extent = ##f localKeySignature = #'() createSpacing = ##t @@ -241,7 +252,6 @@ multiple voices on the same staff." \consists "Tuplet_engraver" \consists "Grace_engraver" \consists "Instrument_switch_engraver" - \consists "Skip_event_swallow_translator" } \context{ @@ -252,7 +262,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 { @@ -274,8 +284,6 @@ multiple voices on the same staff." \remove "Fingering_engraver" \remove "Cluster_spanner_engraver" - - \consists "Skip_event_swallow_translator" } \context{ @@ -311,7 +319,7 @@ instrument names at the start of each system." topLevelAlignment = ##f \override StaffGrouper #'between-staff-spacing #'stretchability = #5 - + instrumentName = #'() shortInstrumentName = #'() } @@ -354,12 +362,13 @@ 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" \consists "Dynamic_align_engraver" \consists "Text_engraver" - \consists "Skip_event_swallow_translator" + \consists "Text_spanner_engraver" \consists "Axis_group_engraver" pedalSustainStrings = #'("Ped." "*Ped." "*") @@ -367,6 +376,7 @@ a collection of staves, with a bracket in front and spanning bar lines." \override VerticalAxisGroup #'staff-affinity = #CENTER \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5) (padding . 0.5)) \override TextScript #'font-shape = #'italic + \override DynamicLineSpanner #'Y-offset = #0 \description "Holds a single line of dynamics, which will be centered between the staves surrounding this context." @@ -375,7 +385,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." @@ -389,7 +398,6 @@ printing of a single line of lyrics." \consists "Hyphen_engraver" \consists "Stanza_number_engraver" \consists "Instrument_name_engraver" - \consists "Skip_event_swallow_translator" \consists "Font_size_engraver" \consists "Hara_kiri_engraver" @@ -397,7 +405,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,13 +425,9 @@ 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 - - \consists "Rest_swallow_translator" - \consists "Skip_event_swallow_translator" \consists "Tie_engraver" \consists "Note_name_engraver" \consists "Separating_line_group_engraver" @@ -433,21 +438,20 @@ printing of a single line of lyrics." \name ChordNames \description "Typesets chord names." - \consists "Rest_swallow_translator" \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" - \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 } -RemoveEmptyStaffContext= \context { +RemoveEmptyStaffContext = \context { \Staff \remove "Axis_group_engraver" \consists "Hara_kiri_engraver" @@ -523,6 +527,7 @@ automatically when an output definition (a @code{\score} or noteToFretFunction = #determine-frets + predefinedDiagramTable = ##f soloText = #"Solo" soloIIText = #"Solo II" aDueText = #"a2" @@ -613,10 +618,11 @@ automatically when an output definition (a @code{\score} or stringOneTopmost = ##t highStringOne = ##t -%% One may change the strings tuning as following : -%% The lenght of the list must be equal to the number of string +%% One may change the string tunings as follows : +%% The length of the list must be equal to the number of strings stringTunings = #guitar-tuning tablatureFormat = #fret-number-tablature-format + tabStaffLineLayoutFunction = #tablature-position-on-lines %% figuredBassFormatter = #format-bass-figure @@ -628,10 +634,11 @@ automatically when an output definition (a @code{\score} or (Voice Stem direction ,UP) (Voice Stem font-size -3) (Voice NoteHead font-size -3) + (Voice TabNoteHead font-size -4) (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) @@ -650,7 +657,9 @@ automatically when an output definition (a @code{\score} or ;; need this, as stanza numbers are items, and appear only once. stanza-number-interface ) - quotedEventTypes = #'( + % \quoteDuring is supposed to quote everything, cueDuring only the essentials + quotedEventTypes = #'(StreamEvent) + quotedCueEventTypes = #'( note-event rest-event tie-event @@ -659,6 +668,7 @@ automatically when an output definition (a @code{\score} or instrumentTransposition = #(ly:make-pitch 0 0 0) verticallySpacedContexts = #'(Staff) + topLevelAlignment = ##t timing = ##t } @@ -672,15 +682,14 @@ automatically when an output definition (a @code{\score} or \description "A context for printing a figured bass line." \consists "Figured_bass_engraver" - \consists "Note_swallow_translator" - \consists "Skip_event_swallow_translator" \consists "Separating_line_group_engraver" \consists "Hara_kiri_engraver" \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 { @@ -690,7 +699,6 @@ automatically when an output definition (a @code{\score} or %% don't want to route anything out of here: \alias "Staff" \alias "Voice" - \consists "Swallow_engraver" \description "Silently discards all musical information given to this context." } @@ -711,17 +719,58 @@ 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" - - \override Glissando #'extra-dy = #0.75 + %% 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 = #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-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 + \override DynamicText #'transparent = ##t + \override DynamicTextSpanner #'stencil = ##f + \override TextSpanner #'stencil = ##f + \override Hairpin #'transparent = ##t + \override Script #'stencil = ##f + \override TextScript #'stencil = ##f + %% the direction for glissando lines will be automatically corrected + \override Glissando #'extra-dy = #glissando::calc-tab-extra-dy \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT) (padding . 0.3)) \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT) (padding . 0.3)) + %% dead notes + \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name + \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set } \context { @@ -731,12 +780,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 ! @@ -745,22 +795,24 @@ 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 + \override TimeSignature #'stencil = ##f + %% better parentheses in a TabStaff + \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" @@ -946,10 +998,24 @@ accommodated for typesetting a piece in mensural style." printKeyCancellation = ##f } +RemoveEmptyDrumStaffContext = \context { + \DrumStaff + \remove "Axis_group_engraver" + \override VerticalAxisGroup #'remove-empty = ##t + \consists "Hara_kiri_engraver" +} -RemoveEmptyRhythmicStaffContext= \context { +RemoveEmptyRhythmicStaffContext = \context { \RhythmicStaff \remove "Axis_group_engraver" \override VerticalAxisGroup #'remove-empty = ##t \consists "Hara_kiri_engraver" } + +RemoveEmptyTabStaffContext = \context { + \TabStaff + \remove "Axis_group_engraver" + \override VerticalAxisGroup #'remove-empty = ##t + \consists "Hara_kiri_engraver" +} +