X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=6fd8d4d811395af0acf773c97a0d58e0b054cf65;hb=a9d4cb3f1382bd36edfa4f47c0d9b18deea36eda;hp=7de70d37329398ff5715045b1ce7fa4ef3f03c55;hpb=2613eed0a13ce118cb11f83057d9d79fc6973a4e;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 7de70d3732..6fd8d4d811 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--2011 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2012 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.13.42" +\version "2.15.20" \context { \name "Global" @@ -45,6 +45,7 @@ shortInstrumentName = #'() predefinedDiagramTable = #default-fret-table + handleNegativeFrets = #'recalculate } \context { @@ -53,12 +54,12 @@ \consists "Output_property_engraver" \consists "Bar_engraver" + \consists "Pure_from_neighbor_engraver" %% Bar_engraver must be first so default bars aren't overwritten %% with empty ones. \consists "Font_size_engraver" \consists "Separating_line_group_engraver" - \consists "Dot_column_engraver" \consists "Staff_collecting_engraver" %% perhaps move to Voice context? @@ -163,7 +164,7 @@ contained staves are not connected vertically." \name RhythmicStaff \alias "Staff" - \override BarLine #'bar-size = #4 + \override BarLine #'bar-extent = #'(-2 . 2) \override VoltaBracket #'staff-padding = #3 \override StaffSymbol #'line-count = #1 @@ -206,7 +207,6 @@ subscripts, slurs, ties, and rests. You have to instantiate this explicitly if you want to have multiple voices on the same staff." - localKeySignature = #'() \consists "Font_size_engraver" \consists "Pitched_trill_engraver" @@ -225,8 +225,10 @@ multiple voices on the same staff." \consists "Breathing_sign_engraver" \consists "Note_heads_engraver" \consists "Dots_engraver" + \consists "Dot_column_engraver" \consists "Rest_engraver" \consists "Tweak_engraver" + \consists "Footnote_engraver" %% switch on to make stem directions interpolate for the %% center line. @@ -241,6 +243,7 @@ multiple voices on the same staff." \consists "New_fingering_engraver" \consists "Chord_tremolo_engraver" + \consists "Double_percent_repeat_engraver" \consists "Percent_repeat_engraver" \consists "Slash_repeat_engraver" \consists "Part_combine_engraver" @@ -309,8 +312,10 @@ contained staves are connected vertically." \consists "Instrument_name_engraver" \consists "Span_bar_engraver" + \consists "Span_bar_stub_engraver" \consists "Span_arpeggio_engraver" \consists "System_start_delimiter_engraver" + \consists "Vertical_align_engraver" systemStartDelimiter = #'SystemStartBrace topLevelAlignment = ##f %% explicitly set instrument, so it is not inherited from the parent @@ -319,6 +324,10 @@ contained staves are connected vertically." \defaultchild "Staff" \accepts "Staff" + \accepts "RhythmicStaff" + \accepts "DrumStaff" + \accepts "TabStaff" + \accepts "Lyrics" \accepts "FiguredBass" \accepts "Dynamics" \accepts "ChordNames" @@ -349,6 +358,7 @@ together, never separately." \consists "Instrument_name_engraver" \consists "Span_bar_engraver" + \consists "Span_bar_stub_engraver" \consists "Span_arpeggio_engraver" \consists "Output_property_engraver" systemStartDelimiter = #'SystemStartBracket @@ -390,6 +400,7 @@ a collection of staves, with a bracket in front and spanning bar lines." \consists "Text_engraver" \consists "Text_spanner_engraver" \consists "Axis_group_engraver" + \consists "Tweak_engraver" pedalSustainStrings = #'("Ped." "*Ped." "*") pedalUnaCordaStrings = #'("una corda" "" "tre corde") @@ -399,6 +410,13 @@ a collection of staves, with a bracket in front and spanning bar lines." (padding . 0.5)) \override TextScript #'font-shape = #'italic \override DynamicLineSpanner #'Y-offset = #0 + \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." @@ -412,9 +430,6 @@ centered between the staves surrounding this context." printing of a single line of lyrics." \name "Lyrics" - instrumentName = #'() - shortInstrumentName = #'() - \consists "Lyric_engraver" \consists "Extender_engraver" \consists "Hyphen_engraver" @@ -422,6 +437,8 @@ printing of a single line of lyrics." \consists "Instrument_name_engraver" \consists "Font_size_engraver" \consists "Hara_kiri_engraver" + \consists "Pure_from_neighbor_engraver" + searchForVoice = ##f %% explicitly set instrument, so it is not inherited from the parent instrumentName = #'() shortInstrumentName = #'() @@ -446,7 +463,7 @@ printing of a single line of lyrics." %% make sure that barlines aren't collapsed, when %% Bar_engraver is there. - \override BarLine #'bar-size = #0.1 + \override BarLine #'bar-extent = #'(-0.05 . 0.05) } @@ -456,8 +473,18 @@ printing of a single line of lyrics." \description "A context for printing the names of notes." \consists "Axis_group_engraver" - % FIXME: not sure what the default should be here. - \override VerticalAxisGroup #'staff-affinity = #DOWN + \override VerticalAxisGroup #'staff-affinity = #UP + \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = + #'((basic-distance . 0) + (minimum-distance . 2.8) + (padding . 0.2) + (stretchability . 0)) + \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = + #'((basic-distance . 5.5) + (padding . 0.5) + (stretchability . 1)) + \override VerticalAxisGroup + #'nonstaff-unrelatedstaff-spacing #'padding = 1.5 \consists "Tie_engraver" \consists "Note_name_engraver" @@ -481,20 +508,6 @@ printing of a single line of lyrics." \override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #0.5 } - -RemoveEmptyStaves = \with { - \remove "Axis_group_engraver" - % If RemoveEmptyStaves is called twice, two - % Hara_kiri_engravers would be added, which leads to a - % warning. - % This code makes sure that no previous Hara_kiri_engraver - % is left before adding a new one. - \remove "Hara_kiri_engraver" - \consists "Hara_kiri_engraver" - \override VerticalAxisGroup #'remove-empty = ##t -} - - \context { \type "Score_engraver" \name "Score" @@ -516,6 +529,7 @@ automatically when an output definition (a @code{\score} or %% move the alias along with the engraver. + % timing translator must come BEFORE bar number engraver \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Output_property_engraver" @@ -530,6 +544,8 @@ automatically when an output definition (a @code{\score} or \consists "Stanza_number_align_engraver" \consists "Bar_number_engraver" \consists "Parenthesis_engraver" + \consists "Concurrent_hairpin_engraver" + \consists "Beam_collision_engraver" \defaultchild "Staff" @@ -540,8 +556,10 @@ automatically when an output definition (a @code{\score} or \accepts "VaticanaStaff" \accepts "GregorianTranscriptionStaff" \accepts "MensuralStaff" + \accepts "PetrucciStaff" \accepts "StaffGroup" \accepts "DrumStaff" + \accepts "KievanStaff" \accepts "Lyrics" \accepts "ChordNames" \accepts "GrandStaff" @@ -551,7 +569,6 @@ automatically when an output definition (a @code{\score} or \accepts "NoteNames" \accepts "FiguredBass" - noteToFretFunction = #determine-frets predefinedDiagramTable = ##f soloText = #"Solo" @@ -576,7 +593,8 @@ automatically when an output definition (a @code{\score} or defaultBarType = #"|" doubleRepeatType = #":|:" - barNumberVisibility = #first-bar-number-invisible + barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers + barNumberFormatter = #robust-bar-number-function automaticBars = ##t explicitClefVisibility = #all-visible @@ -596,6 +614,9 @@ automatically when an output definition (a @code{\score} or beatStructure = #'(1 1 1 1) beamExceptions = #'((end . (((1 . 8) . (4 4)) ((1 . 12) . (3 3 3 3))))) + beamWholeMeasure = ##t + beamHalfMeasure = ##f + autoBeaming = ##t autoBeamCheck = #default-auto-beam-check @@ -638,9 +659,12 @@ automatically when an output definition (a @code{\score} or %% chord names: chordNameFunction = #ignatzek-chord-names + minorChordModifier = #(make-simple-markup "m") + additionalPitchPrefix = #"" % was "add" majorSevenSymbol = #whiteTriangleMarkup chordNameLowercaseMinor = ##f - chordNameSeparator = #(make-simple-markup "/") + chordNameSeparator = #(make-hspace-markup 0.5) + slashChordSeparator = #(make-simple-markup "/") chordNameExceptions = #ignatzekExceptions chordNoteNamer = #'() chordRootNamer = #note-name->markup @@ -672,6 +696,7 @@ automatically when an output definition (a @code{\score} or 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) @@ -757,6 +782,7 @@ context." \remove "Note_heads_engraver" \remove "Fingering_engraver" \remove "New_fingering_engraver" + \remove "Pitched_trill_engraver" \description "Context for drawing notes in a Tab staff." @@ -778,9 +804,8 @@ context." \remove "Accidental_engraver" %% 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 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) @@ -788,6 +813,7 @@ context." (stem-shorten 0 0)) %% after all, the stubs of the stems may still be visible, so ... \override Stem #'transparent = ##t + \override Flag #'transparent = ##t %% automatic beams should be suppressed for similar reasons ... autoBeaming = ##f %% remove beams, dots and rests ... @@ -864,6 +890,8 @@ contexts and handles the line spacing, the tablature clef etc. properly." %% Special "TAB" clef clefGlyph = #"clefs.tab" clefPosition = #0 + %% Change string if note results in negative fret number + handleNegativeFrets = #'recalculate } \context { @@ -983,6 +1011,7 @@ accommodated for typesetting a piece in mensural style." %% Set default head for notes outside of \[ \]. \override NoteHead #'style = #'mensural \override Rest #'style = #'mensural + \override Flag #'style = #'mensural %% There are no beams in mensural notation. autoBeaming = ##f @@ -1026,13 +1055,115 @@ accommodated for typesetting a piece in mensural style." \override Custos #'neutral-direction = #DOWN %% Accidentals are valid only once (same as - %% #(set-accidental-style 'forget)) + %% \accidentalStyle "forget") extraNatural = ##f autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1)) autoCautionaries = #'() printKeyCancellation = ##f } +\context { + \Voice + \name "PetrucciVoice" + \alias "Voice" + \description "Same as @code{Voice} context, except that it is +accommodated for typesetting a piece in Petrucci style." + + \remove "Ligature_bracket_engraver" + \consists "Mensural_ligature_engraver" + + %% Set glyph styles. + \override NoteHead #'style = #'petrucci + \override Rest #'style = #'mensural + + % Thickens and shortens stems. + \override Stem #'thickness = #1.7 + \override Stem #'length = #5 + + %% There are no beams in Petrucci notation. + autoBeaming = ##f +} + +\context { + \Staff + \name "PetrucciStaff" + \alias "Staff" + \denies "Voice" + \defaultchild "PetrucciVoice" + \accepts "PetrucciVoice" + \description "Same as @code{Staff} context, except that it is +accommodated for typesetting a piece in Petrucci style." + + \consists "Custos_engraver" + + \override StaffSymbol #'thickness = #1.3 + + %% Choose Petrucci g clef on 2nd line as default. + clefGlyph = #"clefs.petrucci.g" + middleCClefPosition = #-6 + middleCPosition = #-6 + clefPosition = #-2 + clefOctavation = #0 + + \override Custos #'style = #'mensural + \override Custos #'neutral-position = #3 + \override Custos #'neutral-direction = #DOWN + + %% Accidentals are valid only once (if the following note is different) + extraNatural = ##f + autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0) + ,neo-modern-accidental-rule) + autoCautionaries = #'() + printKeyCancellation = ##f +} + +\context { + \Voice + \name "KievanVoice" + \alias "Voice" + \description "Same as @code{Voice} context, except that it is +accommodated for typesetting a piece in Kievan style." + + %% Set glyph styles. + \override NoteHead #'style = #'kievan + \override Rest #'style = #'mensural + \override Accidental #'glyph-name-alist = #alteration-kievan-glyph-name-alist + \override Dots #'style = #'kievan + \override Slur #'stencil = ##f + + %% There are beams in Kievan notation, but they are invoked manually + autoBeaming = ##f + \override Beam #'beam-thickness = #0.32 + \override Beam #'length-fraction = #0.62 +} + +\context { + \Staff + \name "KievanStaff" + \alias "Staff" + \denies "Voice" + \defaultchild "KievanVoice" + \accepts "KievanVoice" + \description "Same as @code{Staff} context, except that it is +accommodated for typesetting a piece in Kievan style." + + \remove "Time_signature_engraver" + + %% Choose Kievan tsefaut clef + clefGlyph = #"clefs.kievan.do" + middleCClefPosition = #0 + middleCPosition = #0 + clefPosition = #0 + clefOctavation = #0 + + %% Accidentals are valid only once (if the following note is different) + extraNatural = ##f + autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0) + ,neo-modern-accidental-rule) + autoCautionaries = #'() + printKeyCancellation = ##f + +} %% Keep the old definitions in here for compatibility (they erase previous %% settings to the corresponding context!). @@ -1064,4 +1195,3 @@ RemoveEmptyTabStaffContext = \context { \TabStaff \RemoveEmptyStaves } -