X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=fa4b144595d91e89e6d0ca4e911f1c075e0f1432;hb=cbce93a817737a5c42e5cc5c7e93e72274286ebf;hp=8fe1b2a63aaa0d5ab154ec262ef3fcf8afb2c231;hpb=3cd9f51c1faddb92fa36706601be496398cc2886;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 8fe1b2a63a..fa4b144595 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -1,19 +1,14 @@ -\version "2.1.26" +\version "2.3.16" -\translator { +\context { \name Global \accepts Score \description "Hard coded entry point for LilyPond. Cannot be tuned." \grobdescriptions #all-grob-descriptions - } -% -% setup for Request->Element conversion. Guru-only -% - -\translator { +\context { \type "Engraver_group_engraver" \name Staff @@ -25,7 +20,7 @@ % with empty ones. \consists "Font_size_engraver" - + \consists "Volta_engraver" \consists "Separating_line_group_engraver" \consists "Dot_column_engraver" @@ -35,6 +30,7 @@ \consists "Clef_engraver" \consists "Key_engraver" \consists "Time_signature_engraver" + \consists "Ledger_line_engraver" \consists "Staff_symbol_engraver" \consists "Collision_engraver" \consists "Rest_collision_engraver" @@ -42,13 +38,14 @@ \consists "Piano_pedal_engraver" \consists "Instrument_name_engraver" \consists "String_number_engraver" - \consistsend "Axis_group_engraver" + \consists "Axis_group_engraver" - minimumVerticalExtent = #'(-6 . 6) + minimumVerticalExtent = #'(-3 . 3) extraVerticalExtent = ##f verticalExtent = ##f localKeySignature = #'() - + createSpacing = ##t + % explicitly set instrument, so we don't get % weird effects when doing instrument names for % piano staves @@ -62,8 +59,8 @@ } -\translator { - \StaffContext +\context { + \Staff \type "Engraver_group_engraver" \name DrumStaff \alias Staff @@ -85,12 +82,11 @@ } -\translator { +\context { \type "Engraver_group_engraver" \name InnerChoirStaff \consists "System_start_delimiter_engraver" systemStartDelimiter = #'SystemStartBracket - localKeySignature = #'() \accepts "Staff" \accepts "DrumStaff" @@ -101,8 +97,8 @@ \accepts "ChordNames" } -\translator { - \InnerChoirStaffContext +\context { + \InnerChoirStaff \name ChoirStaff \accepts "InnerChoirStaff" @@ -113,7 +109,7 @@ } -\translator{ +\context{ \type "Engraver_group_engraver" \consists "Output_property_engraver" @@ -124,6 +120,7 @@ localKeySignature = #'() \consists "Pitch_squash_engraver" + squashedPosition = #0 \consists "Separating_line_group_engraver" \name RhythmicStaff \alias "Staff" @@ -141,8 +138,9 @@ \consists "Bar_engraver" \consists "Time_signature_engraver" \consists "Staff_symbol_engraver" + \consists "Ledger_line_engraver" \consists "Instrument_name_engraver" - \consistsend "Axis_group_engraver" + \consists "Axis_group_engraver" \accepts "Voice" \description " A context like @code{Staff} but for printing rhythms. Pitches are @@ -151,7 +149,7 @@ } -\translator { +\context { \type "Engraver_group_engraver" \name Voice @@ -170,6 +168,7 @@ \consists "Arpeggio_engraver" \consists "Multi_measure_rest_engraver" \consists "Text_spanner_engraver" + \consists "Trill_spanner_engraver" \consists "Grob_pq_engraver" \consists "Forbid_line_break_engraver" @@ -192,10 +191,6 @@ \consists "Melisma_translator" \consists "Part_combine_engraver" -%{ - Must come before text_engraver, but after note_column engraver. - -%} \consists "Text_engraver" \consists "Dynamic_engraver" \consists "Fingering_engraver" @@ -212,8 +207,8 @@ \consists "Skip_event_swallow_translator" } -\translator { - \VoiceContext +\context { + \Voice \name DrumVoice \alias Voice @@ -233,15 +228,13 @@ \remove "Fingering_engraver" - \remove "Phrasing_slur_engraver" \remove "Cluster_spanner_engraver" - \remove "Slur_engraver" \consists "Tuplet_engraver" \consists "Skip_event_swallow_translator" } -\translator{ +\context{ \type "Engraver_group_engraver" \name GrandStaff localKeySignature = #'() @@ -258,8 +251,8 @@ \accepts "Staff" } -\translator{ - \GrandStaffContext +\context{ + \GrandStaff \name "PianoStaff" \alias "GrandStaff" @@ -278,10 +271,9 @@ instr = #'() } -\translator { +\context { \type "Engraver_group_engraver" \name InnerStaffGroup - localKeySignature = #'() \consists "Span_bar_engraver" \consists "Span_arpeggio_engraver" @@ -299,8 +291,8 @@ \accepts "ChordNames" } -\translator { - \InnerStaffGroupContext +\context { + \InnerStaffGroup \name StaffGroup \description @@ -316,9 +308,8 @@ connected vertically. " } -\translator{ +\context{ \type "Engraver_group_engraver" - \consistsend "Hara_kiri_engraver" minimumVerticalExtent = #'(-1.2 . 2.4) extraVerticalExtent = ##f verticalExtent = ##f @@ -335,13 +326,14 @@ printing of a single line of lyrics. " \consists "Vocal_name_engraver" \consists "Skip_event_swallow_translator" \consists "Font_size_engraver" + \consists "Hara_kiri_engraver" \override SeparationItem #'padding = #0.2 } -\translator { +\context { \type "Engraver_group_engraver" \name NoteNames - \consistsend "Axis_group_engraver" + \consists "Axis_group_engraver" minimumVerticalExtent = ##f extraVerticalExtent = ##f @@ -355,18 +347,21 @@ printing of a single line of lyrics. " \consists "Separating_line_group_engraver" } -\translator { +\context { \type "Engraver_group_engraver" \name ChordNames \description "Typesets chord names." + + \consists "Volta_engraver" \consists "Rest_swallow_translator" \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" \consists "Skip_event_swallow_translator" - \consistsend "Hara_kiri_engraver" + \consists "Hara_kiri_engraver" + voltaOnThisStaff = ##f minimumVerticalExtent = #'(0 . 2.5) extraVerticalExtent = ##f \override SeparatingGroupSpanner #'padding = #0.8 @@ -374,14 +369,14 @@ printing of a single line of lyrics. " } -RemoveEmptyStaffContext= \translator { - \StaffContext +RemoveEmptyStaffContext= \context { + \Staff \remove "Axis_group_engraver" - \consistsend "Hara_kiri_engraver" + \consists "Hara_kiri_engraver" \override Beam #'auto-knee-gap = #'() } -AncientRemoveEmptyStaffContext = \translator { +AncientRemoveEmptyStaffContext = \context { %% why not add by default? \RemoveEmptyStaffContext @@ -389,10 +384,9 @@ AncientRemoveEmptyStaffContext = \translator { \accepts "GregorianTranscriptionVoice" } -\translator { +\context { \type Score_engraver \name Score - localKeySignature = #'() \description "This is the top level notation context. No other context can contain a @code{Score} context. This context @@ -410,9 +404,7 @@ AncientRemoveEmptyStaffContext = \translator { % move the alias along with the engraver. - %% TODO? add this alias from Timing_engraver::initialize() ? \consists "Timing_engraver" - \alias "Timing" \consists "Output_property_engraver" \consists "System_start_delimiter_engraver" @@ -444,7 +436,7 @@ AncientRemoveEmptyStaffContext = \translator { soloText = #"Solo" soloIIText = #"Solo II" aDueText = #"a2" - soloADue = ##t + printPartCombineTexts = ##t systemStartDelimiter =#'SystemStartBar drumStyleTable = #drums-style @@ -453,7 +445,7 @@ AncientRemoveEmptyStaffContext = \translator { clefGlyph = #"clefs-G" clefPosition = #-2 - centralCPosition = #-6 + middleCPosition = #-6 defaultBarType = #"|" barNumberVisibility = #default-bar-number-visibility @@ -479,6 +471,8 @@ AncientRemoveEmptyStaffContext = \translator { pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") pedalSostenutoStyle = #'mixed + + harmonicAccidentals = ##t fingeringOrientations = #'(up down) tupletNumberFormatFunction = #denominator-tuplet-formatter markFormatter = #format-mark-letters @@ -489,24 +483,26 @@ AncientRemoveEmptyStaffContext = \translator { autoAccidentals = #'(Staff (same-octave . 0)) autoCautionaries = #'() + printKeyCancellation = ##t keyAccidentalOrder = #`( (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) ) - breakAlignOrder = #'( - instrument-name - left-edge - ambitus - breathing-sign - clef - rehearsal-mark - staff-bar - key-signature - time-signature - custos - ) + + %{ + + this order is more complex, see wansek p254 and further. + + for instance, order of clef and :|: depends on function of the clef + + (clef of start-repeat) :|: (change-clef) + + is the proper order. + + %} + barCheckSynchronize = ##f %% chord names: @@ -519,6 +515,10 @@ AncientRemoveEmptyStaffContext = \translator { chordNameExceptionsFull = #fullJazzExceptions chordNameExceptionsPartial = #partialJazzExceptions + + bassStaffProperties = #'((assign clefGlyph "clefs-F") + (assign clefPosition 2) + (assign middleCPosition 6)) %% tablature: stringOneTopmost = ##t highStringOne = ##t @@ -529,21 +529,20 @@ AncientRemoveEmptyStaffContext = \translator { tablatureFormat = #fret-number-tablature-format %% - bassFigureFormatFunction = #make-bass-figure-markup + bassFigureFormatFunction = #format-bass-figure metronomeMarkFormatter = #format-metronome-markup graceSettings = #`#( (Voice Stem direction 1) - ;; TODO: should take from existing definition. ;; c&p from define-grobs.scm (Voice Stem lengths ,(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))) - (Voice Stem stem-shorten (0.4 0)) + (Voice Stem stem-shorten (0.4 0.4)) (Voice Stem font-size -3) (Voice NoteHead font-size -3) (Voice Dots font-size -3) (Voice Stem beamed-lengths - ,(map (lambda (x) (* 0.8 x)) '(3.26))) + ,(map (lambda (x) (* 0.8 x)) '(3.3 3.3 4.0))) (Voice Stem beamed-minimum-free-lengths ,(map (lambda (x) (* 0.8 x)) '(2.5 2.0 1.5))) (Voice Stem beamed-extreme-minimum-free-lengths @@ -554,21 +553,15 @@ AncientRemoveEmptyStaffContext = \translator { (Voice Beam space-function ,(lambda (beam mult) (* 0.8 (Beam::space_function beam mult)))) - (Voice Beam position-callbacks (,Beam::least_squares - ,Beam::check_concave - ,Beam::slope_damping)) (Voice Accidental font-size -4) (Voice Slur direction -1) ) - -} -OrchestralScoreContext = \translator { - \ScoreContext + quotedEventTypes = #'(note-event rest-event) } -EasyNotation = \translator { - \ScoreContext +EasyNotation = \context { % TODO: why \context override? + \Score \override NoteHead #'print-function = #Note_head::brew_ez_stencil \override NoteHead #'Y-extent-callback = #'() \override NoteHead #'X-extent-callback = #'() @@ -576,31 +569,31 @@ EasyNotation = \translator { -\translator { +\context { \type "Engraver_group_engraver" \name FiguredBass \consists "Figured_bass_engraver" \consists "Rest_swallow_translator" \consists "Note_swallow_translator" + \consists "Skip_event_swallow_translator" \consists "Separating_line_group_engraver" - \consistsend "Hara_kiri_engraver" + \consists "Hara_kiri_engraver" } -\translator { +\context { \name "Devnull" \type "Engraver_group_engraver" %% don't want to route anything out of here: \alias "Staff" - \alias "Timing" \alias "Voice" \consists "Swallow_engraver" \description "Silently discards all musical information given to this context. " } -\translator { - \VoiceContext +\context { + \Voice \name "TabVoice" \consists "Tab_note_heads_engraver" \remove "Note_heads_engraver" @@ -621,8 +614,8 @@ EasyNotation = \translator { \remove Accidental_engraver } -\translator { - \StaffContext +\context { + \Staff \alias "Staff" \name "TabStaff" \denies "Voice" @@ -652,14 +645,14 @@ EasyNotation = \translator { % but this does not work (is this a bug or intended behaviour?): % % If I try to do so, I get "error: unknown escaped string: -% `\VaticanaStaffContext'" in params-init.ly. If I also move -% "\translator { \Vaticana*Context }" from params-init.ly to the end +% `\VaticanaStaff'" in params-init.ly. If I also move +% "\context { \Vaticana*Context }" from params-init.ly to the end % of gregorian-init.ly, then I get "error: parse error, unexpected -% TRANSLATOR: \translator { \VaticanaStaffContext }" in +% TRANSLATOR: \context { \VaticanaStaff }" in % gregorian-init.ly. --jr -\translator { - \VoiceContext +\context { + \Voice \name "VaticanaVoice" \alias "Voice" \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana." @@ -670,14 +663,14 @@ EasyNotation = \translator { \consists "Vaticana_ligature_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 % There are no beams in Gregorian Chant notation. - autobeaming = ##f + autoBeaming = ##f % Prepare TextSpanner for \episem{Initium|Finis} use. \override TextSpanner #'style = #'line @@ -687,8 +680,8 @@ EasyNotation = \translator { \override TextSpanner #'edge-text = #'("" . "") } -\translator { - \StaffContext +\context { + \Staff \name "VaticanaStaff" \alias "Staff" \denies "Voice" @@ -710,8 +703,8 @@ EasyNotation = \translator { % \override StaffSymbol #'width = #60.0 % Choose vaticana do clef on 3rd line as default. - clefGlyph = #"clefs-vaticana_do" - centralCPosition = #1 + clefGlyph = #"clefs-vaticana-do" + middleCPosition = #1 clefPosition = #1 clefOctavation = #0 @@ -721,14 +714,13 @@ EasyNotation = \translator { \override Custos #'style = #'vaticana \override Custos #'neutral-position = #3 \override Custos #'neutral-direction = #-1 - \override Custos #'adjust-if-on-staffline = ##t % Score.timing = ##f % Score.barAlways = ##t } -\translator { - \VoiceContext +\context { + \Voice \name "GregorianTranscriptionVoice" \alias "Voice" @@ -743,7 +735,7 @@ EasyNotation = \translator { \override Script #'padding = #0.5 % There are no beams in Gregorian Chant notation. - autobeaming = ##f + autoBeaming = ##f % Prepare TextSpanner for \episem{Initium|Finis} use. \override TextSpanner #'style = #'line @@ -752,8 +744,8 @@ EasyNotation = \translator { \override TextSpanner #'enclose-bounds = #1 \override TextSpanner #'edge-text = #'("" . "") } - \translator { - \StaffContext + \context { + \Staff \name "GregorianTranscriptionStaff" \alias "Staff" \denies "Voice"