X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=a2ba6551f678d11061d13afae9d6bcc90a6946a1;hb=3e0974be7b4d4ae1cedebeee8376093fe8816740;hp=8522001347483a13b834f34ea04dcc2d21922dac;hpb=1c122290caffd067b81c60a18c97e61d1c6b209e;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 8522001347..a2ba6551f6 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--2010 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2011 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.27" +\version "2.14.0" \context { \name "Global" @@ -40,7 +40,12 @@ \consists "Font_size_engraver" \consists "Instrument_name_engraver" - predefinedDiagramTable = #fretboard-table + %% explicitly set instrument, so it is not inherited from the parent + instrumentName = #'() + shortInstrumentName = #'() + + predefinedDiagramTable = #default-fret-table + handleNegativeFrets = #'recalculate } \context { @@ -65,6 +70,7 @@ \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" @@ -75,6 +81,7 @@ \consists "Figured_bass_engraver" \consists "Figured_bass_position_engraver" \consists "Script_row_engraver" + \consists "Cue_clef_engraver" localKeySignature = #'() createSpacing = ##t @@ -83,7 +90,6 @@ %% explicitly set instrument, so we don't get %% weird effects when doing instrument names for %% piano staves - instrumentName = #'() shortInstrumentName = #'() @@ -125,8 +131,12 @@ \consists "Vertical_align_engraver" topLevelAlignment = ##f + \consists "Instrument_name_engraver" \consists "System_start_delimiter_engraver" systemStartDelimiter = #'SystemStartBracket + %% explicitly set instrument, so it is not inherited from the parent + instrumentName = #'() + shortInstrumentName = #'() vocalName = #'() shortVocalName = #'() @@ -155,7 +165,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 @@ -174,6 +184,10 @@ contained staves are not connected vertically." \consists "Axis_group_engraver" \consists "Ledger_line_engraver" + %% explicitly set instrument, so it is not inherited from the parent + instrumentName = #'() + shortInstrumentName = #'() + \accepts "Voice" \accepts "CueVoice" \defaultchild "Voice" @@ -194,7 +208,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" @@ -215,6 +228,7 @@ 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. @@ -229,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" @@ -295,15 +310,26 @@ multiple voices on the same staff." side, grouping the staves together. The bar lines of the contained staves are connected vertically." + \consists "Instrument_name_engraver" \consists "Span_bar_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 + instrumentName = #'() + shortInstrumentName = #'() \defaultchild "Staff" \accepts "Staff" + \accepts "RhythmicStaff" + \accepts "DrumStaff" + \accepts "TabStaff" + \accepts "Lyrics" \accepts "FiguredBass" \accepts "Dynamics" + \accepts "ChordNames" } \context{ @@ -311,15 +337,13 @@ contained staves are connected vertically." \name "PianoStaff" \alias "GrandStaff" - \description "Just like @code{GrandStaff} but with support for -instrument names at the start of each system." + \description "Just like @code{GrandStaff}, but the staves are only removed +together, never separately." - \consists "Instrument_name_engraver" \consists "Vertical_align_engraver" + \consists "Keep_alive_together_engraver" topLevelAlignment = ##f - \override StaffGrouper #'between-staff-spacing #'stretchability = #5 - instrumentName = #'() shortInstrumentName = #'() } @@ -331,10 +355,14 @@ instrument names at the start of each system." \consists "Vertical_align_engraver" topLevelAlignment = ##f + \consists "Instrument_name_engraver" \consists "Span_bar_engraver" \consists "Span_arpeggio_engraver" \consists "Output_property_engraver" systemStartDelimiter = #'SystemStartBracket + %% explicitly set instrument, so it is not inherited from the parent + instrumentName = #'() + shortInstrumentName = #'() \consists "System_start_delimiter_engraver" @@ -370,11 +398,14 @@ 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") \override VerticalAxisGroup #'staff-affinity = #CENTER - \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5) (padding . 0.5)) + \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = + #'((basic-distance . 5) + (padding . 0.5)) \override TextScript #'font-shape = #'italic \override DynamicLineSpanner #'Y-offset = #0 @@ -390,9 +421,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" @@ -400,16 +428,24 @@ printing of a single line of lyrics." \consists "Instrument_name_engraver" \consists "Font_size_engraver" \consists "Hara_kiri_engraver" + searchForVoice = ##f + %% explicitly set instrument, so it is not inherited from the parent + instrumentName = #'() + shortInstrumentName = #'() \override VerticalAxisGroup #'remove-first = ##t \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 . 0) - (stretchability . 0) - (padding . 0.2) - (minimum-distance . 2.8)) - \override VerticalAxisGroup #'non-affinity-spacing #'padding = #1.0 + \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = + #'((basic-distance . 5.5) + (padding . 0.5) + (stretchability . 1)) + \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = + #'((basic-distance . 0) + (minimum-distance . 2.8) + (padding . 0.2) + (stretchability . 0)) + \override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing #'padding = #1.5 \override InstrumentName #'self-alignment-Y = ##f %% sync with define-grobs.scm ; @@ -417,7 +453,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) } @@ -427,8 +463,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" @@ -448,20 +494,10 @@ printing of a single line of lyrics." \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 -} - - -RemoveEmptyStaves = \with { - \remove "Axis_group_engraver" - \remove "Hara_kiri_engraver" - \consists "Hara_kiri_engraver" - \override Beam #'auto-knee-gap = #'() - \override VerticalAxisGroup #'remove-empty = ##t + \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing #'padding = #0.5 + \override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #0.5 } - \context { \type "Score_engraver" \name "Score" @@ -478,7 +514,6 @@ automatically when an output definition (a @code{\score} or @code{\layout} block) is processed." \consists "Paper_column_engraver" - \consists "Vertically_spaced_contexts_engraver" \consists "Repeat_acknowledge_engraver" \consists "Staff_collecting_engraver" @@ -526,6 +561,7 @@ automatically when an output definition (a @code{\score} or soloIIText = #"Solo II" aDueText = #"a2" printPartCombineTexts = ##t + partCombineTextsOnNote = ##t systemStartDelimiter =#'SystemStartBar drumStyleTable = #drums-style @@ -547,6 +583,7 @@ automatically when an output definition (a @code{\score} or automaticBars = ##t explicitClefVisibility = #all-visible + explicitCueClefVisibility = #end-of-line-invisible explicitKeySignatureVisibility = #all-visible implicitTimeSignatureVisibility = #end-of-line-invisible @@ -597,7 +634,7 @@ automatically when an output definition (a @code{\score} or (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT) (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP) (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT) - (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP) + (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP) ) barCheckSynchronize = ##f @@ -638,6 +675,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) @@ -654,7 +692,13 @@ automatically when an output definition (a @code{\score} or ) keepAliveInterfaces = #'( - rhythmic-grob-interface + bass-figure-interface + chord-name-interface + cluster-beacon-interface + fret-diagram-interface + lyric-syllable-interface + note-head-interface + tab-note-head-interface lyric-interface percent-repeat-item-interface percent-repeat-interface @@ -672,7 +716,6 @@ automatically when an output definition (a @code{\score} or tuplet-span-event) instrumentTransposition = #(ly:make-pitch 0 0 0) - verticallySpacedContexts = #'(Staff) topLevelAlignment = ##t timing = ##t @@ -693,8 +736,8 @@ automatically when an output definition (a @code{\score} or \override VerticalAxisGroup #'remove-empty = ##t \override VerticalAxisGroup #'remove-first = ##t \override VerticalAxisGroup #'staff-affinity = #UP - \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5 - \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5 + \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing #'padding = #0.5 + \override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #0.5 } \context { @@ -713,7 +756,7 @@ context." \name "TabVoice" \alias "Voice" \consists "Tab_note_heads_engraver" - \consists "Tab_harmonic_engraver" + \consists "Tab_tie_follow_engraver" \remove "Note_heads_engraver" \remove "Fingering_engraver" @@ -726,14 +769,21 @@ context." %% too big. We have to adjust the beam settings: \override Beam #'beam-thickness = #0.32 \override Beam #'length-fraction = #0.62 + %% the same goes for tremolo beams + \override StemTremolo #'beam-thickness = #0.32 + %% NOTE: in lily/stem-tremolo.cc, we have length-fraction = 1, + %% and the tablature staff space is scaled (1.5 by default), + %% so we use the inversion of the scale factor: + \override StemTremolo #'length-fraction = #(lambda (grob) + (/ 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 #'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) @@ -745,10 +795,12 @@ context." autoBeaming = ##f %% remove beams, dots and rests ... \override Beam #'stencil = ##f + \override StemTremolo #'stencil = ##f \override Dots #'stencil = ##f \override Rest #'stencil = ##f \override MultiMeasureRest #'stencil = ##f \override MultiMeasureRestNumber #'transparent = ##t + \override MultiMeasureRestText #'transparent = ##t %% ... all kinds of ties/slurs \override Tie #'stencil = ##f \override RepeatTie #'stencil = ##f @@ -767,6 +819,7 @@ context." \override Hairpin #'transparent = ##t \override Script #'stencil = ##f \override TextScript #'stencil = ##f + \override Glissando #'stencil = #glissando::draw-tab-glissando %% 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) @@ -806,8 +859,6 @@ contexts and handles the line spacing, the tablature clef etc. properly." \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 @@ -816,6 +867,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 { @@ -985,7 +1038,6 @@ accommodated for typesetting a piece in mensural style." 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 @@ -1016,4 +1068,3 @@ RemoveEmptyTabStaffContext = \context { \TabStaff \RemoveEmptyStaves } -