X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=b49a101205661f198aa7cf2a88f46b83b9a00b97;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=99647c75d03182f2ab159a44d4a86c9264d50149;hpb=21de640f0cb858515c587774f8f78598d9035591;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 99647c75d0..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" @@ -86,7 +86,7 @@ \consists "Cue_clef_engraver" \consists "Fingering_column_engraver" - localKeySignature = #'() + localAlterations = #'() createSpacing = ##t ignoreFiguredBassRest = ##f @@ -99,6 +99,7 @@ \defaultchild "Voice" \accepts "Voice" \accepts "CueVoice" + \accepts "NullVoice" \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -161,14 +162,13 @@ 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 @@ -210,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" @@ -239,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" @@ -250,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" @@ -266,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" } @@ -305,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 @@ -313,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" @@ -359,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" @@ -396,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" @@ -414,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." @@ -579,6 +578,7 @@ automatically when an output definition (a @code{\\score} or \accepts "ChoirStaff" \accepts "PianoStaff" \accepts "Devnull" + \accepts "NullVoice" \accepts "NoteNames" \accepts "FiguredBass" @@ -593,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" @@ -608,6 +609,7 @@ 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 clefTranspositionFormatter = #clef-transposition-markup @@ -617,7 +619,7 @@ automatically when an output definition (a @code{\\score} or 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 @@ -633,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." "*") @@ -704,26 +708,8 @@ automatically when an output definition (a @code{\\score} or figuredBassFormatter = #format-bass-figure metronomeMarkFormatter = #format-metronome-markup - %% 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 @@ -785,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"