X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=ed7698ef0914c29ff3778a98574a753a5d517263;hb=794dcbdb52faf4292036cd1b0270a956cf4316a3;hp=49f22c1b3de9010015e172cf9a5928f7b22d4471;hpb=4fa31a2f796de53ec728b7459f655cff9a10d680;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 49f22c1b3d..ed7698ef09 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -1,4 +1,4 @@ -\version "2.10.0" +\version "2.12.0" \context { \name "Global" @@ -10,15 +10,18 @@ \grobdescriptions #all-grob-descriptions } +% FIXME: replace minimum-Y-extents with proper spacing commands. \context { \type "Engraver_group" \name "FretBoards" + \description "A context for displaying fret diagrams." - \consists "Output_property_engraver" - - \consists "Axis_group_engraver" \consists "Fretboard_engraver" + \consists "Rest_swallow_translator" + \consists "Output_property_engraver" + \consists "Skip_event_swallow_translator" + \consists "Hara_kiri_engraver" \consists "Separating_line_group_engraver" \consists "Font_size_engraver" \consists "Instrument_name_engraver" @@ -29,14 +32,14 @@ \context { \type "Engraver_group" \name "Staff" - - \consists "Output_property_engraver" + + \consists "Output_property_engraver" \consists "Bar_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 "Separating_line_group_engraver" \consists "Dot_column_engraver" \consists "Staff_collecting_engraver" @@ -45,9 +48,10 @@ \consists "Clef_engraver" \consists "Key_engraver" \consists "Time_signature_engraver" - \consists "Ledger_line_engraver" + \consists "Ledger_line_engraver" \consists "Staff_symbol_engraver" \consists "Collision_engraver" + \consists "Grob_pq_engraver" \consists "Rest_collision_engraver" \consists "Accidental_engraver" \consists "Piano_pedal_engraver" @@ -61,20 +65,20 @@ localKeySignature = #'() createSpacing = ##t - ignoreFiguredBassRest = ##t + ignoreFiguredBassRest = ##t \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4) - - %% explicitly set instrument, so we don't get + + %% explicitly set instrument, so we don't get %% weird effects when doing instrument names for %% piano staves instrumentName = #'() shortInstrumentName = #'() - + \defaultchild "Voice" \accepts "Voice" \accepts "CueVoice" - + \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -85,13 +89,13 @@ \type "Engraver_group" \name "DrumStaff" \alias "Staff" - + \remove "Accidental_engraver" \remove "Ottava_spanner_engraver" - \remove "Key_engraver" + \remove "Key_engraver" \remove "Piano_pedal_engraver" \remove "String_number_engraver" - + \description "Handles typesetting for percussion." \denies "Voice" @@ -100,13 +104,16 @@ clefGlyph = #"clefs.percussion" clefPosition = #0 - \override Script #'staff-padding = #0.75 + \override Script #'staff-padding = #0.75 } \context { \type "Engraver_group" - \name "InnerChoirStaff" + \name "ChoirStaff" + \consists "Vertical_align_engraver" + topLevelAlignment = ##f + \consists "System_start_delimiter_engraver" systemStartDelimiter = #'SystemStartBracket vocalName = #'() @@ -119,24 +126,16 @@ \accepts "PianoStaff" \accepts "Lyrics" \accepts "ChordNames" + \accepts "ChoirStaff" + \accepts "StaffGroup" \defaultchild "Staff" -} - -\context { - \InnerChoirStaff - \name ChoirStaff - - \defaultchild "Staff" - \accepts "InnerChoirStaff" - \accepts "InnerStaffGroup" \description "Identical to @code{StaffGroup} except that the contained staves are not connected vertically." - } \context{ \type "Engraver_group" - + \override VerticalAxisGroup #'minimum-Y-extent = ##f localKeySignature = #'() createSpacing = ##t @@ -144,17 +143,17 @@ contained staves are not connected vertically." squashedPosition = #0 \name RhythmicStaff \alias "Staff" - + \override BarLine #'bar-size = #4 \override VoltaBracket #'staff-padding = #3 - \override StaffSymbol #'line-count = #1 + \override StaffSymbol #'line-count = #1 \override Stem #'neutral-direction = #UP \override Beam #'neutral-direction = #UP - + \consists "Output_property_engraver" \consists "Font_size_engraver" - \consists "Separating_line_group_engraver" + \consists "Separating_line_group_engraver" \consists "Dot_column_engraver" \consists "Bar_engraver" \consists "Staff_symbol_engraver" @@ -162,8 +161,8 @@ contained staves are not connected vertically." \consists "Time_signature_engraver" \consists "Instrument_name_engraver" \consists "Axis_group_engraver" - \consists "Ledger_line_engraver" - + \consists "Ledger_line_engraver" + \accepts "Voice" \accepts "CueVoice" \defaultchild "Voice" @@ -188,7 +187,7 @@ multiple voices on the same staff." \consists "Font_size_engraver" \consists "Pitched_trill_engraver" - \consists "Output_property_engraver" + \consists "Output_property_engraver" \consists "Arpeggio_engraver" \consists "Multi_measure_rest_engraver" \consists "Text_spanner_engraver" @@ -205,7 +204,7 @@ multiple voices on the same staff." \consists "Dots_engraver" \consists "Rest_engraver" \consists "Tweak_engraver" - + %% switch on to make stem directions interpolate for the %% center line. % \consists "Melody_engraver" @@ -217,7 +216,7 @@ multiple voices on the same staff." %% must come before Script_column_engraver. \consists "New_fingering_engraver" - + \consists "Chord_tremolo_engraver" \consists "Percent_repeat_engraver" \consists "Slash_repeat_engraver" @@ -247,7 +246,7 @@ multiple voices on the same staff." \context{ \Voice - + \name CueVoice \alias Voice fontSize = #-4 @@ -283,7 +282,7 @@ multiple voices on the same staff." \type "Engraver_group" \name GrandStaff localKeySignature = #'() - + \description "A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically." @@ -296,6 +295,7 @@ contained staves are connected vertically." \defaultchild "Staff" \accepts "Staff" \accepts "FiguredBass" + \accepts "Dynamics" } \context{ @@ -307,6 +307,10 @@ contained staves are connected vertically." instrument names at the start of each system." \consists "Instrument_name_engraver" + \consists "Vertical_align_engraver" + topLevelAlignment = ##f + + \override StaffGrouper #'between-staff-spacing #'stretchability = #5 instrumentName = #'() shortInstrumentName = #'() @@ -314,11 +318,14 @@ instrument names at the start of each system." \context { \type "Engraver_group" - \name InnerStaffGroup + \name "StaffGroup" + + \consists "Vertical_align_engraver" + topLevelAlignment = ##f \consists "Span_bar_engraver" \consists "Span_arpeggio_engraver" - \consists "Output_property_engraver" + \consists "Output_property_engraver" systemStartDelimiter = #'SystemStartBracket \consists "System_start_delimiter_engraver" @@ -329,24 +336,40 @@ instrument names at the start of each system." \accepts "DrumStaff" \accepts "GrandStaff" \accepts "PianoStaff" - \accepts "TabStaff" + \accepts "TabStaff" \accepts "Lyrics" \accepts "ChordNames" -} + \accepts "FiguredBass" + \accepts "ChoirStaff" + \accepts "StaffGroup" -\context { - \InnerStaffGroup - \name StaffGroup - \description "Groups staves while adding a bracket on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically. @code{StaffGroup} only consists of a collection of staves, with a bracket in front and spanning bar lines." - - \accepts "InnerChoirStaff" - \accepts "ChoirStaff" - \accepts "InnerStaffGroup" - \accepts "FiguredBass" +} + +\context { + \type "Engraver_group" + \name Dynamics + \alias Voice + \consists "Output_property_engraver" + \consists "Piano_pedal_engraver" + \consists "Script_engraver" + \consists "New_dynamic_engraver" + \consists "Dynamic_align_engraver" + \consists "Text_engraver" + \consists "Skip_event_swallow_translator" + \consists "Axis_group_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 TextScript #'font-shape = #'italic + + \description "Holds a single line of dynamics, which will be +centered between the staves surrounding this context." } @@ -356,11 +379,11 @@ a collection of staves, with a bracket in front and spanning bar lines." \description "Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics." - + \name "Lyrics" instrumentName = #'() shortInstrumentName = #'() - + \consists "Lyric_engraver" \consists "Extender_engraver" \consists "Hyphen_engraver" @@ -372,7 +395,9 @@ printing of a single line of lyrics." \override VerticalAxisGroup #'remove-first = ##t \override VerticalAxisGroup #'remove-empty = ##t - \override VerticalAxisGroup #'keep-fixed-while-stretching = ##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 . 2) (stretchability . 0.5) (padding . 0.2)) \override SeparationItem #'padding = #0.2 \override InstrumentName #'self-alignment-Y = ##f @@ -381,19 +406,22 @@ 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-size = #0.1 + } \context { \type "Engraver_group" \name NoteNames + \description "A context for printing the names of notes." \consists "Axis_group_engraver" \override VerticalAxisGroup #'minimum-Y-extent = ##f + % FIXME: not sure what the default should be here. + \override VerticalAxisGroup #'staff-affinity = #DOWN - - \consists "Rest_swallow_translator" + + \consists "Rest_swallow_translator" \consists "Skip_event_swallow_translator" \consists "Tie_engraver" \consists "Note_name_engraver" @@ -404,9 +432,9 @@ printing of a single line of lyrics." \type "Engraver_group" \name ChordNames \description "Typesets chord names." - - \consists "Rest_swallow_translator" - \consists "Output_property_engraver" + + \consists "Rest_swallow_translator" + \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" \consists "Skip_event_swallow_translator" @@ -415,6 +443,7 @@ printing of a single line of lyrics." \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2) \override VerticalAxisGroup #'remove-first = ##t \override VerticalAxisGroup #'remove-empty = ##t + \override VerticalAxisGroup #'staff-affinity = #DOWN } @@ -428,7 +457,7 @@ RemoveEmptyStaffContext= \context { AncientRemoveEmptyStaffContext = \context { %% why not add by default? - + \RemoveEmptyStaffContext \accepts "VaticanaVoice" \accepts "GregorianTranscriptionVoice" @@ -438,7 +467,7 @@ AncientRemoveEmptyStaffContext = \context { \context { \type "Score_engraver" \name "Score" - + \description "This is the top level notation context. No other context can contain a @code{Score} context. This context handles the administration of time signatures. It also makes sure @@ -463,7 +492,7 @@ automatically when an output definition (a @code{\score} or \consists "System_start_delimiter_engraver" \consists "Mark_engraver" \consists "Volta_engraver" - \consists "Metronome_mark_engraver" + \consists "Metronome_mark_engraver" \consists "Break_align_engraver" \consists "Spacing_engraver" \consists "Grace_spacing_engraver" @@ -471,7 +500,7 @@ automatically when an output definition (a @code{\score} or \consists "Stanza_number_align_engraver" \consists "Bar_number_engraver" \consists "Parenthesis_engraver" - + \defaultchild "Staff" \accepts "FretBoards" @@ -501,7 +530,7 @@ automatically when an output definition (a @code{\score} or systemStartDelimiter =#'SystemStartBar drumStyleTable = #drums-style - + melismaBusyProperties = #default-melisma-properties tieWaitForNote = ##f clefGlyph = #"clefs.G" @@ -512,17 +541,19 @@ automatically when an output definition (a @code{\score} or crescendoSpanner = #'hairpin decrescendoSpanner = #'hairpin - + defaultBarType = #"|" doubleRepeatType = #":|:" barNumberVisibility = #first-bar-number-invisible automaticBars = ##t - + explicitClefVisibility = #all-visible explicitKeySignatureVisibility = #all-visible implicitTimeSignatureVisibility = #end-of-line-invisible - - autoBeamSettings = #default-auto-beam-settings + + repeatCountVisibility = #all-repeat-counts-visible + + beamSettings = #default-beam-settings autoBeaming = ##t autoBeamCheck = #default-auto-beam-check scriptDefinitions = #default-script-alist @@ -533,25 +564,24 @@ automatically when an output definition (a @code{\score} or pedalUnaCordaStyle = #'text %% These are in ordinary italic font, including the *, -%% but they are unlikely to be used, +%% but they are unlikely to be used, %% as the default pedal-style for SostenutoPedal is 'mixed': -%% i.e. Sost. Ped_____________________ - pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") +%% i.e. Sost. Ped_____________________ + pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") pedalSostenutoStyle = #'mixed - harmonicAccidentals = ##t + harmonicAccidentals = ##t fingeringOrientations = #'(up down) stringNumberOrientations = #'(up down) strokeFingerOrientations = #'(right) - + lyricMelismaAlignment = #LEFT markFormatter = #format-mark-letters rehearsalMark = #1 subdivideBeams = ##f - allowBeamBreak = ##f extraNatural = ##t autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)) - autoCautionaries = #'() + autoCautionaries = #'() printKeyCancellation = ##t keyAlterationOrder = #`( @@ -562,7 +592,7 @@ automatically when an output definition (a @code{\score} or ) barCheckSynchronize = ##f - + %% chord names: chordNameFunction = #ignatzek-chord-names majorSevenSymbol = #whiteTriangleMarkup @@ -573,7 +603,7 @@ automatically when an output definition (a @code{\score} or chordPrefixSpacer = #0 chordNameExceptionsFull = #fullJazzExceptions chordNameExceptionsPartial = #partialJazzExceptions - + noChordSymbol = #(make-simple-markup "N.C.") bassStaffProperties = #'((assign clefGlyph "clefs.F") (assign clefPosition 2) @@ -598,6 +628,7 @@ automatically when an output definition (a @code{\score} or (Voice Stem direction ,UP) (Voice Stem 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) @@ -607,6 +638,8 @@ automatically when an output definition (a @code{\score} or (Voice AccidentalCautionary font-size -4) (Voice Slur direction ,DOWN) (Voice Script font-size -3) + (Voice Fingering font-size -8) + (Voice StringNumber font-size -8) ) keepAliveInterfaces = #'( @@ -615,7 +648,7 @@ automatically when an output definition (a @code{\score} or percent-repeat-item-interface percent-repeat-interface - ;; need this, as stanza numbers are items, and appear only once. + ;; need this, as stanza numbers are items, and appear only once. stanza-number-interface ) quotedEventTypes = #'( @@ -627,7 +660,8 @@ automatically when an output definition (a @code{\score} or instrumentTransposition = #(ly:make-pitch 0 0 0) verticallySpacedContexts = #'(Staff) - + topLevelAlignment = ##t + timing = ##t } @@ -637,6 +671,7 @@ automatically when an output definition (a @code{\score} or \context { \type "Engraver_group" \name "FiguredBass" + \description "A context for printing a figured bass line." \consists "Figured_bass_engraver" \consists "Note_swallow_translator" @@ -646,6 +681,7 @@ 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 #'minimum-Y-extent = #'(0 . 2) } @@ -653,7 +689,7 @@ automatically when an output definition (a @code{\score} or \name "Devnull" \type "Engraver_group" -%% don't want to route anything out of here: +%% don't want to route anything out of here: \alias "Staff" \alias "Voice" \consists "Swallow_engraver" @@ -667,7 +703,7 @@ context." \alias "Voice" \consists "Tab_note_heads_engraver" \consists "Tab_harmonic_engraver" - + \remove "Note_heads_engraver" \remove "Fingering_engraver" \remove "New_fingering_engraver" @@ -681,15 +717,40 @@ context." \override Beam #'length-fraction = #0.62 %% No accidental in tablature ! - \remove Accidental_engraver - - \override Glissando #'extra-dy = #0.75 + \remove "Accidental_engraver" + %% remove stems, beams, dots and rests ... + \override Stem #'stencil = ##f + \override Beam #'stencil = ##f + \override Dots #'stencil = ##f + \override Rest #'stencil = ##f + \override MultiMeasureRest #'stencil = ##f + %% ... all kinds of ties/slurs + \override Tie #'stencil = ##f + \override RepeatTie #'stencil = ##f + \override LaissezVibrerTie #'stencil = ##f + \override Slur #'stencil = ##f + \override PhrasingSlur #'stencil = ##f + %% 'tied to' fret numbers become invisible or parenthesized, respectively) + \override Tie #'after-line-breaking = #tie::handle-tab-tie + \override RepeatTie #'after-line-breaking = #repeat-tie::parenthesize-tab-note-head + %% ... and all kinds of markups, spanners etc. + \override TupletBracket #'stencil = ##f + \override TupletNumber #'stencil = ##f + \override DynamicText #'transparent = ##t + \override DynamicTextSpanner #'stencil = ##f + \override TextSpanner #'stencil = ##f + \override Hairpin #'transparent = ##t + \override Script #'stencil = ##f + \override TextScript #'stencil = ##f + %% 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)) - \override Glissando #'extra-dy = #0.75 - \override Glissando #'gap = #0.2 + %% dead notes + \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name + \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set } \context { @@ -698,22 +759,30 @@ context." \name "TabStaff" \denies "Voice" \consists "Tab_staff_symbol_engraver" - + \description "Context for generating tablature. [DOCME]" \accepts "TabVoice" \defaultchild "TabVoice" - + %% 6 strings \override StaffSymbol #'staff-space = #1.5 %% Don't draw stems over the tablature figures ! \override Stem #'avoid-note-head = ##t - + %% No accidental in tablature ! \remove "Accidental_engraver" \remove "Key_engraver" \remove "String_number_engraver" + %% the clef handler + \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 %% Special "TAB" clef clefGlyph = #"clefs.tab" clefPosition = #0 @@ -796,7 +865,7 @@ of Editio Vaticana." clefOctavation = #0 %% Select vaticana style font. - \override KeySignature #'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 @@ -808,7 +877,7 @@ of Editio Vaticana." \Voice \name "GregorianTranscriptionVoice" \alias "Voice" - + %% Removing ligature bracket engraver without replacing it by some %% other ligature engraver would cause a "Junking event: `LigatureEvent'" %% warning for every "\[" and "\]". Therefore, we make the grob @@ -862,7 +931,8 @@ accommodated for typesetting a piece in mensural style." \consists "Mensural_ligature_engraver" %% Set default head for notes outside of \[ \]. - \override NoteHead #'style = #'petrucci + \override NoteHead #'style = #'mensural + \override Rest #'style = #'mensural %% There are no beams in mensural notation. autoBeaming = ##f @@ -890,8 +960,8 @@ accommodated for typesetting a piece in mensural style." %% FIXME: unit on StaffSymbol's width should be \linewidth. %% \override StaffSymbol #'width = #60.0 - %% Choose petrucci g clef on 2nd line as default. - clefGlyph = #"clefs.petrucci.g" + %% Choose mensural g clef on 2nd line as default. + clefGlyph = #"clefs.mensural.g" middleCClefPosition = #-6 middleCPosition = #-6 clefPosition = #-2 @@ -899,7 +969,7 @@ accommodated for typesetting a piece in mensural style." %% Select mensural style font. \override TimeSignature #'style = #'mensural - \override KeySignature #'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 @@ -909,7 +979,7 @@ accommodated for typesetting a piece in mensural style." %% #(set-accidental-style 'forget)) extraNatural = ##f autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1)) - autoCautionaries = #'() + autoCautionaries = #'() printKeyCancellation = ##f }