X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=b49a101205661f198aa7cf2a88f46b83b9a00b97;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=d6036bc4efcd06aa0bed5a2275632bbfbd9e069c;hpb=b6f94447415dded7c6e146b41b6139fe76cb84c4;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index d6036bc4ef..b49a101205 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2012 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.17.11" +\version "2.19.16" \context { \name "Global" @@ -26,7 +26,6 @@ \defaultchild "Score" \description "Hard coded entry point for LilyPond. Cannot be tuned." \grobdescriptions #all-grob-descriptions - EventClasses = #all-event-classes } \context { @@ -87,10 +86,9 @@ \consists "Cue_clef_engraver" \consists "Fingering_column_engraver" - localKeySignature = #'() + localAlterations = #'() createSpacing = ##t ignoreFiguredBassRest = ##f - \markLengthOff %% explicitly set instrument, so we don't get %% weird effects when doing instrument names for @@ -101,6 +99,7 @@ \defaultchild "Voice" \accepts "Voice" \accepts "CueVoice" + \accepts "NullVoice" \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -163,17 +162,15 @@ contained staves are not connected vertically." \context{ \type "Engraver_group" - localKeySignature = #'() + localAlterations = #'() createSpacing = ##t squashedPosition = #0 \name RhythmicStaff \alias "Staff" - \override BarLine.bar-extent = #'(-2 . 2) \override VoltaBracket.staff-padding = #3 \override StaffSymbol.line-count = #1 - \markLengthOff \override Stem.neutral-direction = #UP \override Beam.neutral-direction = #UP @@ -213,7 +210,8 @@ subscripts, slurs, ties, and rests. You have to instantiate this explicitly if you want to have multiple voices on the same staff." - + %% Grace_engraver sets properties, it must come first. + \consists "Grace_engraver" \consists "Font_size_engraver" \consists "Pitched_trill_engraver" @@ -242,6 +240,7 @@ multiple voices on the same staff." \consists "Beam_engraver" \consists "Grace_beam_engraver" \consists "Auto_beam_engraver" + \consists "Grace_auto_beam_engraver" %% must come before Script_column_engraver. \consists "New_fingering_engraver" @@ -253,9 +252,8 @@ multiple voices on the same staff." \consists "Part_combine_engraver" \consists "Text_engraver" - \consists "New_dynamic_engraver" + \consists "Dynamic_engraver" \consists "Dynamic_align_engraver" -% \consists "Dynamic_engraver" \consists "Fingering_engraver" \consists "Bend_engraver" @@ -269,7 +267,6 @@ multiple voices on the same staff." \consists "Slur_engraver" \consists "Tie_engraver" \consists "Tuplet_engraver" - \consists "Grace_engraver" \consists "Instrument_switch_engraver" } @@ -308,7 +305,7 @@ multiple voices on the same staff." \context{ \type "Engraver_group" \name GrandStaff - localKeySignature = #'() + localAlterations = #'() \description "A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the @@ -316,6 +313,9 @@ contained staves are connected vertically." \consists "Instrument_name_engraver" \consists "Span_bar_engraver" +% The default for DynamicText.extra-spacing-width causes dynamics to +% be placed across span bars, so switch it off: + \override DynamicText.extra-spacing-width = ##f \consists "Span_bar_stub_engraver" \consists "Span_arpeggio_engraver" \consists "System_start_delimiter_engraver" @@ -362,6 +362,9 @@ together, never separately." \consists "Instrument_name_engraver" \consists "Span_bar_engraver" +% The default for DynamicText.extra-spacing-width causes dynamics to +% be placed across span bars, so switch it off: + \override DynamicText.extra-spacing-width = ##f \consists "Span_bar_stub_engraver" \consists "Span_arpeggio_engraver" \consists "Output_property_engraver" @@ -399,7 +402,7 @@ a collection of staves, with a bracket in front and spanning bar lines." \consists "Bar_engraver" \consists "Piano_pedal_engraver" \consists "Script_engraver" - \consists "New_dynamic_engraver" + \consists "Dynamic_engraver" \consists "Dynamic_align_engraver" \consists "Text_engraver" \consists "Text_spanner_engraver" @@ -417,13 +420,6 @@ a collection of staves, with a bracket in front and spanning bar lines." \override DynamicLineSpanner.outside-staff-priority = ##f \override DynamicText.outside-staff-priority = ##f \override Hairpin.outside-staff-priority = ##f - \override DynamicText.X-offset = - #(ly:make-simple-closure - `(,+ - ,(ly:make-simple-closure - (list ly:self-alignment-interface::centered-on-note-columns)) - ,(ly:make-simple-closure - (list ly:self-alignment-interface::x-aligned-on-self)))) \description "Holds a single line of dynamics, which will be centered between the staves surrounding this context." @@ -582,6 +578,7 @@ automatically when an output definition (a @code{\\score} or \accepts "ChoirStaff" \accepts "PianoStaff" \accepts "Devnull" + \accepts "NullVoice" \accepts "NoteNames" \accepts "FiguredBass" @@ -596,6 +593,7 @@ automatically when an output definition (a @code{\\score} or drumStyleTable = #drums-style + associatedVoiceType = #'Voice melismaBusyProperties = #default-melisma-properties tieWaitForNote = ##f clefGlyph = #"clefs.G" @@ -611,16 +609,17 @@ automatically when an output definition (a @code{\\score} or doubleRepeatType = #":..:" startRepeatType = #".|:" endRepeatType = #":|." + alternativeRestores = #'(measurePosition measureLength lastChord) barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers barNumberFormatter = #robust-bar-number-function - clefOctavationFormatter = #clef-octavation-markup - cueClefOctavationFormatter = #clef-octavation-markup + clefTranspositionFormatter = #clef-transposition-markup + cueClefTranspositionFormatter = #clef-transposition-markup automaticBars = ##t explicitClefVisibility = #all-visible explicitCueClefVisibility = #end-of-line-invisible explicitKeySignatureVisibility = #all-visible - implicitTimeSignatureVisibility = #end-of-line-invisible + initialTimeSignatureVisibility = #end-of-line-invisible repeatCountVisibility = #all-repeat-counts-visible @@ -636,6 +635,8 @@ automatically when an output definition (a @code{\\score} or autoBeaming = ##t autoBeamCheck = #default-auto-beam-check + completionFactor = #unity-if-multimeasure + scriptDefinitions = #default-script-alist pedalSustainStrings = #'("Ped." "*Ped." "*") @@ -706,28 +707,9 @@ automatically when an output definition (a @code{\\score} or %% figuredBassFormatter = #format-bass-figure metronomeMarkFormatter = #format-metronome-markup - \markLengthOn - %% See also make-voice-props-set - graceSettings = #`( - (Voice Stem direction ,UP) - (Voice Stem font-size -3) - (Voice Flag 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 beam-thickness 0.384) - (Voice Beam length-fraction 0.8) - (Voice Accidental font-size -4) - (Voice AccidentalCautionary font-size -4) - (Voice Slur direction ,DOWN) - (Voice Script font-size -3) - (Voice Fingering font-size -8) - (Voice StringNumber font-size -8) - ) + graceSettings = #score-grace-settings keepAliveInterfaces = #'( bass-figure-interface @@ -789,6 +771,38 @@ automatically when an output definition (a @code{\\score} or context." } +\context { + \name "NullVoice" + \type "Engraver_group" + \description "For aligning lyrics without printing notes" + + %% don't route anything out of here + \alias "Staff" + \alias "Voice" + + % provide non-printing NoteHeads with proper extents for lyric alignment + \consists "Note_heads_engraver" + \omit NoteHead + \override NoteHead.X-extent = #(lambda (g) + (ly:stencil-extent (ly:note-head::print g) X)) + + % generate no accidentals + nullAccidentals = ##t + + %% keep noteheads inside the staff + \consists "Pitch_squash_engraver" + squashedPosition = 0 + + % the engravers that control the 'busy' flags for note-onsets and melismata + \consists "Grob_pq_engraver" + \consists "Tie_engraver" + \omit Tie + \consists "Beam_engraver" + \omit Beam + \consists "Slur_engraver" + \omit Slur +} + \context { \Voice \name "TabVoice" @@ -803,6 +817,51 @@ context." \description "Context for drawing notes in a Tab staff." + %% No accidental in tablature ! + \remove "Accidental_engraver" +} + +\context { + \Staff + \alias "Staff" + \name "TabStaff" + \denies "Voice" + \consists "Tab_staff_symbol_engraver" + + \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, bigger spacing + \override StaffSymbol.staff-space = #1.5 + + %% Don't draw stems over the tablature figures ! + \override Stem.avoid-note-head = ##t + + %% No accidental in tablature ! + \remove "Accidental_engraver" + \remove "Key_engraver" + + \remove "Ottava_spanner_engraver" + %% the clef handler + \override Clef.stencil = #clef::print-modern-tab-if-set + %% no time signature + \override TimeSignature.stencil = ##f + %% 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 + %% Change string if note results in negative fret number + handleNegativeFrets = #'recalculate + %% Allow open strings even if minimumFret is set + restrainOpenStrings = ##f + %% TabStaff increase the staff-space, which in turn %% increases beam thickness and spacing; beams are %% too big. We have to adjust the beam settings: @@ -817,8 +876,6 @@ context." (/ 1 (ly:staff-symbol-staff-space grob))) \override StemTremolo.beam-width = #stem-tremolo::calc-tab-width - %% No accidental in tablature ! - \remove "Accidental_engraver" %% make the Stems as short as possible to minimize their influence %% on the slur::calc-control-points routine \override Stem.no-stem-extend = ##t @@ -871,48 +928,6 @@ context." \override TabNoteHead.stencil = #tab-note-head::whiteout-if-style-set } -\context { - \Staff - \alias "Staff" - \name "TabStaff" - \denies "Voice" - \consists "Tab_staff_symbol_engraver" - - \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, bigger spacing - \override StaffSymbol.staff-space = #1.5 - - %% Don't draw stems over the tablature figures ! - \override Stem.avoid-note-head = ##t - - %% No accidental in tablature ! - \remove "Accidental_engraver" - \remove "Key_engraver" - - \remove "Ottava_spanner_engraver" - %% the clef handler - \override Clef.stencil = #clef::print-modern-tab-if-set - %% no time signature - \override TimeSignature.stencil = ##f - %% 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 - %% Change string if note results in negative fret number - handleNegativeFrets = #'recalculate - %% Allow open strings even if minimumFret is set - restrainOpenStrings = ##f -} - \context { \Voice \name "VaticanaVoice" @@ -970,7 +985,7 @@ of Editio Vaticana." middleCPosition = #1 middleCClefPosition = #1 clefPosition = #1 - clefOctavation = #0 + clefTransposition = #0 %% Select vaticana style font. \override KeySignature.glyph-name-alist = #alteration-vaticana-glyph-name-alist @@ -1063,7 +1078,7 @@ accommodated for typesetting a piece in mensural style." middleCClefPosition = #-6 middleCPosition = #-6 clefPosition = #-2 - clefOctavation = #0 + clefTransposition = #0 %% Select mensural style font. \override TimeSignature.style = #'mensural @@ -1122,7 +1137,7 @@ accommodated for typesetting a piece in Petrucci style." middleCClefPosition = #-6 middleCPosition = #-6 clefPosition = #-2 - clefOctavation = #0 + clefTransposition = #0 \override Custos.style = #'mensural \override Custos.neutral-position = #3 @@ -1181,7 +1196,7 @@ accommodated for typesetting a piece in Kievan style." middleCClefPosition = #0 middleCPosition = #0 clefPosition = #0 - clefOctavation = #0 + clefTransposition = #0 %% Accidentals are valid only once (if the following note is different) extraNatural = ##f