X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fengraver-init.ly;h=325622a15c8a2b07e0d1fa84c707a3308c320809;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=5532b288ca5450668ff17aef114726f34c263680;hpb=67ed495d4f5e6a02224f87faf4c00979996675e0;p=lilypond.git diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 5532b288ca..325622a15c 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -16,7 +16,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.19.16" +\version "2.19.46" \context { \name "Global" @@ -35,7 +35,6 @@ \description "A context for displaying fret diagrams." \consists "Fretboard_engraver" - \consists "Output_property_engraver" \consists "Axis_group_engraver" \consists "Separating_line_group_engraver" \consists "Font_size_engraver" @@ -54,7 +53,6 @@ \type "Engraver_group" \name "Staff" - \consists "Output_property_engraver" \consists "Bar_engraver" \consists "Pure_from_neighbor_engraver" %% Bar_engraver must be first so default bars aren't overwritten @@ -65,7 +63,7 @@ \consists "Dot_column_engraver" \consists "Staff_collecting_engraver" - %% perhaps move to Voice context? + %% perhaps move to Voice context? \consists "Ottava_spanner_engraver" \consists "Clef_engraver" \consists "Key_engraver" @@ -97,9 +95,9 @@ shortInstrumentName = #'() \defaultchild "Voice" - \accepts "Voice" \accepts "CueVoice" \accepts "NullVoice" + \accepts "Voice" \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -134,6 +132,7 @@ \name "ChoirStaff" \consists "Vertical_align_engraver" topLevelAlignment = ##f + localAlterations = #'() \consists "Instrument_name_engraver" \consists "System_start_delimiter_engraver" @@ -144,15 +143,17 @@ vocalName = #'() shortVocalName = #'() - \accepts "Staff" + \accepts "ChoirStaff" + \accepts "ChordNames" \accepts "DrumStaff" - \accepts "RhythmicStaff" + \accepts "Dynamics" + \accepts "FiguredBass" \accepts "GrandStaff" - \accepts "PianoStaff" \accepts "Lyrics" - \accepts "ChordNames" - \accepts "FiguredBass" - \accepts "ChoirStaff" + \accepts "OneStaff" + \accepts "PianoStaff" + \accepts "RhythmicStaff" + \accepts "Staff" \accepts "StaffGroup" \defaultchild "Staff" \description "Identical to @code{StaffGroup} except that the @@ -166,7 +167,7 @@ contained staves are not connected vertically." createSpacing = ##t squashedPosition = #0 - \name RhythmicStaff + \name "RhythmicStaff" \alias "Staff" \override VoltaBracket.staff-padding = #3 @@ -175,7 +176,6 @@ contained staves are not connected vertically." \override Stem.neutral-direction = #UP \override Beam.neutral-direction = #UP - \consists "Output_property_engraver" \consists "Font_size_engraver" \consists "Separating_line_group_engraver" \consists "Dot_column_engraver" @@ -191,8 +191,9 @@ contained staves are not connected vertically." instrumentName = #'() shortInstrumentName = #'() - \accepts "Voice" \accepts "CueVoice" + \accepts "NullVoice" + \accepts "Voice" \defaultchild "Voice" \description "A context like @code{Staff} but for printing rhythms. @@ -215,7 +216,6 @@ multiple voices on the same staff." \consists "Font_size_engraver" \consists "Pitched_trill_engraver" - \consists "Output_property_engraver" \consists "Arpeggio_engraver" \consists "Multi_measure_rest_engraver" \consists "Text_spanner_engraver" @@ -273,9 +273,10 @@ multiple voices on the same staff." \context{ \Voice - \name CueVoice - \alias Voice + \name "CueVoice" + \alias "Voice" fontSize = #-4 + \override NoteHead.ignore-ambitus = ##t \override Stem.length-fraction = #(magstep -4) \override Beam.length-fraction = #(magstep -4) \override Beam.beam-thickness = #0.35 @@ -283,8 +284,8 @@ multiple voices on the same staff." \context { \Voice - \name DrumVoice - \alias Voice + \name "DrumVoice" + \alias "Voice" \description "A voice on a percussion staff." \remove "Arpeggio_engraver" @@ -304,7 +305,7 @@ multiple voices on the same staff." \context{ \type "Engraver_group" - \name GrandStaff + \name "GrandStaff" localAlterations = #'() \description "A group of staves, with a brace on the left @@ -313,8 +314,8 @@ 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: + %% 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" @@ -327,14 +328,14 @@ contained staves are connected vertically." shortInstrumentName = #'() \defaultchild "Staff" - \accepts "Staff" - \accepts "RhythmicStaff" + \accepts "ChordNames" \accepts "DrumStaff" - \accepts "TabStaff" - \accepts "Lyrics" - \accepts "FiguredBass" \accepts "Dynamics" - \accepts "ChordNames" + \accepts "FiguredBass" + \accepts "Lyrics" + \accepts "RhythmicStaff" + \accepts "Staff" + \accepts "TabStaff" } \context{ @@ -362,12 +363,11 @@ 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: + %% 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" systemStartDelimiter = #'SystemStartBracket %% explicitly set instrument, so it is not inherited from the parent instrumentName = #'() @@ -376,17 +376,19 @@ together, never separately." \consists "System_start_delimiter_engraver" \defaultchild "Staff" - \accepts "Staff" - \accepts "RhythmicStaff" + \accepts "ChoirStaff" + \accepts "ChordNames" \accepts "DrumStaff" + \accepts "FiguredBass" + \accepts "FretBoards" \accepts "GrandStaff" - \accepts "PianoStaff" - \accepts "TabStaff" \accepts "Lyrics" - \accepts "ChordNames" - \accepts "FiguredBass" - \accepts "ChoirStaff" + \accepts "OneStaff" + \accepts "PianoStaff" + \accepts "RhythmicStaff" + \accepts "Staff" \accepts "StaffGroup" + \accepts "TabStaff" \description "Groups staves while adding a bracket on the left side, grouping the staves together. The bar lines of the contained @@ -396,9 +398,37 @@ 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" + \name "OneStaff" + \accepts "ChordNames" + \accepts "DrumStaff" + \accepts "Dynamics" + \accepts "FiguredBass" + \accepts "FretBoards" + \accepts "GregorianTranscriptionStaff" + \accepts "KievanStaff" + \accepts "Lyrics" + \accepts "MensuralStaff" + \accepts "NoteNames" + \accepts "PetrucciStaff" + \accepts "RhythmicStaff" + \accepts "Staff" + \accepts "TabStaff" + \accepts "VaticanaStaff" + \defaultchild "Staff" + \consists "Axis_group_engraver" + + \description "Provides a common axis for the contained staves, +making all of them appear in the same vertical space. This can be +useful for typesetting staves of different types in immediate succession +or for temporarily changing the character of one staff or overlaying +it with a different one. Often used with @code{\\stopStaff} and +@code{\\startStaff} for best results." +} + +\context { + \type "Engraver_group" + \name "Dynamics" + \alias "Voice" \consists "Bar_engraver" \consists "Piano_pedal_engraver" \consists "Script_engraver" @@ -472,7 +502,7 @@ printing of a single line of lyrics." \context { \type "Engraver_group" - \name NoteNames + \name "NoteNames" \description "A context for printing the names of notes." \consists "Axis_group_engraver" @@ -495,20 +525,22 @@ printing of a single line of lyrics." \context { \type "Engraver_group" - \name ChordNames + \name "ChordNames" + \alias Staff % Catch Staff-level overrides like + % \key, \transposition \description "Typesets chord names." - \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" \consists "Axis_group_engraver" -% \consists "Note_spacing_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 ParenthesesItem.font-size = #1.5 } \context { @@ -539,7 +571,7 @@ automatically when an output definition (a @code{\\score} or %% Timing variables in layout definitions before any %% Timing_translator has been run. - % timing translator must come BEFORE bar number engraver + %% timing translator must come BEFORE bar number engraver \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Output_property_engraver" @@ -561,26 +593,27 @@ automatically when an output definition (a @code{\\score} or \defaultchild "Staff" + \accepts "ChoirStaff" + \accepts "ChordNames" + \accepts "Devnull" + \accepts "DrumStaff" + \accepts "Dynamics" + \accepts "FiguredBass" \accepts "FretBoards" - \accepts "Staff" - \accepts "RhythmicStaff" - \accepts "TabStaff" - \accepts "VaticanaStaff" + \accepts "GrandStaff" \accepts "GregorianTranscriptionStaff" - \accepts "MensuralStaff" - \accepts "PetrucciStaff" - \accepts "StaffGroup" - \accepts "DrumStaff" \accepts "KievanStaff" \accepts "Lyrics" - \accepts "ChordNames" - \accepts "GrandStaff" - \accepts "ChoirStaff" - \accepts "PianoStaff" - \accepts "Devnull" - \accepts "NullVoice" + \accepts "MensuralStaff" \accepts "NoteNames" - \accepts "FiguredBass" + \accepts "OneStaff" + \accepts "PetrucciStaff" + \accepts "PianoStaff" + \accepts "RhythmicStaff" + \accepts "Staff" + \accepts "StaffGroup" + \accepts "TabStaff" + \accepts "VaticanaStaff" noteToFretFunction = #determine-frets predefinedDiagramTable = ##f @@ -623,9 +656,9 @@ automatically when an output definition (a @code{\\score} or 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 + %% 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 @@ -644,10 +677,10 @@ automatically when an output definition (a @code{\\score} or pedalUnaCordaStrings = #'("una corda" "" "tre corde") pedalUnaCordaStyle = #'text -%% These are in ordinary italic font, including the *, -%% but they are unlikely to be used, -%% as the default pedal-style for SostenutoPedal is 'mixed': -%% i.e. Sost. Ped_____________________ + %% These are in ordinary italic font, including the *, + %% 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." "*") pedalSostenutoStyle = #'mixed @@ -656,6 +689,7 @@ automatically when an output definition (a @code{\\score} or stringNumberOrientations = #'(up down) strokeFingerOrientations = #'(right) + extendersOverRests = ##t lyricMelismaAlignment = #LEFT markFormatter = #format-mark-letters rehearsalMark = #1 @@ -674,7 +708,7 @@ automatically when an output definition (a @code{\\score} or barCheckSynchronize = ##f -%% chord names: + %% chord names: chordNameFunction = #ignatzek-chord-names minorChordModifier = #(make-simple-markup "m") additionalPitchPrefix = #"" % was "add" @@ -690,16 +724,12 @@ automatically when an output definition (a @code{\\score} or chordNameExceptionsPartial = #partialJazzExceptions noChordSymbol = #(make-simple-markup "N.C.") - bassStaffProperties = #'((assign clefGlyph "clefs.F") - (assign clefPosition 2) - (assign middleCPosition 6) - (assign middleCClefPosition 6)) -%% tablature: + %% tablature: stringOneTopmost = ##t highStringOne = ##t -%% One may change the string tunings as follows : -%% The length of the list must be equal to the number of strings + %% One may change the string tunings as follows : + %% The length of the list must be equal to the number of strings stringTunings = #guitar-tuning tablatureFormat = #fret-number-tablature-format tabStaffLineLayoutFunction = #tablature-position-on-lines @@ -726,7 +756,7 @@ automatically when an output definition (a @code{\\score} or ;; need this, as stanza numbers are items, and appear only once. stanza-number-interface ) - % \quoteDuring is supposed to quote everything, cueDuring only the essentials + %% \quoteDuring is supposed to quote everything, cueDuring only the essentials quotedEventTypes = #'(StreamEvent) quotedCueEventTypes = #'( note-event @@ -764,7 +794,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" \description "Silently discards all musical information given to this @@ -780,20 +810,24 @@ context." \alias "Staff" \alias "Voice" - % provide non-printing NoteHeads with proper extents for lyric alignment + %% 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 + %% 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 + %% generate no ledger lines, needed for staves with custom + %% line positions and ledger lines that appear inside the staff + \override NoteHead.no-ledgers = ##t + + %% the engravers that control the 'busy' flags for note-onsets and melismata \consists "Grob_pq_engraver" \consists "Tie_engraver" \omit Tie @@ -1014,7 +1048,6 @@ of Editio Vaticana." %% There are no beams in Gregorian Chant notation. autoBeaming = ##f - } \context { @@ -1084,6 +1117,7 @@ accommodated for typesetting a piece in mensural style." \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 AccidentalSuggestion.glyph-name-alist = #alteration-mensural-glyph-name-alist \override Custos.style = #'mensural \override Custos.neutral-position = #3 \override Custos.neutral-direction = #DOWN @@ -1110,7 +1144,7 @@ accommodated for typesetting a piece in Petrucci style." \override NoteHead.style = #'petrucci \override Rest.style = #'mensural - % Thickens and shortens stems. + %% Thickens and shortens stems. \override Stem.thickness = #1.7 \override Stem.length = #5 @@ -1152,58 +1186,58 @@ accommodated for typesetting a piece in Petrucci style." } \context { - \Voice - \name "KievanVoice" - \alias "Voice" - \description "Same as @code{Voice} context, except that it is + \Voice + \name "KievanVoice" + \alias "Voice" + \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 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 + %% Set glyph styles. + \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 } \context { - \Staff - \name "KievanStaff" - \alias "Staff" - \denies "Voice" - \defaultchild "KievanVoice" - \accepts "KievanVoice" - \description "Same as @code{Staff} context, except that it is + \Staff + \name "KievanStaff" + \alias "Staff" + \denies "Voice" + \defaultchild "KievanVoice" + \accepts "KievanVoice" + \description "Same as @code{Staff} context, except that it is accommodated for typesetting a piece in Kievan style." - \remove "Time_signature_engraver" - - %% Choose Kievan tsefaut clef - clefGlyph = #"clefs.kievan.do" - middleCClefPosition = #0 - middleCPosition = #0 - clefPosition = #0 - clefTransposition = #0 - - %% Accidentals are valid only once (if the following note is different) - extraNatural = ##f - autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0) - ,neo-modern-accidental-rule) - autoCautionaries = #'() - printKeyCancellation = ##f + \remove "Time_signature_engraver" + + %% Choose Kievan tsefaut clef + clefGlyph = #"clefs.kievan.do" + middleCClefPosition = #0 + middleCPosition = #0 + clefPosition = #0 + clefTransposition = #0 + + %% Accidentals are valid only once (if the following note is different) + extraNatural = ##f + autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0) + ,neo-modern-accidental-rule) + autoCautionaries = #'() + printKeyCancellation = ##f }