X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=ly%2Fengraver-init.ly;h=6088acf9cb71e1367c5e60c02c079f67d0cba31a;hb=26c7f6c6559db7225b1a122ecdae08f6fc710751;hp=ba7b18b218946e30284c14a30b8b91dd55f72ce7;hpb=c96dc4cfcb9ca9be790b4cca05f70538bbab9b05;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index ba7b18b218..6088acf9cb 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -10,15 +10,14 @@ \grobdescriptions #all-grob-descriptions } - \context { \type "Engraver_group" \name "FretBoards" - + \description "A context for displaying fret diagrams." \consists "Fretboard_engraver" - \consists "Rest_swallow_translator" - \consists "Output_property_engraver" + \consists "Rest_swallow_translator" + \consists "Output_property_engraver" \consists "Skip_event_swallow_translator" \consists "Hara_kiri_engraver" \consists "Separating_line_group_engraver" @@ -31,14 +30,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" @@ -47,7 +46,7 @@ \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" @@ -64,20 +63,19 @@ localKeySignature = #'() createSpacing = ##t - ignoreFiguredBassRest = ##t - \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4) - - %% explicitly set instrument, so we don't get + ignoreFiguredBassRest = ##t + + %% 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." @@ -88,13 +86,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" @@ -103,13 +101,16 @@ clefGlyph = #"clefs.percussion" clefPosition = #0 - \override Script #'staff-padding = #0.75 + \override Script #'staff-padding = #0.75 } \context { \type "Engraver_group" \name "ChoirStaff" + \consists "Vertical_align_engraver" + topLevelAlignment = ##f + \consists "System_start_delimiter_engraver" systemStartDelimiter = #'SystemStartBracket vocalName = #'() @@ -131,25 +132,24 @@ contained staves are not connected vertically." \context{ \type "Engraver_group" - - \override VerticalAxisGroup #'minimum-Y-extent = ##f + localKeySignature = #'() createSpacing = ##t 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" @@ -157,8 +157,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" @@ -183,7 +183,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" @@ -200,7 +200,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" @@ -212,7 +212,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" @@ -242,7 +242,7 @@ multiple voices on the same staff." \context{ \Voice - + \name CueVoice \alias Voice fontSize = #-4 @@ -278,7 +278,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." @@ -291,6 +291,7 @@ contained staves are connected vertically." \defaultchild "Staff" \accepts "Staff" \accepts "FiguredBass" + \accepts "Dynamics" } \context{ @@ -302,6 +303,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 = #'() @@ -311,9 +316,12 @@ instrument names at the start of each system." \type "Engraver_group" \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" @@ -324,30 +332,53 @@ 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" - + \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." } +\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." +} + + \context{ \type "Engraver_group" - \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 2.0) \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" @@ -359,7 +390,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 @@ -368,19 +401,21 @@ 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" @@ -391,17 +426,19 @@ 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" \consists "Hara_kiri_engraver" % \consists "Note_spacing_engraver" - \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2) \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 } @@ -415,7 +452,7 @@ RemoveEmptyStaffContext= \context { AncientRemoveEmptyStaffContext = \context { %% why not add by default? - + \RemoveEmptyStaffContext \accepts "VaticanaVoice" \accepts "GregorianTranscriptionVoice" @@ -425,7 +462,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 @@ -450,7 +487,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" @@ -458,7 +495,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" @@ -488,7 +525,7 @@ automatically when an output definition (a @code{\score} or systemStartDelimiter =#'SystemStartBar drumStyleTable = #drums-style - + melismaBusyProperties = #default-melisma-properties tieWaitForNote = ##f clefGlyph = #"clefs.G" @@ -499,19 +536,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 - + repeatCountVisibility = #all-repeat-counts-visible - - autoBeamSettings = #default-auto-beam-settings + + beamSettings = #default-beam-settings autoBeaming = ##t autoBeamCheck = #default-auto-beam-check scriptDefinitions = #default-script-alist @@ -522,24 +559,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 extraNatural = ##t autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)) - autoCautionaries = #'() + autoCautionaries = #'() printKeyCancellation = ##t keyAlterationOrder = #`( @@ -550,7 +587,7 @@ automatically when an output definition (a @code{\score} or ) barCheckSynchronize = ##f - + %% chord names: chordNameFunction = #ignatzek-chord-names majorSevenSymbol = #whiteTriangleMarkup @@ -586,6 +623,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) @@ -605,7 +643,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 = #'( @@ -617,7 +655,8 @@ automatically when an output definition (a @code{\score} or instrumentTransposition = #(ly:make-pitch 0 0 0) verticallySpacedContexts = #'(Staff) - + topLevelAlignment = ##t + timing = ##t } @@ -627,6 +666,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" @@ -636,14 +676,16 @@ automatically when an output definition (a @code{\score} or \override VerticalAxisGroup #'remove-empty = ##t \override VerticalAxisGroup #'remove-first = ##t - \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2) + \override VerticalAxisGroup #'staff-affinity = #UP + \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5 + \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5 } \context { \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" @@ -657,7 +699,7 @@ context." \alias "Voice" \consists "Tab_note_heads_engraver" \consists "Tab_harmonic_engraver" - + \remove "Note_heads_engraver" \remove "Fingering_engraver" \remove "New_fingering_engraver" @@ -672,12 +714,39 @@ context." %% No accidental in tablature ! \remove "Accidental_engraver" - - \override Glissando #'extra-dy = #0.75 + %% 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)) + %% dead notes + \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name + \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set } \context { @@ -686,22 +755,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