X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=b49a101205661f198aa7cf2a88f46b83b9a00b97;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=ab99abba7e3d67603920f9ee8bad3a93630c57ea;hpb=08e0e65cb2905bfe9ded5407662d9af3b0b99283;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index ab99abba7e..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.15.39" +\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 { @@ -37,7 +36,7 @@ \consists "Fretboard_engraver" \consists "Output_property_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" \consists "Separating_line_group_engraver" \consists "Font_size_engraver" \consists "Instrument_name_engraver" @@ -85,9 +84,9 @@ \consists "Figured_bass_position_engraver" \consists "Script_row_engraver" \consists "Cue_clef_engraver" - \consists "Footnote_engraver" + \consists "Fingering_column_engraver" - localKeySignature = #'() + localAlterations = #'() createSpacing = ##t ignoreFiguredBassRest = ##f @@ -100,6 +99,7 @@ \defaultchild "Voice" \accepts "Voice" \accepts "CueVoice" + \accepts "NullVoice" \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -125,7 +125,7 @@ clefGlyph = #"clefs.percussion" clefPosition = #0 - \override Script #'staff-padding = #0.75 + \override Script.staff-padding = #0.75 } @@ -162,19 +162,18 @@ 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 + \override VoltaBracket.staff-padding = #3 + \override StaffSymbol.line-count = #1 - \override Stem #'neutral-direction = #UP - \override Beam #'neutral-direction = #UP + \override Stem.neutral-direction = #UP + \override Beam.neutral-direction = #UP \consists "Output_property_engraver" \consists "Font_size_engraver" @@ -211,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" @@ -231,7 +231,6 @@ multiple voices on the same staff." \consists "Note_heads_engraver" \consists "Dots_engraver" \consists "Rest_engraver" - \consists "Tweak_engraver" %% switch on to make stem directions interpolate for the %% center line. @@ -241,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" @@ -252,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" @@ -268,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" } @@ -278,9 +276,9 @@ multiple voices on the same staff." \name CueVoice \alias Voice fontSize = #-4 - \override Stem #'length-fraction = #(magstep -4) - \override Beam #'length-fraction = #(magstep -4) - \override Beam #'beam-thickness = #0.35 + \override Stem.length-fraction = #(magstep -4) + \override Beam.length-fraction = #(magstep -4) + \override Beam.beam-thickness = #0.35 } \context { @@ -307,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 @@ -315,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" @@ -361,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" @@ -398,28 +402,24 @@ 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" + \consists "Font_size_engraver" \consists "Axis_group_engraver" - \consists "Tweak_engraver" pedalSustainStrings = #'("Ped." "*Ped." "*") pedalUnaCordaStrings = #'("una corda" "" "tre corde") - \override VerticalAxisGroup #'staff-affinity = #CENTER - \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing = + \override VerticalAxisGroup.staff-affinity = #CENTER + \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 5) (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)))) + \override TextScript.font-shape = #'italic + \override DynamicLineSpanner.Y-offset = #0 + \override DynamicLineSpanner.outside-staff-priority = ##f + \override DynamicText.outside-staff-priority = ##f + \override Hairpin.outside-staff-priority = ##f \description "Holds a single line of dynamics, which will be centered between the staves surrounding this context." @@ -436,38 +436,37 @@ 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 "Axis_group_engraver" \consists "Pure_from_neighbor_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 #'nonstaff-relatedstaff-spacing = + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.staff-affinity = #UP + \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1)) - \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = + \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 + \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = #1.5 + \override InstrumentName.self-alignment-Y = ##f %% sync with define-grobs.scm ; - \override InstrumentName #'font-size = #1.0 + \override InstrumentName.font-size = #1.0 %% make sure that barlines aren't collapsed, when %% Bar_engraver is there. - \override BarLine #'bar-extent = #'(-0.05 . 0.05) + \override BarLine.bar-extent = #'(-0.05 . 0.05) } @@ -477,18 +476,17 @@ printing of a single line of lyrics." \description "A context for printing the names of notes." \consists "Axis_group_engraver" - \override VerticalAxisGroup #'staff-affinity = #UP - \override VerticalAxisGroup #'nonstaff-nonstaff-spacing = + \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 = + \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((basic-distance . 5.5) (padding . 0.5) (stretchability . 1)) - \override VerticalAxisGroup - #'nonstaff-unrelatedstaff-spacing #'padding = 1.5 + \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = 1.5 \consists "Tie_engraver" \consists "Note_name_engraver" @@ -503,13 +501,14 @@ printing of a single line of lyrics." \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" % \consists "Note_spacing_engraver" - \override VerticalAxisGroup #'remove-first = ##t - \override VerticalAxisGroup #'remove-empty = ##t - \override VerticalAxisGroup #'staff-affinity = #DOWN - \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing #'padding = #0.5 - \override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #0.5 + + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.staff-affinity = #DOWN + \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #0.5 + \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = #0.5 } \context { @@ -524,8 +523,8 @@ aligned across staves. You cannot explicitly instantiate a @code{Score} context (since it is not contained in any other context). It is instantiated -automatically when an output definition (a @code{\score} or -@code{\layout} block) is processed." +automatically when an output definition (a @code{\\score} or +@code{\\layout} block) is processed." \consists "Paper_column_engraver" \consists "Repeat_acknowledge_engraver" @@ -544,6 +543,7 @@ automatically when an output definition (a @code{\score} or \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Output_property_engraver" + \consists "Tweak_engraver" \consists "System_start_delimiter_engraver" \consists "Mark_engraver" \consists "Volta_engraver" @@ -578,6 +578,7 @@ automatically when an output definition (a @code{\score} or \accepts "ChoirStaff" \accepts "PianoStaff" \accepts "Devnull" + \accepts "NullVoice" \accepts "NoteNames" \accepts "FiguredBass" @@ -592,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" @@ -604,35 +606,37 @@ automatically when an output definition (a @code{\score} or decrescendoSpanner = #'hairpin defaultBarType = #"|" - doubleRepeatType = #":|:" - startRepeatType = #"|:" - endRepeatType = #":|" + 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 + 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 +%% Other Timing variables are derived and set by the Timing_translator +%% at initialization time by calling the functions in +%% scm/time-signature-settings.scm + timeSignatureSettings = #default-time-signature-settings timeSignatureFraction = 4/4 -%% These defaults should be the same as the rules established in -%% scm/time-signature-settings.scm for 4/4 time - measureLength = #(ly:make-moment 4 4) - baseMoment = #(ly:make-moment 1 4) - 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 + 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 @@ -765,13 +751,13 @@ automatically when an output definition (a @code{\score} or \consists "Figured_bass_engraver" \consists "Separating_line_group_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" - \override VerticalAxisGroup #'remove-empty = ##t - \override VerticalAxisGroup #'remove-first = ##t - \override VerticalAxisGroup #'staff-affinity = #UP - \override VerticalAxisGroup #'nonstaff-relatedstaff-spacing #'padding = #0.5 - \override VerticalAxisGroup #'nonstaff-nonstaff-spacing #'padding = #0.5 + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.staff-affinity = #UP + \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #0.5 + \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = #0.5 } \context { @@ -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" @@ -799,72 +817,8 @@ context." \description "Context for drawing notes in a Tab staff." - %% TabStaff increase the staff-space, which in turn - %% increases beam thickness and spacing; beams are - %% 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 #'no-stem-extend = ##t - \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) - (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 #'stencil = ##f - \override Flag #'stencil = ##f - %% automatic beams should be suppressed for similar reasons ... - 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 #'stencil = ##f - \override MultiMeasureRestText #'stencil = ##f - %% ... all kinds of ties/slurs - \override Tie #'stencil = ##f - \override RepeatTie #'stencil = ##f - \override LaissezVibrerTie #'stencil = ##f - \override Slur #'stencil = #slur::draw-tab-slur - \override PhrasingSlur #'stencil = ##f - %% 'tied to' fret numbers become invisible or parenthesized, respectively) - \override Tie #'after-line-breaking = #tie::handle-tab-note-head - \override RepeatTie #'after-line-breaking = #repeat-tie::handle-tab-note-head - %% ... and all kinds of markups, spanners etc. - \override TupletBracket #'stencil = ##f - \override TupletNumber #'stencil = ##f - \override DynamicText #'stencil = ##f - \override DynamicTextSpanner #'stencil = ##f - \override TextSpanner #'stencil = ##f - \override Hairpin #'stencil = ##f - \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) - (padding . 0.3)) - \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT) - (padding . 0.3)) - %% dead notes - \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name - \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set } \context { @@ -881,10 +835,10 @@ contexts and handles the line spacing, the tablature clef etc. properly." \defaultchild "TabVoice" %% 6 strings, bigger spacing - \override StaffSymbol #'staff-space = #1.5 + \override StaffSymbol.staff-space = #1.5 %% Don't draw stems over the tablature figures ! - \override Stem #'avoid-note-head = ##t + \override Stem.avoid-note-head = ##t %% No accidental in tablature ! \remove "Accidental_engraver" @@ -892,14 +846,14 @@ contexts and handles the line spacing, the tablature clef etc. properly." \remove "Ottava_spanner_engraver" %% the clef handler - \override Clef #'stencil = #clef::print-modern-tab-if-set + \override Clef.stencil = #clef::print-modern-tab-if-set %% no time signature - \override TimeSignature #'stencil = ##f + \override TimeSignature.stencil = ##f %% no arpeggios - \override Arpeggio #'stencil = ##f + \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 + \override NoteColumn.ignore-collision = ##t %% Special "TAB" clef clefGlyph = #"clefs.tab" clefPosition = #0 @@ -907,6 +861,71 @@ contexts and handles the line spacing, the tablature clef etc. properly." 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: + \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 + + %% make the Stems as short as possible to minimize their influence + %% on the slur::calc-control-points routine + \override Stem.no-stem-extend = ##t + \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) + (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.stencil = ##f + \override Flag.stencil = ##f + %% automatic beams should be suppressed for similar reasons ... + 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.stencil = ##f + \override MultiMeasureRestText.stencil = ##f + %% ... all kinds of ties/slurs + \override Tie.stencil = ##f + \override RepeatTie.stencil = ##f + \override LaissezVibrerTie.stencil = ##f + \override Slur.stencil = #slur::draw-tab-slur + \override PhrasingSlur.stencil = ##f + %% 'tied to' fret numbers become invisible or parenthesized, respectively) + \override Tie.after-line-breaking = #tie::handle-tab-note-head + \override RepeatTie.after-line-breaking = #repeat-tie::handle-tab-note-head + %% ... and all kinds of markups, spanners etc. + \override TupletBracket.stencil = ##f + \override TupletNumber.stencil = ##f + \override DynamicText.stencil = ##f + \override DynamicTextSpanner.stencil = ##f + \override TextSpanner.stencil = ##f + \override Hairpin.stencil = ##f + \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) + (padding . 0.3)) + \override Glissando.bound-details.left = #`((attach-dir . ,RIGHT) + (padding . 0.3)) + %% dead notes + \override TabNoteHead.glyph-name = #tab-note-head::calc-glyph-name + \override TabNoteHead.stencil = #tab-note-head::whiteout-if-style-set } \context { @@ -925,11 +944,11 @@ of Editio Vaticana." \consists "Episema_engraver" %% Set default head for notes outside of \[ \]. - \override NoteHead #'style = #'vaticana.punctum + \override NoteHead.style = #'vaticana.punctum %% Put some space before and after divisiones. %% FIXME: This does not seem to show any effect. - \override Script #'padding = #0.5 + \override Script.padding = #0.5 %% There are no beams in Gregorian Chant notation. autoBeaming = ##f @@ -953,28 +972,28 @@ of Editio Vaticana." %% We can not remove Bar_engraver; otherwise clefs and custodes will %% not show up any more among other line breaking issues. %% Instead, we make the grob transparent. - \override BarLine #'transparent = ##t + \override BarLine.transparent = ##t - \override StaffSymbol #'line-count = #4 - \override StaffSymbol #'thickness = #0.6 + \override StaffSymbol.line-count = #4 + \override StaffSymbol.thickness = #0.6 %% FIXME: unit on StaffSymbol's width should be \linewidth. - %% \override StaffSymbol #'width = #60.0 + %% \override StaffSymbol.width = #60.0 %% Choose vaticana do clef on 3rd line as default. clefGlyph = #"clefs.vaticana.do" middleCPosition = #1 middleCClefPosition = #1 clefPosition = #1 - clefOctavation = #0 + clefTransposition = #0 %% Select vaticana style font. - \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist - \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist - \override Custos #'style = #'vaticana - \override Custos #'neutral-position = #3 - \override Custos #'neutral-direction = #DOWN - \override Dots #'style = #'vaticana + \override KeySignature.glyph-name-alist = #alteration-vaticana-glyph-name-alist + \override Accidental.glyph-name-alist = #alteration-vaticana-glyph-name-alist + \override Custos.style = #'vaticana + \override Custos.neutral-position = #3 + \override Custos.neutral-direction = #DOWN + \override Dots.style = #'vaticana } \context { @@ -987,11 +1006,11 @@ of Editio Vaticana." %% other ligature engraver would cause a "Junking event: `LigatureEvent'" %% warning for every "\[" and "\]". Therefore, we make the grob %% transparent instead. - \override LigatureBracket #'transparent = ##t + \override LigatureBracket.transparent = ##t %% Put some space before and after divisiones. %% FIXME: This does not seem to show any effect. - \override Script #'padding = #0.5 + \override Script.padding = #0.5 %% There are no beams in Gregorian Chant notation. autoBeaming = ##f @@ -1009,7 +1028,7 @@ of Editio Vaticana." %% We can not remove Bar_engraver; otherwise clefs and custodes will %% not show up any more among other line breaking issues. %% Instead, we make the grob transparent. - \override BarLine #'transparent = ##t + \override BarLine.transparent = ##t } \context { @@ -1024,9 +1043,9 @@ accommodated for typesetting a piece in mensural style." \consists "Mensural_ligature_engraver" %% Set default head for notes outside of \[ \]. - \override NoteHead #'style = #'mensural - \override Rest #'style = #'mensural - \override Flag #'style = #'mensural + \override NoteHead.style = #'mensural + \override Rest.style = #'mensural + \override Flag.style = #'mensural %% There are no beams in mensural notation. autoBeaming = ##f @@ -1047,30 +1066,30 @@ accommodated for typesetting a piece in mensural style." %% We can not remove Bar_engraver; otherwise clefs and custodes will %% not show up any more among other line breaking issues. %% Instead, we make the grob transparent. - \override BarLine #'transparent = ##t + \override BarLine.transparent = ##t - \override StaffSymbol #'thickness = #0.6 + \override StaffSymbol.thickness = #0.6 %% FIXME: unit on StaffSymbol's width should be \linewidth. - %% \override StaffSymbol #'width = #60.0 + %% \override StaffSymbol.width = #60.0 %% Choose mensural g clef on 2nd line as default. clefGlyph = #"clefs.mensural.g" middleCClefPosition = #-6 middleCPosition = #-6 clefPosition = #-2 - clefOctavation = #0 + clefTransposition = #0 %% Select mensural style font. - \override TimeSignature #'style = #'mensural - \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist - \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist - \override Custos #'style = #'mensural - \override Custos #'neutral-position = #3 - \override Custos #'neutral-direction = #DOWN + \override TimeSignature.style = #'mensural + \override KeySignature.glyph-name-alist = #alteration-mensural-glyph-name-alist + \override Accidental.glyph-name-alist = #alteration-mensural-glyph-name-alist + \override Custos.style = #'mensural + \override Custos.neutral-position = #3 + \override Custos.neutral-direction = #DOWN %% Accidentals are valid only once (same as - %% \accidentalStyle "forget") + %% \accidentalStyle forget) extraNatural = ##f autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1)) autoCautionaries = #'() @@ -1088,12 +1107,12 @@ accommodated for typesetting a piece in Petrucci style." \consists "Mensural_ligature_engraver" %% Set glyph styles. - \override NoteHead #'style = #'petrucci - \override Rest #'style = #'mensural + \override NoteHead.style = #'petrucci + \override Rest.style = #'mensural % Thickens and shortens stems. - \override Stem #'thickness = #1.7 - \override Stem #'length = #5 + \override Stem.thickness = #1.7 + \override Stem.length = #5 %% There are no beams in Petrucci notation. autoBeaming = ##f @@ -1111,18 +1130,18 @@ accommodated for typesetting a piece in Petrucci style." \consists "Custos_engraver" - \override StaffSymbol #'thickness = #1.3 + \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 + clefTransposition = #0 - \override Custos #'style = #'mensural - \override Custos #'neutral-position = #3 - \override Custos #'neutral-direction = #DOWN + \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 @@ -1139,12 +1158,22 @@ accommodated for typesetting a piece in Petrucci style." \description "Same as @code{Voice} context, except that it is accommodated for typesetting a piece in Kievan style." + \remove "Ligature_bracket_engraver" + \consists "Kievan_ligature_engraver" + %% 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 + \override NoteHead.style = #'kievan + \override Stem.X-offset = #stem::kievan-offset-callback + \override Stem.stencil = ##f + \override Flag.stencil = ##f + \override Rest.style = #'mensural + \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist + \override Dots.style = #'kievan + \override Slur.stencil = ##f + \override Stem.length = #0.0 + \override Beam.positions = #beam::get-kievan-positions + \override Beam.quantized-positions = #beam::get-kievan-quantized-positions + \override NoteHead.duration-log = #note-head::calc-kievan-duration-log %% There are beams in Kievan notation, but they are invoked manually autoBeaming = ##f @@ -1167,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