9 \description "Hard coded entry point for LilyPond. Cannot be tuned."
10 \grobdescriptions #all-grob-descriptions
14 \type "Engraver_group"
17 \consists "Output_property_engraver"
18 \consists "Bar_engraver"
19 %% Bar_engraver must be first so default bars aren't overwritten
22 \consists "Font_size_engraver"
23 \consists "Volta_engraver"
24 \consists "Separating_line_group_engraver"
25 \consists "Dot_column_engraver"
27 %% perhaps move to Voice context?
28 \consists "Ottava_spanner_engraver"
29 \consists "Clef_engraver"
30 \consists "Key_engraver"
31 \consists "Time_signature_engraver"
32 \consists "Ledger_line_engraver"
33 \consists "Staff_symbol_engraver"
34 \consists "Collision_engraver"
35 \consists "Rest_collision_engraver"
36 \consists "Accidental_engraver"
37 \consists "Piano_pedal_engraver"
38 \consists "Instrument_name_engraver"
39 \consists "String_number_engraver"
40 \consists "Axis_group_engraver"
42 \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
43 extraVerticalExtent = ##f
45 localKeySignature = #'()
48 %% explicitly set instrument, so we don't get
49 %% weird effects when doing instrument names for
59 \description "Handles clefs, bar lines, keys, accidentals. It can contain
60 @code{Voice} contexts."
66 \type "Engraver_group"
69 \remove "Accidental_engraver"
70 \remove "Ottava_spanner_engraver"
71 \remove "Key_engraver"
72 \remove "Piano_pedal_engraver"
73 \remove "String_number_engraver"
75 \description "Handles typesetting for percussion."
79 \defaultchild DrumVoice
81 clefGlyph = #"clefs.percussion"
83 \override Script #'staff-padding = #0.75
88 \type "Engraver_group"
90 \consists "System_start_delimiter_engraver"
91 systemStartDelimiter = #'SystemStartBracket
95 \accepts "RhythmicStaff"
100 \defaultchild "Staff"
107 \defaultchild "Staff"
108 \accepts "InnerChoirStaff"
109 \accepts "InnerStaffGroup"
110 \description "Identical to @code{StaffGroup} except that the
111 contained staves are not connected vertically."
117 \type "Engraver_group"
119 \override VerticalAxisGroup #'minimum-Y-extent = ##f
120 extraVerticalExtent = ##f
122 localKeySignature = #'()
125 squashedPosition = #0
129 \override BarLine #'bar-size = #4
130 \override VoltaBracket #'staff-padding = #3
131 \override StaffSymbol #'line-count = #1
133 \override Stem #'neutral-direction = #UP
134 \override Beam #'neutral-direction = #UP
136 \consists "Output_property_engraver"
137 \consists "Font_size_engraver"
138 \consists "Volta_engraver"
139 \consists "Separating_line_group_engraver"
140 \consists "Dot_column_engraver"
141 \consists "Bar_engraver"
142 \consists "Ledger_line_engraver"
143 \consists "Staff_symbol_engraver"
144 \consists "Pitch_squash_engraver"
145 \consists "Time_signature_engraver"
146 \consists "Instrument_name_engraver"
147 \consists "Axis_group_engraver"
151 \defaultchild "Voice"
154 A context like @code{Staff} but for printing rhythms. Pitches are
155 ignored; the notes are printed on one line.
161 \type "Engraver_group"
165 Corresponds to a voice on a staff. This context handles the
166 conversion of dynamic signs, stems, beams, super- and subscripts,
167 slurs, ties, and rests.
169 You have to instantiate this explicitly if you want to have
170 multiple voices on the same staff."
172 localKeySignature = #'()
173 \consists "Font_size_engraver"
175 \consists "Pitched_trill_engraver"
176 \consists "Output_property_engraver"
177 \consists "Arpeggio_engraver"
178 \consists "Multi_measure_rest_engraver"
179 \consists "Text_spanner_engraver"
180 \consists "Trill_spanner_engraver"
181 \consists "Grob_pq_engraver"
182 \consists "Forbid_line_break_engraver"
183 \consists "Laissez_vibrer_engraver"
184 \consists "Note_head_line_engraver"
185 \consists "Glissando_engraver"
186 \consists "Ligature_bracket_engraver"
187 \consists "Breathing_sign_engraver"
188 %% \consists "Rest_engraver"
189 \consists "Note_heads_engraver"
190 \consists "Rest_engraver"
192 \consists "Stem_engraver"
193 \consists "Beam_engraver"
194 \consists "Grace_beam_engraver"
195 \consists "Auto_beam_engraver"
196 \consists "New_fingering_engraver"
197 \consists "Chord_tremolo_engraver"
198 \consists "Percent_repeat_engraver"
199 \consists "Slash_repeat_engraver"
200 \consists "Melisma_translator"
201 \consists "Part_combine_engraver"
203 \consists "Text_engraver"
204 \consists "Dynamic_engraver"
205 \consists "Fingering_engraver"
207 \consists "Script_engraver"
208 \consists "Script_column_engraver"
209 \consists "Rhythmic_column_engraver"
210 \consists "Phrasing_slur_engraver"
211 \consists "Cluster_spanner_engraver"
212 \consists "Slur_engraver"
213 \consists "Tie_engraver"
214 \consists "Tuplet_engraver"
215 \consists "Grace_engraver"
217 \consists "Skip_event_swallow_translator"
226 \override Stem #'length-fraction = #(magstep -4)
227 \override Beam #'length-fraction = #(magstep -4)
235 \description "A voice on a percussion staff."
236 \remove "Arpeggio_engraver"
237 \consists "Multi_measure_rest_engraver"
238 \consists "Text_spanner_engraver"
239 \consists "Grob_pq_engraver"
241 \remove "Note_head_line_engraver"
242 \remove "Glissando_engraver"
243 \remove "Ligature_bracket_engraver"
244 \remove "Note_heads_engraver"
245 \consists "Drum_notes_engraver"
246 \remove "New_fingering_engraver"
248 \remove "Fingering_engraver"
250 \remove "Cluster_spanner_engraver"
251 \consists "Tuplet_engraver"
253 \consists "Skip_event_swallow_translator"
257 \type "Engraver_group"
259 localKeySignature = #'()
261 \description " A group of staffs, with a brace on the left
262 side, grouping the staves together. The bar lines of the
263 contained staves are connected vertically. "
265 \consists "Span_bar_engraver"
266 \consists "Span_arpeggio_engraver"
267 \consists "System_start_delimiter_engraver"
268 systemStartDelimiter = #'SystemStartBrace
279 "Just like @code{GrandStaff} but with a forced distance between
280 the staves, so cross staff beaming and slurring can be used."
282 \override VerticalAlignment #'forced-distance = #12
283 \override VerticalAlignment #'self-alignment-Y = #0
285 \consists "Vertical_align_engraver"
286 \consists "Instrument_name_engraver"
293 \type "Engraver_group"
294 \name InnerStaffGroup
296 \consists "Span_bar_engraver"
297 \consists "Span_arpeggio_engraver"
298 \consists "Output_property_engraver"
299 systemStartDelimiter = #'SystemStartBracket
301 \consists "System_start_delimiter_engraver"
303 \defaultchild "Staff"
305 \accepts "RhythmicStaff"
307 \accepts "GrandStaff"
308 \accepts "PianoStaff"
311 \accepts "ChordNames"
320 "Groups staffs while adding a bracket on the left side, grouping
321 the staves together. The bar lines of the contained staves are
322 connected vertically. "
324 \accepts "InnerChoirStaff"
325 \accepts "ChoirStaff"
326 \accepts "InnerStaffGroup"
327 \accepts "FiguredBass"
332 \type "Engraver_group"
333 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 2.4)
334 extraVerticalExtent = ##f
337 \description " Corresponds to a voice with lyrics. Handles the
338 printing of a single line of lyrics. "
341 \consists "Separating_line_group_engraver"
342 \consists "Lyric_engraver"
343 \consists "Extender_engraver"
344 \consists "Hyphen_engraver"
345 \consists "Stanza_number_engraver"
346 \consists "Vocal_name_engraver"
347 \consists "Skip_event_swallow_translator"
348 \consists "Font_size_engraver"
349 \consists "Hara_kiri_engraver"
350 \override VerticalAxisGroup #'remove-first = ##t
351 \override VerticalAxisGroup #'remove-empty = ##t
352 \override SeparationItem #'padding = #0.2
355 %% make sure that barlines aren't collapsed, when
356 %% Bar_engraver is there.
357 \override BarLine #'bar-size = #0.1
362 \type "Engraver_group"
364 \consists "Axis_group_engraver"
366 \override VerticalAxisGroup #'minimum-Y-extent = ##f
367 extraVerticalExtent = ##f
371 \consists "Rest_swallow_translator"
372 \consists "Skip_event_swallow_translator"
373 \consists "Tie_engraver"
374 \consists "Note_name_engraver"
375 \consists "Separating_line_group_engraver"
379 \type "Engraver_group"
381 \description "Typesets chord names."
383 \consists "Volta_engraver"
385 \consists "Rest_swallow_translator"
386 \consists "Output_property_engraver"
387 \consists "Separating_line_group_engraver"
388 \consists "Chord_name_engraver"
389 \consists "Skip_event_swallow_translator"
390 \consists "Hara_kiri_engraver"
392 voltaOnThisStaff = ##f
393 \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2.5)
394 extraVerticalExtent = ##f
395 \override SeparatingGroupSpanner #'padding = #0.8
396 \override VerticalAxisGroup #'remove-first = ##t
397 \override VerticalAxisGroup #'remove-empty = ##t
402 RemoveEmptyStaffContext= \context {
404 \remove "Axis_group_engraver"
405 \consists "Hara_kiri_engraver"
406 \override Beam #'auto-knee-gap = #'()
407 \override VerticalAxisGroup #'remove-empty = ##t
410 AncientRemoveEmptyStaffContext = \context {
411 %% why not add by default?
413 \RemoveEmptyStaffContext
414 \accepts "VaticanaVoice"
415 \accepts "GregorianTranscriptionVoice"
416 \accepts "MensuralVoice"
423 \description "This is the top level notation context. No
424 other context can contain a @code{Score} context. This context
425 handles the administration of time signatures. It also makes sure
426 that items such as clefs, time signatures, and key-signatures are
427 aligned across staves.
429 You cannot explicitly instantiate a Score context (since it is
430 not contained in any other context). It is instantiated
431 automatically when an output definition (a @code{\score} or
432 @code{\layout} block) is processed."
435 \consists "Paper_column_engraver"
436 \consists "Vertically_spaced_contexts_engraver"
437 \consists "Repeat_acknowledge_engraver"
438 \consists "Staff_collecting_engraver"
440 %% move the alias along with the engraver.
442 \consists "Timing_translator"
443 \consists "Default_bar_line_engraver"
444 \consists "Output_property_engraver"
445 \consists "System_start_delimiter_engraver"
446 \consists "Mark_engraver"
447 \consists "Metronome_mark_engraver"
448 \consists "Break_align_engraver"
449 \consists "Spacing_engraver"
450 \consists "Vertical_align_engraver"
451 \consists "Stanza_number_align_engraver"
452 \consists "Bar_number_engraver"
453 \consists "Span_arpeggio_engraver"
455 \defaultchild "Staff"
457 \accepts "RhythmicStaff"
459 \accepts "VaticanaStaff"
460 \accepts "GregorianTranscriptionStaff"
461 \accepts "MensuralStaff"
462 \accepts "StaffGroup"
465 \accepts "ChordNames"
466 \accepts "GrandStaff"
467 \accepts "ChoirStaff"
468 \accepts "PianoStaff"
471 \accepts "FiguredBass"
474 soloIIText = #"Solo II"
476 printPartCombineTexts = ##t
477 systemStartDelimiter =#'SystemStartBar
479 drumStyleTable = #drums-style
481 melismaBusyProperties = #default-melisma-properties
483 clefGlyph = #"clefs.G"
485 middleCPosition = #-6
488 defaultBarType = #"|"
489 barNumberVisibility = #first-bar-number-invisible
492 explicitClefVisibility = #all-visible
493 explicitKeySignatureVisibility = #all-visible
494 autoBeamSettings = #default-auto-beam-settings
496 autoBeamCheck = #default-auto-beam-check
497 scriptDefinitions = #default-script-alist
499 pedalSustainStrings = #'("Ped." "*Ped." "*")
500 pedalSustainStyle = #'text
501 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
502 pedalUnaCordaStyle = #'text
504 %% These are in ordinary italic font, including the *,
505 %% but they are unlikely to be used,
506 %% as the default pedal-style for SostenutoPedal is 'mixed':
507 %% i.e. Sost. Ped_____________________
508 pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
509 pedalSostenutoStyle = #'mixed
512 harmonicAccidentals = ##t
513 fingeringOrientations = #'(up down)
514 stringNumberOrientations = #'(up down)
515 tupletNumberFormatFunction = #denominator-tuplet-formatter
516 markFormatter = #format-mark-letters
521 autoAccidentals = #'(Staff (same-octave . 0))
522 autoCautionaries = #'()
524 printKeyCancellation = ##t
525 keyAlterationOrder = #`(
526 (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
527 (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
528 (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
529 (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
532 barCheckSynchronize = ##f
535 chordNameFunction = #ignatzek-chord-names
536 majorSevenSymbol = #whiteTriangleMarkup
537 chordNameSeparator = #(make-simple-markup "/")
538 chordNameExceptions = #ignatzekExceptions
539 chordNoteNamer = #'()
540 chordRootNamer = #note-name->markup
541 chordPrefixSpacer = #0
542 chordNameExceptionsFull = #fullJazzExceptions
543 chordNameExceptionsPartial = #partialJazzExceptions
546 bassStaffProperties = #'((assign clefGlyph "clefs.F")
547 (assign clefPosition 2)
548 (assign middleCPosition 6))
550 stringOneTopmost = ##t
553 %% One may change the strings tuning as following :
554 %% The lenght of the list must be equal to the number of string
555 stringTunings = #guitar-tuning
556 tablatureFormat = #fret-number-tablature-format
559 figuredBassFormatter = #format-bass-figure
560 metronomeMarkFormatter = #format-metronome-markup
562 (Voice Stem direction 1)
563 (Voice Stem font-size -3)
564 (Voice NoteHead font-size -3)
565 (Voice Dots font-size -3)
566 (Voice Stem length-fraction 0.8)
567 (Voice Stem no-stem-extend #t)
568 (Voice Beam thickness 0.384)
569 (Voice Beam length-fraction 0.8)
570 (Voice Accidental font-size -4)
571 (Voice Slur direction -1)
574 keepAliveInterfaces = #'(rhythmic-grob-interface lyric-interface percent-repeat-interface)
575 quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event)
576 instrumentTransposition = #(ly:make-pitch 0 0 0)
578 verticallySpacedContexts = #'(Staff)
587 \type "Engraver_group"
590 \consists "Figured_bass_engraver"
591 \consists "Note_swallow_translator"
592 \consists "Skip_event_swallow_translator"
593 \consists "Separating_line_group_engraver"
594 \consists "Hara_kiri_engraver"
596 \override VerticalAxisGroup #'remove-empty = ##t
597 \override VerticalAxisGroup #'remove-first = ##t
598 \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
603 \type "Engraver_group"
605 %% don't want to route anything out of here:
608 \consists "Swallow_engraver"
609 \description "Silently discards all musical information given to this context. "
616 \consists "Tab_note_heads_engraver"
617 \remove "Note_heads_engraver"
618 \remove "Fingering_engraver"
619 \remove "New_fingering_engraver"
621 \description "Context for drawing notes in a Tab staff. "
623 %% Draws all stems/beams out of the staff (and not in the middle of the staff !)
624 %% This feature is now disabled because most of the tab does not use it.
625 %%\override Beam #'damping = #100000
626 %%\override Stem #'up-to-staff = ##t
628 %% TabStaff increase the staff-space, which in turn
629 %% increases beam thickness and spacing; beams are
630 %% too big. We have to adjust the beam settings:
631 \override Beam #'thickness = #0.32
632 \override Beam #'length-fraction = #0.62
634 %% No accidental in tablature !
635 \remove Accidental_engraver
643 \remove "Staff_symbol_engraver"
644 \consists "Tab_staff_symbol_engraver"
646 \description "Context for generating tablature. [DOCME]"
649 \defaultchild "TabVoice"
652 \override StaffSymbol #'staff-space = #1.5
654 %% Don't draw stems over the tablature figures !
655 \override Stem #'avoid-note-head = ##t
657 %% No accidental in tablature !
658 \remove "Accidental_engraver"
659 \remove "Key_engraver"
660 \remove "String_number_engraver"
661 %% Special "TAB" clef
662 clefGlyph = #"clefs.tab"
666 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
667 %% but this does not work (is this a bug or intended behaviour?):
669 %% If I try to do so, I get "error: unknown escaped string:
670 %% `\VaticanaStaff'" in params-init.ly. If I also move
671 %% "\context { \Vaticana*Context }" from params-init.ly to the end
672 %% of gregorian-init.ly, then I get "error: parse error, unexpected
673 %% TRANSLATOR: \context { \VaticanaStaff }" in
674 %% gregorian-init.ly. --jr
678 \name "VaticanaVoice"
680 \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
682 \remove "Slur_engraver"
683 \remove "Stem_engraver"
684 \remove "Ligature_bracket_engraver"
685 \consists "Vaticana_ligature_engraver"
687 %% Set default head for notes outside of \[ \].
688 \override NoteHead #'style = #'vaticana.punctum
690 %% Put some space before and after divisiones.
691 %% FIXME: This does not seem to show any effect.
692 \override Script #'padding = #0.5
694 %% There are no beams in Gregorian Chant notation.
697 %% Prepare TextSpanner for \episem{Initium|Finis} use.
699 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
700 %% always produce dashed lines, regardless of the style property.
702 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
703 %% required to force the articulation signs being placed vertically
704 %% tightly to the correpsonding note heads.
706 \override TextSpanner #'dash-fraction = #'()
707 \override TextSpanner #'style = #'line
708 \override TextSpanner #'edge-height = #'(0 . 0)
709 \override TextSpanner #'padding = #-0.1
710 \override TextSpanner #'enclose-bounds = #1
711 \override TextSpanner #'edge-text = #'("" . "")
714 %% FIXME: need something like
715 %% \remove "Bar_number_engraver" (which lives on score level)
716 %% for vaticana and gregorian transcription staves
720 \name "VaticanaStaff"
723 \accepts "VaticanaVoice"
724 \defaultchild "VaticanaVoice"
726 \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
728 \remove "Time_signature_engraver"
729 \consists "Custos_engraver"
731 %% We can not remove Bar_engraver; otherwise clefs and custodes will
732 %% not show up any more among other line breaking issues.
733 %% Instead, we make the grob transparent.
734 \override BarLine #'transparent = ##t
736 \override StaffSymbol #'line-count = #4
737 \override StaffSymbol #'thickness = #0.6
739 %% FIXME: unit on StaffSymbol's width should be \linewidth.
740 %% \override StaffSymbol #'width = #60.0
742 %% Choose vaticana do clef on 3rd line as default.
743 clefGlyph = #"clefs.vaticana.do"
748 %% Select vaticana style font.
749 \override KeySignature #'style = #'vaticana
750 \override Accidental #'style = #'vaticana
751 \override Custos #'style = #'vaticana
752 \override Custos #'neutral-position = #3
753 \override Custos #'neutral-direction = #DOWN
755 %% Score.timing = ##f
756 %% Score.barAlways = ##t
761 \name "GregorianTranscriptionVoice"
764 %% Removing ligature bracket engraver without replacing it by some
765 %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
766 %% warning for every "\[" and "\]". Therefore, we make the grob
767 %% transparent instead.
768 \override LigatureBracket #'transparent = ##t
770 %% Put some space before and after divisiones.
771 %% FIXME: This does not seem to show any effect.
772 \override Script #'padding = #0.5
774 %% There are no beams in Gregorian Chant notation.
777 %% Prepare TextSpanner for \episem{Initium|Finis} use.
779 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
780 %% always produce dashed lines, regardless of the style property.
782 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
783 %% required to force the articulation signs being placed vertically
784 %% tightly to the correpsonding note heads.
786 \override TextSpanner #'dash-fraction = #'()
787 \override TextSpanner #'style = #'line
788 \override TextSpanner #'edge-height = #'(0 . 0)
789 \override TextSpanner #'padding = #-0.1
790 \override TextSpanner #'enclose-bounds = #1
791 \override TextSpanner #'edge-text = #'("" . "")
796 \name "GregorianTranscriptionStaff"
799 \accepts "GregorianTranscriptionVoice"
800 \defaultchild "GregorianTranscriptionVoice"
802 %% We can not remove Bar_engraver; otherwise clefs and custodes will
803 %% not show up any more among other line breaking issues.
804 %% Instead, we make the grob transparent.
805 \override BarLine #'transparent = ##t
810 \name "MensuralVoice"
812 \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
814 \remove "Slur_engraver"
815 \remove "Ligature_bracket_engraver"
816 \consists "Mensural_ligature_engraver"
818 %% Set default head for notes outside of \[ \].
819 \override NoteHead #'style = #'petrucci
821 %% There are no beams in mensural notation.
827 \name "MensuralStaff"
830 \defaultchild "MensuralVoice"
831 \accepts "MensuralVoice"
832 \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
834 \consists "Custos_engraver"
836 %% We can not remove Bar_engraver; otherwise clefs and custodes will
837 %% not show up any more among other line breaking issues.
838 %% Instead, we make the grob transparent.
839 \override BarLine #'transparent = ##t
841 \override StaffSymbol #'thickness = #0.6
843 %% FIXME: unit on StaffSymbol's width should be \linewidth.
844 %% \override StaffSymbol #'width = #60.0
846 %% Choose petrucci g clef on 2nd line as default.
847 clefGlyph = #"clefs.petrucci.g"
848 middleCPosition = #-6
852 %% Select mensural style font.
853 \override TimeSignature #'style = #'mensural
854 \override KeySignature #'style = #'mensural
855 \override Accidental #'style = #'mensural
856 \override Custos #'style = #'mensural
857 \override Custos #'neutral-position = #3
858 \override Custos #'neutral-direction = #DOWN
860 %% Score.timing = ##f
861 %% Score.barAlways = ##t
865 RemoveEmptyRhythmicStaffContext= \context {
867 \remove "Axis_group_engraver"
868 \override VerticalAxisGroup #'remove-empty = ##t
869 \consists "Hara_kiri_engraver"