X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=4d2329032da616cd4dea626c141d26140f2a4601;hb=e868e084ea66296b75206dfc12f56856f14641d2;hp=d719d4a43ff9e2d0a3d8355c812540adc116a7ec;hpb=0dcc93c0a5a97d048db2f7631966f41ae0059ab5;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index d719d4a43f..4d2329032d 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.14.0" +\version "2.16.0" \context { \name "Global" @@ -26,11 +26,13 @@ \defaultchild "Score" \description "Hard coded entry point for LilyPond. Cannot be tuned." \grobdescriptions #all-grob-descriptions + EventClasses = #all-event-classes } \context { \type "Engraver_group" \name "FretBoards" + \alias "Staff" \description "A context for displaying fret diagrams." \consists "Fretboard_engraver" @@ -46,6 +48,7 @@ predefinedDiagramTable = #default-fret-table handleNegativeFrets = #'recalculate + restrainOpenStrings = ##f } \context { @@ -54,6 +57,7 @@ \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. @@ -70,7 +74,6 @@ \consists "Ledger_line_engraver" \consists "Staff_symbol_engraver" \consists "Collision_engraver" - \consists "Beam_collision_engraver" \consists "Grob_pq_engraver" \consists "Rest_collision_engraver" \consists "Accidental_engraver" @@ -82,6 +85,7 @@ \consists "Figured_bass_position_engraver" \consists "Script_row_engraver" \consists "Cue_clef_engraver" + \consists "Footnote_engraver" localKeySignature = #'() createSpacing = ##t @@ -228,7 +232,6 @@ multiple voices on the same staff." \consists "Dots_engraver" \consists "Rest_engraver" \consists "Tweak_engraver" - \consists "Footnote_engraver" %% switch on to make stem directions interpolate for the %% center line. @@ -312,6 +315,7 @@ 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" @@ -357,6 +361,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 @@ -408,6 +413,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." @@ -424,10 +436,12 @@ printing of a single line of lyrics." \consists "Lyric_engraver" \consists "Extender_engraver" \consists "Hyphen_engraver" + \consists "Tweak_engraver" \consists "Stanza_number_engraver" \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 = #'() @@ -517,8 +531,16 @@ automatically when an output definition (a @code{\score} or \consists "Repeat_acknowledge_engraver" \consists "Staff_collecting_engraver" - %% move the alias along with the engraver. + \alias "Timing" + %% An alias for Timing is established by the Timing_translator in + %% whatever context it is initialized, and the timing variables are + %% then copied from wherever Timing had been previously established. + %% The alias at Score level provides a target for initializing + %% Timing variables in layout definitions before any + %% Timing_translator has been run. + + % timing translator must come BEFORE bar number engraver \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Output_property_engraver" @@ -533,6 +555,9 @@ 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" + \consists "Footnote_engraver" \defaultchild "Staff" @@ -546,6 +571,7 @@ automatically when an output definition (a @code{\score} or \accepts "PetrucciStaff" \accepts "StaffGroup" \accepts "DrumStaff" + \accepts "KievanStaff" \accepts "Lyrics" \accepts "ChordNames" \accepts "GrandStaff" @@ -555,7 +581,6 @@ automatically when an output definition (a @code{\score} or \accepts "NoteNames" \accepts "FiguredBass" - noteToFretFunction = #determine-frets predefinedDiagramTable = ##f soloText = #"Solo" @@ -580,7 +605,10 @@ automatically when an output definition (a @code{\score} or defaultBarType = #"|" doubleRepeatType = #":|:" - barNumberVisibility = #first-bar-number-invisible + startRepeatType = #"|:" + endRepeatType = #":|" + barNumberVisibility = #first-bar-number-invisible-and-no-parenthesized-bar-numbers + barNumberFormatter = #robust-bar-number-function automaticBars = ##t explicitClefVisibility = #all-visible @@ -591,7 +619,7 @@ automatically when an output definition (a @code{\score} or repeatCountVisibility = #all-repeat-counts-visible timeSignatureSettings = #default-time-signature-settings - timeSignatureFraction = #'(4 . 4) + timeSignatureFraction = 4/4 %% These defaults should be the same as the rules established in %% scm/time-signature-settings.scm for 4/4 time @@ -600,6 +628,8 @@ 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))))) + beamHalfMeasure = ##t + autoBeaming = ##t autoBeamCheck = #default-auto-beam-check @@ -642,9 +672,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 @@ -762,6 +795,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." @@ -791,7 +825,8 @@ context." (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 + \override Stem #'stencil = ##f + \override Flag #'stencil = ##f %% automatic beams should be suppressed for similar reasons ... autoBeaming = ##f %% remove beams, dots and rests ... @@ -800,8 +835,8 @@ context." \override Dots #'stencil = ##f \override Rest #'stencil = ##f \override MultiMeasureRest #'stencil = ##f - \override MultiMeasureRestNumber #'transparent = ##t - \override MultiMeasureRestText #'transparent = ##t + \override MultiMeasureRestNumber #'stencil = ##f + \override MultiMeasureRestText #'stencil = ##f %% ... all kinds of ties/slurs \override Tie #'stencil = ##f \override RepeatTie #'stencil = ##f @@ -814,10 +849,10 @@ context." %% ... and all kinds of markups, spanners etc. \override TupletBracket #'stencil = ##f \override TupletNumber #'stencil = ##f - \override DynamicText #'transparent = ##t + \override DynamicText #'stencil = ##f \override DynamicTextSpanner #'stencil = ##f \override TextSpanner #'stencil = ##f - \override Hairpin #'transparent = ##t + \override Hairpin #'stencil = ##f \override Script #'stencil = ##f \override TextScript #'stencil = ##f \override Glissando #'stencil = #glissando::draw-tab-glissando @@ -870,6 +905,8 @@ contexts and handles the line spacing, the tablature clef etc. properly." clefPosition = #0 %% Change string if note results in negative fret number handleNegativeFrets = #'recalculate + %% Allow open strings even if minimumFret is set + restrainOpenStrings = ##f } \context { @@ -1033,7 +1070,7 @@ 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 = #'() @@ -1095,6 +1132,52 @@ accommodated for typesetting a piece in Petrucci style." 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 +} + +\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!). %% For new scores, one should simply insert the \RemoveEmptyStaves settings