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"
70 \remove "Accidental_engraver"
71 \remove "Ottava_spanner_engraver"
72 \remove "Key_engraver"
73 \remove "Piano_pedal_engraver"
74 \remove "String_number_engraver"
76 \description "Handles typesetting for percussion."
80 \defaultchild "DrumVoice"
82 clefGlyph = #"clefs.percussion"
84 \override Script #'staff-padding = #0.75
89 \type "Engraver_group"
90 \name "InnerChoirStaff"
91 \consists "System_start_delimiter_engraver"
92 systemStartDelimiter = #'SystemStartBracket
96 \accepts "RhythmicStaff"
100 \accepts "ChordNames"
101 \defaultchild "Staff"
108 \defaultchild "Staff"
109 \accepts "InnerChoirStaff"
110 \accepts "InnerStaffGroup"
111 \description "Identical to @code{StaffGroup} except that the
112 contained staves are not connected vertically."
118 \type "Engraver_group"
120 \override VerticalAxisGroup #'minimum-Y-extent = ##f
121 extraVerticalExtent = ##f
123 localKeySignature = #'()
126 squashedPosition = #0
130 \override BarLine #'bar-size = #4
131 \override VoltaBracket #'staff-padding = #3
132 \override StaffSymbol #'line-count = #1
134 \override Stem #'neutral-direction = #UP
135 \override Beam #'neutral-direction = #UP
137 \consists "Output_property_engraver"
138 \consists "Font_size_engraver"
139 \consists "Volta_engraver"
140 \consists "Separating_line_group_engraver"
141 \consists "Dot_column_engraver"
142 \consists "Bar_engraver"
143 \consists "Ledger_line_engraver"
144 \consists "Staff_symbol_engraver"
145 \consists "Pitch_squash_engraver"
146 \consists "Time_signature_engraver"
147 \consists "Instrument_name_engraver"
148 \consists "Axis_group_engraver"
152 \defaultchild "Voice"
155 A context like @code{Staff} but for printing rhythms. Pitches are
156 ignored; the notes are printed on one line.
162 \type "Engraver_group"
166 Corresponds to a voice on a staff. This context handles the
167 conversion of dynamic signs, stems, beams, super- and subscripts,
168 slurs, ties, and rests.
170 You have to instantiate this explicitly if you want to have
171 multiple voices on the same staff."
173 localKeySignature = #'()
174 \consists "Font_size_engraver"
176 \consists "Pitched_trill_engraver"
177 \consists "Output_property_engraver"
178 \consists "Arpeggio_engraver"
179 \consists "Multi_measure_rest_engraver"
180 \consists "Text_spanner_engraver"
181 \consists "Trill_spanner_engraver"
182 \consists "Grob_pq_engraver"
183 \consists "Forbid_line_break_engraver"
184 \consists "Laissez_vibrer_engraver"
185 \consists "Note_head_line_engraver"
186 \consists "Glissando_engraver"
187 \consists "Ligature_bracket_engraver"
188 \consists "Breathing_sign_engraver"
189 \consists "Note_heads_engraver"
190 \consists "Rest_engraver"
191 \consists "Melody_engraver"
193 \consists "Stem_engraver"
194 \consists "Beam_engraver"
195 \consists "Grace_beam_engraver"
196 \consists "Auto_beam_engraver"
197 \consists "New_fingering_engraver"
198 \consists "Chord_tremolo_engraver"
199 \consists "Percent_repeat_engraver"
200 \consists "Slash_repeat_engraver"
201 \consists "Melisma_translator"
202 \consists "Part_combine_engraver"
204 \consists "Text_engraver"
205 \consists "Dynamic_engraver"
206 \consists "Fingering_engraver"
208 \consists "Script_engraver"
209 \consists "Script_column_engraver"
210 \consists "Rhythmic_column_engraver"
211 \consists "Phrasing_slur_engraver"
212 \consists "Cluster_spanner_engraver"
213 \consists "Slur_engraver"
214 \consists "Tie_engraver"
215 \consists "Tuplet_engraver"
216 \consists "Grace_engraver"
218 \consists "Skip_event_swallow_translator"
227 \override Stem #'length-fraction = #(magstep -4)
228 \override Beam #'length-fraction = #(magstep -4)
236 \description "A voice on a percussion staff."
237 \remove "Arpeggio_engraver"
238 \consists "Multi_measure_rest_engraver"
239 \consists "Text_spanner_engraver"
240 \consists "Grob_pq_engraver"
242 \remove "Note_head_line_engraver"
243 \remove "Glissando_engraver"
244 \remove "Ligature_bracket_engraver"
245 \remove "Note_heads_engraver"
246 \consists "Drum_notes_engraver"
247 \remove "New_fingering_engraver"
249 \remove "Fingering_engraver"
251 \remove "Cluster_spanner_engraver"
252 \consists "Tuplet_engraver"
254 \consists "Skip_event_swallow_translator"
258 \type "Engraver_group"
260 localKeySignature = #'()
262 \description " A group of staffs, with a brace on the left
263 side, grouping the staves together. The bar lines of the
264 contained staves are connected vertically. "
266 \consists "Span_bar_engraver"
267 \consists "Span_arpeggio_engraver"
268 \consists "System_start_delimiter_engraver"
269 systemStartDelimiter = #'SystemStartBrace
280 "Just like @code{GrandStaff} but with a forced distance between
281 the staves, so cross staff beaming and slurring can be used."
283 \override VerticalAlignment #'forced-distance = #12
284 \override VerticalAlignment #'self-alignment-Y = #0
286 \consists "Vertical_align_engraver"
287 \consists "Instrument_name_engraver"
294 \type "Engraver_group"
295 \name InnerStaffGroup
297 \consists "Span_bar_engraver"
298 \consists "Span_arpeggio_engraver"
299 \consists "Output_property_engraver"
300 systemStartDelimiter = #'SystemStartBracket
302 \consists "System_start_delimiter_engraver"
304 \defaultchild "Staff"
306 \accepts "RhythmicStaff"
308 \accepts "GrandStaff"
309 \accepts "PianoStaff"
312 \accepts "ChordNames"
321 "Groups staffs while adding a bracket on the left side, grouping
322 the staves together. The bar lines of the contained staves are
323 connected vertically. "
325 \accepts "InnerChoirStaff"
326 \accepts "ChoirStaff"
327 \accepts "InnerStaffGroup"
328 \accepts "FiguredBass"
333 \type "Engraver_group"
334 \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 2.4)
335 extraVerticalExtent = ##f
338 \description " Corresponds to a voice with lyrics. Handles the
339 printing of a single line of lyrics. "
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"
420 \type "Score_engraver"
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 "Tweak_engraver"
455 \defaultchild "Staff"
458 \accepts "RhythmicStaff"
460 \accepts "VaticanaStaff"
461 \accepts "GregorianTranscriptionStaff"
462 \accepts "MensuralStaff"
463 \accepts "StaffGroup"
466 \accepts "ChordNames"
467 \accepts "GrandStaff"
468 \accepts "ChoirStaff"
469 \accepts "PianoStaff"
472 \accepts "FiguredBass"
475 soloIIText = #"Solo II"
477 printPartCombineTexts = ##t
478 systemStartDelimiter =#'SystemStartBar
480 drumStyleTable = #drums-style
482 melismaBusyProperties = #default-melisma-properties
484 clefGlyph = #"clefs.G"
486 middleCPosition = #-6
489 defaultBarType = #"|"
490 barNumberVisibility = #first-bar-number-invisible
493 explicitClefVisibility = #all-visible
494 explicitKeySignatureVisibility = #all-visible
495 autoBeamSettings = #default-auto-beam-settings
497 autoBeamCheck = #default-auto-beam-check
498 scriptDefinitions = #default-script-alist
500 pedalSustainStrings = #'("Ped." "*Ped." "*")
501 pedalSustainStyle = #'text
502 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
503 pedalUnaCordaStyle = #'text
505 %% These are in ordinary italic font, including the *,
506 %% but they are unlikely to be used,
507 %% as the default pedal-style for SostenutoPedal is 'mixed':
508 %% i.e. Sost. Ped_____________________
509 pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
510 pedalSostenutoStyle = #'mixed
513 harmonicAccidentals = ##t
514 fingeringOrientations = #'(up down)
515 stringNumberOrientations = #'(up down)
516 tupletNumberFormatFunction = #denominator-tuplet-formatter
517 markFormatter = #format-mark-letters
522 autoAccidentals = #'(Staff (same-octave . 0))
523 autoCautionaries = #'()
525 printKeyCancellation = ##t
526 keyAlterationOrder = #`(
527 (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
528 (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
529 (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
530 (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
533 barCheckSynchronize = ##f
536 chordNameFunction = #ignatzek-chord-names
537 majorSevenSymbol = #whiteTriangleMarkup
538 chordNameSeparator = #(make-simple-markup "/")
539 chordNameExceptions = #ignatzekExceptions
540 chordNoteNamer = #'()
541 chordRootNamer = #note-name->markup
542 chordPrefixSpacer = #0
543 chordNameExceptionsFull = #fullJazzExceptions
544 chordNameExceptionsPartial = #partialJazzExceptions
547 bassStaffProperties = #'((assign clefGlyph "clefs.F")
548 (assign clefPosition 2)
549 (assign middleCPosition 6))
551 stringOneTopmost = ##t
554 %% One may change the strings tuning as following :
555 %% The lenght of the list must be equal to the number of string
556 stringTunings = #guitar-tuning
557 tablatureFormat = #fret-number-tablature-format
560 figuredBassFormatter = #format-bass-figure
561 metronomeMarkFormatter = #format-metronome-markup
563 (Voice Stem direction ,UP)
564 (Voice Stem font-size -3)
565 (Voice NoteHead font-size -3)
566 (Voice Dots font-size -3)
567 (Voice Stem length-fraction 0.8)
568 (Voice Stem no-stem-extend #t)
569 (Voice Beam thickness 0.384)
570 (Voice Beam length-fraction 0.8)
571 (Voice Accidental font-size -4)
572 (Voice Slur direction ,DOWN)
575 keepAliveInterfaces = #'(rhythmic-grob-interface lyric-interface percent-repeat-interface)
576 quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event)
577 instrumentTransposition = #(ly:make-pitch 0 0 0)
579 verticallySpacedContexts = #'(Staff)
588 \type "Engraver_group"
591 \consists "Figured_bass_engraver"
592 \consists "Note_swallow_translator"
593 \consists "Skip_event_swallow_translator"
594 \consists "Separating_line_group_engraver"
595 \consists "Hara_kiri_engraver"
597 \override VerticalAxisGroup #'remove-empty = ##t
598 \override VerticalAxisGroup #'remove-first = ##t
599 \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
604 \type "Engraver_group"
606 %% don't want to route anything out of here:
609 \consists "Swallow_engraver"
610 \description "Silently discards all musical information given to this context. "
617 \consists "Tab_note_heads_engraver"
618 \remove "Note_heads_engraver"
619 \remove "Fingering_engraver"
620 \remove "New_fingering_engraver"
622 \description "Context for drawing notes in a Tab staff. "
624 %% Draws all stems/beams out of the staff (and not in the middle of the staff !)
625 %% This feature is now disabled because most of the tab does not use it.
626 %%\override Beam #'damping = #100000
627 %%\override Stem #'up-to-staff = ##t
629 %% TabStaff increase the staff-space, which in turn
630 %% increases beam thickness and spacing; beams are
631 %% too big. We have to adjust the beam settings:
632 \override Beam #'thickness = #0.32
633 \override Beam #'length-fraction = #0.62
635 %% No accidental in tablature !
636 \remove Accidental_engraver
644 \remove "Staff_symbol_engraver"
645 \consists "Tab_staff_symbol_engraver"
647 \description "Context for generating tablature. [DOCME]"
650 \defaultchild "TabVoice"
653 \override StaffSymbol #'staff-space = #1.5
655 %% Don't draw stems over the tablature figures !
656 \override Stem #'avoid-note-head = ##t
658 %% No accidental in tablature !
659 \remove "Accidental_engraver"
660 \remove "Key_engraver"
661 \remove "String_number_engraver"
662 %% Special "TAB" clef
663 clefGlyph = #"clefs.tab"
667 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
668 %% but this does not work (is this a bug or intended behaviour?):
670 %% If I try to do so, I get "error: unknown escaped string:
671 %% `\VaticanaStaff'" in params-init.ly. If I also move
672 %% "\context { \Vaticana*Context }" from params-init.ly to the end
673 %% of gregorian-init.ly, then I get "error: parse error, unexpected
674 %% TRANSLATOR: \context { \VaticanaStaff }" in
675 %% gregorian-init.ly. --jr
679 \name "VaticanaVoice"
681 \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
683 \remove "Slur_engraver"
684 \remove "Stem_engraver"
685 \remove "Ligature_bracket_engraver"
686 \consists "Vaticana_ligature_engraver"
688 %% Set default head for notes outside of \[ \].
689 \override NoteHead #'style = #'vaticana.punctum
691 %% Put some space before and after divisiones.
692 %% FIXME: This does not seem to show any effect.
693 \override Script #'padding = #0.5
695 %% There are no beams in Gregorian Chant notation.
698 %% Prepare TextSpanner for \episem{Initium|Finis} use.
700 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
701 %% always produce dashed lines, regardless of the style property.
703 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
704 %% required to force the articulation signs being placed vertically
705 %% tightly to the correpsonding note heads.
707 \override TextSpanner #'dash-fraction = #'()
708 \override TextSpanner #'style = #'line
709 \override TextSpanner #'edge-height = #'(0 . 0)
710 \override TextSpanner #'padding = #-0.1
711 \override TextSpanner #'enclose-bounds = #1
712 \override TextSpanner #'edge-text = #'("" . "")
715 %% FIXME: need something like
716 %% \remove "Bar_number_engraver" (which lives on score level)
717 %% for vaticana and gregorian transcription staves
721 \name "VaticanaStaff"
724 \accepts "VaticanaVoice"
725 \defaultchild "VaticanaVoice"
727 \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
729 \remove "Time_signature_engraver"
730 \consists "Custos_engraver"
732 %% We can not remove Bar_engraver; otherwise clefs and custodes will
733 %% not show up any more among other line breaking issues.
734 %% Instead, we make the grob transparent.
735 \override BarLine #'transparent = ##t
737 \override StaffSymbol #'line-count = #4
738 \override StaffSymbol #'thickness = #0.6
740 %% FIXME: unit on StaffSymbol's width should be \linewidth.
741 %% \override StaffSymbol #'width = #60.0
743 %% Choose vaticana do clef on 3rd line as default.
744 clefGlyph = #"clefs.vaticana.do"
749 %% Select vaticana style font.
750 \override KeySignature #'style = #'vaticana
751 \override Accidental #'style = #'vaticana
752 \override Custos #'style = #'vaticana
753 \override Custos #'neutral-position = #3
754 \override Custos #'neutral-direction = #DOWN
756 %% Score.timing = ##f
757 %% Score.barAlways = ##t
762 \name "GregorianTranscriptionVoice"
765 %% Removing ligature bracket engraver without replacing it by some
766 %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
767 %% warning for every "\[" and "\]". Therefore, we make the grob
768 %% transparent instead.
769 \override LigatureBracket #'transparent = ##t
771 %% Put some space before and after divisiones.
772 %% FIXME: This does not seem to show any effect.
773 \override Script #'padding = #0.5
775 %% There are no beams in Gregorian Chant notation.
778 %% Prepare TextSpanner for \episem{Initium|Finis} use.
780 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
781 %% always produce dashed lines, regardless of the style property.
783 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
784 %% required to force the articulation signs being placed vertically
785 %% tightly to the correpsonding note heads.
787 \override TextSpanner #'dash-fraction = #'()
788 \override TextSpanner #'style = #'line
789 \override TextSpanner #'edge-height = #'(0 . 0)
790 \override TextSpanner #'padding = #-0.1
791 \override TextSpanner #'enclose-bounds = #1
792 \override TextSpanner #'edge-text = #'("" . "")
797 \name "GregorianTranscriptionStaff"
800 \accepts "GregorianTranscriptionVoice"
801 \defaultchild "GregorianTranscriptionVoice"
803 %% We can not remove Bar_engraver; otherwise clefs and custodes will
804 %% not show up any more among other line breaking issues.
805 %% Instead, we make the grob transparent.
806 \override BarLine #'transparent = ##t
811 \name "MensuralVoice"
813 \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
815 \remove "Slur_engraver"
816 \remove "Ligature_bracket_engraver"
817 \consists "Mensural_ligature_engraver"
819 %% Set default head for notes outside of \[ \].
820 \override NoteHead #'style = #'petrucci
822 %% There are no beams in mensural notation.
828 \name "MensuralStaff"
831 \defaultchild "MensuralVoice"
832 \accepts "MensuralVoice"
833 \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
835 \consists "Custos_engraver"
837 %% We can not remove Bar_engraver; otherwise clefs and custodes will
838 %% not show up any more among other line breaking issues.
839 %% Instead, we make the grob transparent.
840 \override BarLine #'transparent = ##t
842 \override StaffSymbol #'thickness = #0.6
844 %% FIXME: unit on StaffSymbol's width should be \linewidth.
845 %% \override StaffSymbol #'width = #60.0
847 %% Choose petrucci g clef on 2nd line as default.
848 clefGlyph = #"clefs.petrucci.g"
849 middleCPosition = #-6
853 %% Select mensural style font.
854 \override TimeSignature #'style = #'mensural
855 \override KeySignature #'style = #'mensural
856 \override Accidental #'style = #'mensural
857 \override Custos #'style = #'mensural
858 \override Custos #'neutral-position = #3
859 \override Custos #'neutral-direction = #DOWN
861 %% Score.timing = ##f
862 %% Score.barAlways = ##t
866 RemoveEmptyRhythmicStaffContext= \context {
868 \remove "Axis_group_engraver"
869 \override VerticalAxisGroup #'remove-empty = ##t
870 \consists "Hara_kiri_engraver"