Update conversion rule for \octave so that \octaves etc. are no longer matched.
[lilypond.git] / ly / engraver-init.ly
blob9aae417aa8bf04819ea86c02a72990bd4d3977ee
1 \version "2.12.0"
3 \context {
4 \name "Global"
6 \accepts "Score"
8 \defaultchild "Score"
9 \description "Hard coded entry point for LilyPond. Cannot be tuned."
10 \grobdescriptions #all-grob-descriptions
14 \context {
15 \type "Engraver_group"
16 \name "FretBoards"
19 \consists "Fretboard_engraver"
20 \consists "Rest_swallow_translator"
21 \consists "Output_property_engraver"
22 \consists "Skip_event_swallow_translator"
23 \consists "Hara_kiri_engraver"
24 \consists "Separating_line_group_engraver"
25 \consists "Font_size_engraver"
26 \consists "Instrument_name_engraver"
28 predefinedDiagramTable = #fretboard-table
31 \context {
32 \type "Engraver_group"
33 \name "Staff"
35 \consists "Output_property_engraver"
36 \consists "Bar_engraver"
37 %% Bar_engraver must be first so default bars aren't overwritten
38 %% with empty ones.
40 \consists "Font_size_engraver"
41 \consists "Separating_line_group_engraver"
42 \consists "Dot_column_engraver"
43 \consists "Staff_collecting_engraver"
45 %% perhaps move to Voice context?
46 \consists "Ottava_spanner_engraver"
47 \consists "Clef_engraver"
48 \consists "Key_engraver"
49 \consists "Time_signature_engraver"
50 \consists "Ledger_line_engraver"
51 \consists "Staff_symbol_engraver"
52 \consists "Collision_engraver"
53 \consists "Grob_pq_engraver"
54 \consists "Rest_collision_engraver"
55 \consists "Accidental_engraver"
56 \consists "Piano_pedal_engraver"
57 \consists "Piano_pedal_align_engraver"
58 \consists "Instrument_name_engraver"
59 \consists "String_number_engraver"
60 \consists "Axis_group_engraver"
61 \consists "Figured_bass_engraver"
62 \consists "Figured_bass_position_engraver"
63 \consists "Script_row_engraver"
65 localKeySignature = #'()
66 createSpacing = ##t
67 ignoreFiguredBassRest = ##t
68 \override VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 4)
70 %% explicitly set instrument, so we don't get
71 %% weird effects when doing instrument names for
72 %% piano staves
74 instrumentName = #'()
75 shortInstrumentName = #'()
77 \defaultchild "Voice"
78 \accepts "Voice"
79 \accepts "CueVoice"
81 \description "Handles clefs, bar lines, keys, accidentals. It can contain
82 @code{Voice} contexts."
86 \context {
87 \Staff
88 \type "Engraver_group"
89 \name "DrumStaff"
90 \alias "Staff"
92 \remove "Accidental_engraver"
93 \remove "Ottava_spanner_engraver"
94 \remove "Key_engraver"
95 \remove "Piano_pedal_engraver"
96 \remove "String_number_engraver"
98 \description "Handles typesetting for percussion."
100 \denies "Voice"
101 \accepts "DrumVoice"
102 \defaultchild "DrumVoice"
104 clefGlyph = #"clefs.percussion"
105 clefPosition = #0
106 \override Script #'staff-padding = #0.75
110 \context {
111 \type "Engraver_group"
112 \name "ChoirStaff"
113 \consists "System_start_delimiter_engraver"
114 systemStartDelimiter = #'SystemStartBracket
115 vocalName = #'()
116 shortVocalName = #'()
118 \accepts "Staff"
119 \accepts "DrumStaff"
120 \accepts "RhythmicStaff"
121 \accepts "GrandStaff"
122 \accepts "PianoStaff"
123 \accepts "Lyrics"
124 \accepts "ChordNames"
125 \accepts "ChoirStaff"
126 \accepts "StaffGroup"
127 \defaultchild "Staff"
128 \description "Identical to @code{StaffGroup} except that the
129 contained staves are not connected vertically."
132 \context{
133 \type "Engraver_group"
135 \override VerticalAxisGroup #'minimum-Y-extent = ##f
136 localKeySignature = #'()
137 createSpacing = ##t
139 squashedPosition = #0
140 \name RhythmicStaff
141 \alias "Staff"
143 \override BarLine #'bar-size = #4
144 \override VoltaBracket #'staff-padding = #3
145 \override StaffSymbol #'line-count = #1
147 \override Stem #'neutral-direction = #UP
148 \override Beam #'neutral-direction = #UP
150 \consists "Output_property_engraver"
151 \consists "Font_size_engraver"
152 \consists "Separating_line_group_engraver"
153 \consists "Dot_column_engraver"
154 \consists "Bar_engraver"
155 \consists "Staff_symbol_engraver"
156 \consists "Pitch_squash_engraver"
157 \consists "Time_signature_engraver"
158 \consists "Instrument_name_engraver"
159 \consists "Axis_group_engraver"
160 \consists "Ledger_line_engraver"
162 \accepts "Voice"
163 \accepts "CueVoice"
164 \defaultchild "Voice"
166 \description "A context like @code{Staff} but for printing rhythms.
167 Pitches are ignored; the notes are printed on one line."
171 \context {
172 \type "Engraver_group"
173 \name "Voice"
175 \description "Corresponds to a voice on a staff. This context
176 handles the conversion of dynamic signs, stems, beams, super- and
177 subscripts, slurs, ties, and rests.
179 You have to instantiate this explicitly if you want to have
180 multiple voices on the same staff."
182 localKeySignature = #'()
183 \consists "Font_size_engraver"
185 \consists "Pitched_trill_engraver"
186 \consists "Output_property_engraver"
187 \consists "Arpeggio_engraver"
188 \consists "Multi_measure_rest_engraver"
189 \consists "Text_spanner_engraver"
190 \consists "Trill_spanner_engraver"
191 \consists "Grob_pq_engraver"
192 \consists "Forbid_line_break_engraver"
193 \consists "Laissez_vibrer_engraver"
194 \consists "Repeat_tie_engraver"
195 \consists "Note_head_line_engraver"
196 \consists "Glissando_engraver"
197 \consists "Ligature_bracket_engraver"
198 \consists "Breathing_sign_engraver"
199 \consists "Note_heads_engraver"
200 \consists "Dots_engraver"
201 \consists "Rest_engraver"
202 \consists "Tweak_engraver"
204 %% switch on to make stem directions interpolate for the
205 %% center line.
206 % \consists "Melody_engraver"
208 \consists "Stem_engraver"
209 \consists "Beam_engraver"
210 \consists "Grace_beam_engraver"
211 \consists "Auto_beam_engraver"
213 %% must come before Script_column_engraver.
214 \consists "New_fingering_engraver"
216 \consists "Chord_tremolo_engraver"
217 \consists "Percent_repeat_engraver"
218 \consists "Slash_repeat_engraver"
219 \consists "Part_combine_engraver"
221 \consists "Text_engraver"
222 \consists "New_dynamic_engraver"
223 \consists "Dynamic_align_engraver"
224 % \consists "Dynamic_engraver"
225 \consists "Fingering_engraver"
226 \consists "Bend_engraver"
228 \consists "Script_engraver"
229 \consists "Script_column_engraver"
230 \consists "Rhythmic_column_engraver"
231 \consists "Note_spacing_engraver"
232 \consists "Spanner_break_forbid_engraver"
233 \consists "Phrasing_slur_engraver"
234 \consists "Cluster_spanner_engraver"
235 \consists "Slur_engraver"
236 \consists "Tie_engraver"
237 \consists "Tuplet_engraver"
238 \consists "Grace_engraver"
239 \consists "Instrument_switch_engraver"
240 \consists "Skip_event_swallow_translator"
243 \context{
244 \Voice
246 \name CueVoice
247 \alias Voice
248 fontSize = #-4
249 \override Stem #'length-fraction = #(magstep -4)
250 \override Beam #'length-fraction = #(magstep -4)
251 \override Beam #'thickness = #0.35
254 \context {
255 \Voice
256 \name DrumVoice
257 \alias Voice
259 \description "A voice on a percussion staff."
260 \remove "Arpeggio_engraver"
261 \consists "Grob_pq_engraver"
263 \remove "Note_head_line_engraver"
264 \remove "Glissando_engraver"
265 \remove "Ligature_bracket_engraver"
266 \remove "Note_heads_engraver"
267 \consists "Drum_notes_engraver"
268 \remove "New_fingering_engraver"
270 \remove "Fingering_engraver"
272 \remove "Cluster_spanner_engraver"
274 \consists "Skip_event_swallow_translator"
277 \context{
278 \type "Engraver_group"
279 \name GrandStaff
280 localKeySignature = #'()
282 \description "A group of staves, with a brace on the left
283 side, grouping the staves together. The bar lines of the
284 contained staves are connected vertically."
286 \consists "Span_bar_engraver"
287 \consists "Span_arpeggio_engraver"
288 \consists "System_start_delimiter_engraver"
289 systemStartDelimiter = #'SystemStartBrace
291 \defaultchild "Staff"
292 \accepts "Staff"
293 \accepts "FiguredBass"
296 \context{
297 \GrandStaff
298 \name "PianoStaff"
299 \alias "GrandStaff"
301 \description "Just like @code{GrandStaff} but with support for
302 instrument names at the start of each system."
304 \consists "Instrument_name_engraver"
306 instrumentName = #'()
307 shortInstrumentName = #'()
310 \context {
311 \type "Engraver_group"
312 \name "StaffGroup"
314 \consists "Span_bar_engraver"
315 \consists "Span_arpeggio_engraver"
316 \consists "Output_property_engraver"
317 systemStartDelimiter = #'SystemStartBracket
319 \consists "System_start_delimiter_engraver"
321 \defaultchild "Staff"
322 \accepts "Staff"
323 \accepts "RhythmicStaff"
324 \accepts "DrumStaff"
325 \accepts "GrandStaff"
326 \accepts "PianoStaff"
327 \accepts "TabStaff"
328 \accepts "Lyrics"
329 \accepts "ChordNames"
330 \accepts "FiguredBass"
331 \accepts "ChoirStaff"
332 \accepts "StaffGroup"
334 \description "Groups staves while adding a bracket on the left
335 side, grouping the staves together. The bar lines of the contained
336 staves are connected vertically. @code{StaffGroup} only consists of
337 a collection of staves, with a bracket in front and spanning bar lines."
340 \context{
341 \type "Engraver_group"
342 \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 2.0)
344 \description "Corresponds to a voice with lyrics. Handles the
345 printing of a single line of lyrics."
347 \name "Lyrics"
348 instrumentName = #'()
349 shortInstrumentName = #'()
351 \consists "Lyric_engraver"
352 \consists "Extender_engraver"
353 \consists "Hyphen_engraver"
354 \consists "Stanza_number_engraver"
355 \consists "Instrument_name_engraver"
356 \consists "Skip_event_swallow_translator"
357 \consists "Font_size_engraver"
358 \consists "Hara_kiri_engraver"
360 \override VerticalAxisGroup #'remove-first = ##t
361 \override VerticalAxisGroup #'remove-empty = ##t
362 \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
363 \override SeparationItem #'padding = #0.2
364 \override InstrumentName #'self-alignment-Y = ##f
366 %% sync with define-grobs.scm ;
367 \override InstrumentName #'font-size = #1.0
369 %% make sure that barlines aren't collapsed, when
370 %% Bar_engraver is there.
371 \override BarLine #'bar-size = #0.1
375 \context {
376 \type "Engraver_group"
377 \name NoteNames
378 \consists "Axis_group_engraver"
380 \override VerticalAxisGroup #'minimum-Y-extent = ##f
383 \consists "Rest_swallow_translator"
384 \consists "Skip_event_swallow_translator"
385 \consists "Tie_engraver"
386 \consists "Note_name_engraver"
387 \consists "Separating_line_group_engraver"
390 \context {
391 \type "Engraver_group"
392 \name ChordNames
393 \description "Typesets chord names."
395 \consists "Rest_swallow_translator"
396 \consists "Output_property_engraver"
397 \consists "Separating_line_group_engraver"
398 \consists "Chord_name_engraver"
399 \consists "Skip_event_swallow_translator"
400 \consists "Hara_kiri_engraver"
401 % \consists "Note_spacing_engraver"
402 \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
403 \override VerticalAxisGroup #'remove-first = ##t
404 \override VerticalAxisGroup #'remove-empty = ##t
408 RemoveEmptyStaffContext= \context {
409 \Staff
410 \remove "Axis_group_engraver"
411 \consists "Hara_kiri_engraver"
412 \override Beam #'auto-knee-gap = #'()
413 \override VerticalAxisGroup #'remove-empty = ##t
416 AncientRemoveEmptyStaffContext = \context {
417 %% why not add by default?
419 \RemoveEmptyStaffContext
420 \accepts "VaticanaVoice"
421 \accepts "GregorianTranscriptionVoice"
422 \accepts "MensuralVoice"
425 \context {
426 \type "Score_engraver"
427 \name "Score"
429 \description "This is the top level notation context. No
430 other context can contain a @code{Score} context. This context
431 handles the administration of time signatures. It also makes sure
432 that items such as clefs, time signatures, and key-signatures are
433 aligned across staves.
435 You cannot explicitly instantiate a @code{Score} context (since it
436 is not contained in any other context). It is instantiated
437 automatically when an output definition (a @code{\score} or
438 @code{\layout} block) is processed."
440 \consists "Paper_column_engraver"
441 \consists "Vertically_spaced_contexts_engraver"
442 \consists "Repeat_acknowledge_engraver"
443 \consists "Staff_collecting_engraver"
445 %% move the alias along with the engraver.
447 \consists "Timing_translator"
448 \consists "Default_bar_line_engraver"
449 \consists "Output_property_engraver"
450 \consists "System_start_delimiter_engraver"
451 \consists "Mark_engraver"
452 \consists "Volta_engraver"
453 \consists "Metronome_mark_engraver"
454 \consists "Break_align_engraver"
455 \consists "Spacing_engraver"
456 \consists "Grace_spacing_engraver"
457 \consists "Vertical_align_engraver"
458 \consists "Stanza_number_align_engraver"
459 \consists "Bar_number_engraver"
460 \consists "Parenthesis_engraver"
462 \defaultchild "Staff"
464 \accepts "FretBoards"
465 \accepts "Staff"
466 \accepts "RhythmicStaff"
467 \accepts "TabStaff"
468 \accepts "VaticanaStaff"
469 \accepts "GregorianTranscriptionStaff"
470 \accepts "MensuralStaff"
471 \accepts "StaffGroup"
472 \accepts "DrumStaff"
473 \accepts "Lyrics"
474 \accepts "ChordNames"
475 \accepts "GrandStaff"
476 \accepts "ChoirStaff"
477 \accepts "PianoStaff"
478 \accepts "Devnull"
479 \accepts "NoteNames"
480 \accepts "FiguredBass"
483 noteToFretFunction = #determine-frets
484 soloText = #"Solo"
485 soloIIText = #"Solo II"
486 aDueText = #"a2"
487 printPartCombineTexts = ##t
488 systemStartDelimiter =#'SystemStartBar
490 drumStyleTable = #drums-style
492 melismaBusyProperties = #default-melisma-properties
493 tieWaitForNote = ##f
494 clefGlyph = #"clefs.G"
495 clefPosition = #-2
496 middleCClefPosition = #-6
497 middleCPosition = #-6
498 firstClef = ##t
500 crescendoSpanner = #'hairpin
501 decrescendoSpanner = #'hairpin
503 defaultBarType = #"|"
504 doubleRepeatType = #":|:"
505 barNumberVisibility = #first-bar-number-invisible
506 automaticBars = ##t
508 explicitClefVisibility = #all-visible
509 explicitKeySignatureVisibility = #all-visible
510 implicitTimeSignatureVisibility = #end-of-line-invisible
512 repeatCountVisibility = #all-repeat-counts-visible
514 autoBeamSettings = #default-auto-beam-settings
515 autoBeaming = ##t
516 autoBeamCheck = #default-auto-beam-check
517 scriptDefinitions = #default-script-alist
519 pedalSustainStrings = #'("Ped." "*Ped." "*")
520 pedalSustainStyle = #'text
521 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
522 pedalUnaCordaStyle = #'text
524 %% These are in ordinary italic font, including the *,
525 %% but they are unlikely to be used,
526 %% as the default pedal-style for SostenutoPedal is 'mixed':
527 %% i.e. Sost. Ped_____________________
528 pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
529 pedalSostenutoStyle = #'mixed
531 harmonicAccidentals = ##t
532 fingeringOrientations = #'(up down)
533 stringNumberOrientations = #'(up down)
534 strokeFingerOrientations = #'(right)
536 lyricMelismaAlignment = #LEFT
537 markFormatter = #format-mark-letters
538 rehearsalMark = #1
539 subdivideBeams = ##f
540 extraNatural = ##t
541 autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0))
542 autoCautionaries = #'()
544 printKeyCancellation = ##t
545 keyAlterationOrder = #`(
546 (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
547 (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
548 (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
549 (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
552 barCheckSynchronize = ##f
554 %% chord names:
555 chordNameFunction = #ignatzek-chord-names
556 majorSevenSymbol = #whiteTriangleMarkup
557 chordNameSeparator = #(make-simple-markup "/")
558 chordNameExceptions = #ignatzekExceptions
559 chordNoteNamer = #'()
560 chordRootNamer = #note-name->markup
561 chordPrefixSpacer = #0
562 chordNameExceptionsFull = #fullJazzExceptions
563 chordNameExceptionsPartial = #partialJazzExceptions
566 bassStaffProperties = #'((assign clefGlyph "clefs.F")
567 (assign clefPosition 2)
568 (assign middleCPosition 6)
569 (assign middleCClefPosition 6))
570 %% tablature:
571 stringOneTopmost = ##t
572 highStringOne = ##t
574 %% One may change the strings tuning as following :
575 %% The lenght of the list must be equal to the number of string
576 stringTunings = #guitar-tuning
577 tablatureFormat = #fret-number-tablature-format
580 figuredBassFormatter = #format-bass-figure
581 metronomeMarkFormatter = #format-metronome-markup
584 %% See also make-voice-props-set
585 graceSettings = #`(
586 (Voice Stem direction ,UP)
587 (Voice Stem font-size -3)
588 (Voice NoteHead font-size -3)
589 (Voice Dots font-size -3)
590 (Voice Stem length-fraction 0.8)
591 (Voice Stem no-stem-extend #t)
592 (Voice Beam thickness 0.384)
593 (Voice Beam length-fraction 0.8)
594 (Voice Accidental font-size -4)
595 (Voice AccidentalCautionary font-size -4)
596 (Voice Slur direction ,DOWN)
597 (Voice Script font-size -3)
598 (Voice Fingering font-size -8)
599 (Voice StringNumber font-size -8)
602 keepAliveInterfaces = #'(
603 rhythmic-grob-interface
604 lyric-interface
605 percent-repeat-item-interface
606 percent-repeat-interface
608 ;; need this, as stanza numbers are items, and appear only once.
609 stanza-number-interface
611 quotedEventTypes = #'(
612 note-event
613 rest-event
614 tie-event
615 beam-event
616 tuplet-span-event)
617 instrumentTransposition = #(ly:make-pitch 0 0 0)
619 verticallySpacedContexts = #'(Staff)
621 timing = ##t
627 \context {
628 \type "Engraver_group"
629 \name "FiguredBass"
631 \consists "Figured_bass_engraver"
632 \consists "Note_swallow_translator"
633 \consists "Skip_event_swallow_translator"
634 \consists "Separating_line_group_engraver"
635 \consists "Hara_kiri_engraver"
637 \override VerticalAxisGroup #'remove-empty = ##t
638 \override VerticalAxisGroup #'remove-first = ##t
639 \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
642 \context {
643 \name "Devnull"
644 \type "Engraver_group"
646 %% don't want to route anything out of here:
647 \alias "Staff"
648 \alias "Voice"
649 \consists "Swallow_engraver"
650 \description "Silently discards all musical information given to this
651 context."
654 \context {
655 \Voice
656 \name "TabVoice"
657 \alias "Voice"
658 \consists "Tab_note_heads_engraver"
659 \consists "Tab_harmonic_engraver"
661 \remove "Note_heads_engraver"
662 \remove "Fingering_engraver"
663 \remove "New_fingering_engraver"
665 \description "Context for drawing notes in a Tab staff."
667 %% TabStaff increase the staff-space, which in turn
668 %% increases beam thickness and spacing; beams are
669 %% too big. We have to adjust the beam settings:
670 \override Beam #'thickness = #0.32
671 \override Beam #'length-fraction = #0.62
673 %% No accidental in tablature !
674 \remove "Accidental_engraver"
676 \override Glissando #'extra-dy = #0.75
677 \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
678 (padding . 0.3))
679 \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
680 (padding . 0.3))
683 \context {
684 \Staff
685 \alias "Staff"
686 \name "TabStaff"
687 \denies "Voice"
688 \consists "Tab_staff_symbol_engraver"
690 \description "Context for generating tablature. [DOCME]"
692 \accepts "TabVoice"
693 \defaultchild "TabVoice"
695 %% 6 strings
696 \override StaffSymbol #'staff-space = #1.5
698 %% Don't draw stems over the tablature figures !
699 \override Stem #'avoid-note-head = ##t
701 %% No accidental in tablature !
702 \remove "Accidental_engraver"
703 \remove "Key_engraver"
704 \remove "String_number_engraver"
705 %% Special "TAB" clef
706 clefGlyph = #"clefs.tab"
707 clefPosition = #0
710 %% TODO: Gregorian Chant contexts should be moved to gregorian.ly,
711 %% but this does not work (is this a bug or intended behaviour?):
713 %% If I try to do so, I get "error: unknown escaped string:
714 %% `\VaticanaStaff'" in params-init.ly. If I also move
715 %% "\context { \Vaticana*Context }" from params-init.ly to the end
716 %% of gregorian.ly, then I get "error: parse error, unexpected
717 %% TRANSLATOR: \context { \VaticanaStaff }" in
718 %% gregorian.ly. --jr
720 \context {
721 \Voice
722 \name "VaticanaVoice"
723 \alias "Voice"
724 \description "Same as @code{Voice} context, except that it is
725 accommodated for typesetting Gregorian Chant in the notational style
726 of Editio Vaticana."
728 \remove "Slur_engraver"
729 \remove "Stem_engraver"
730 \remove "Ligature_bracket_engraver"
731 \consists "Vaticana_ligature_engraver"
733 %% Set default head for notes outside of \[ \].
734 \override NoteHead #'style = #'vaticana.punctum
736 %% Put some space before and after divisiones.
737 %% FIXME: This does not seem to show any effect.
738 \override Script #'padding = #0.5
740 %% There are no beams in Gregorian Chant notation.
741 autoBeaming = ##f
743 %% Prepare TextSpanner for \episem{Initium|Finis} use.
745 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
746 %% required to force the articulation signs being placed vertically
747 %% tightly to the correpsonding note heads.
749 \override TextSpanner #'style = #'line
750 \override TextSpanner #'padding = #-0.1
753 \context {
754 \Staff
755 \name "VaticanaStaff"
756 \alias "Staff"
757 \denies "Voice"
758 \accepts "VaticanaVoice"
759 \defaultchild "VaticanaVoice"
761 \description "Same as @code{Staff} context, except that it is
762 accommodated for typesetting Gregorian Chant in the notational style
763 of Editio Vaticana."
765 \remove "Time_signature_engraver"
766 \consists "Custos_engraver"
768 %% We can not remove Bar_engraver; otherwise clefs and custodes will
769 %% not show up any more among other line breaking issues.
770 %% Instead, we make the grob transparent.
771 \override BarLine #'transparent = ##t
773 \override StaffSymbol #'line-count = #4
774 \override StaffSymbol #'thickness = #0.6
776 %% FIXME: unit on StaffSymbol's width should be \linewidth.
777 %% \override StaffSymbol #'width = #60.0
779 %% Choose vaticana do clef on 3rd line as default.
780 clefGlyph = #"clefs.vaticana.do"
781 middleCPosition = #1
782 middleCClefPosition = #1
783 clefPosition = #1
784 clefOctavation = #0
786 %% Select vaticana style font.
787 \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
788 \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
789 \override Custos #'style = #'vaticana
790 \override Custos #'neutral-position = #3
791 \override Custos #'neutral-direction = #DOWN
792 \override Dots #'style = #'vaticana
795 \context {
796 \Voice
797 \name "GregorianTranscriptionVoice"
798 \alias "Voice"
800 %% Removing ligature bracket engraver without replacing it by some
801 %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
802 %% warning for every "\[" and "\]". Therefore, we make the grob
803 %% transparent instead.
804 \override LigatureBracket #'transparent = ##t
806 %% Put some space before and after divisiones.
807 %% FIXME: This does not seem to show any effect.
808 \override Script #'padding = #0.5
810 %% There are no beams in Gregorian Chant notation.
811 autoBeaming = ##f
813 %% Prepare TextSpanner for \episem{Initium|Finis} use.
815 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
816 %% always produce dashed lines, regardless of the style property.
818 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
819 %% required to force the articulation signs being placed vertically
820 %% tightly to the correpsonding note heads.
822 \override TextSpanner #'dash-fraction = #'()
823 \override TextSpanner #'style = #'line
824 \override TextSpanner #'padding = #-0.1
827 \context {
828 \Staff
829 \name "GregorianTranscriptionStaff"
830 \alias "Staff"
831 \denies "Voice"
832 \accepts "GregorianTranscriptionVoice"
833 \defaultchild "GregorianTranscriptionVoice"
835 %% We can not remove Bar_engraver; otherwise clefs and custodes will
836 %% not show up any more among other line breaking issues.
837 %% Instead, we make the grob transparent.
838 \override BarLine #'transparent = ##t
841 \context {
842 \Voice
843 \name "MensuralVoice"
844 \alias "Voice"
845 \description "Same as @code{Voice} context, except that it is
846 accommodated for typesetting a piece in mensural style."
848 \remove "Slur_engraver"
849 \remove "Ligature_bracket_engraver"
850 \consists "Mensural_ligature_engraver"
852 %% Set default head for notes outside of \[ \].
853 \override NoteHead #'style = #'mensural
854 \override Rest #'style = #'mensural
856 %% There are no beams in mensural notation.
857 autoBeaming = ##f
860 \context {
861 \Staff
862 \name "MensuralStaff"
863 \alias "Staff"
864 \denies "Voice"
865 \defaultchild "MensuralVoice"
866 \accepts "MensuralVoice"
867 \description "Same as @code{Staff} context, except that it is
868 accommodated for typesetting a piece in mensural style."
870 \consists "Custos_engraver"
872 %% We can not remove Bar_engraver; otherwise clefs and custodes will
873 %% not show up any more among other line breaking issues.
874 %% Instead, we make the grob transparent.
875 \override BarLine #'transparent = ##t
877 \override StaffSymbol #'thickness = #0.6
879 %% FIXME: unit on StaffSymbol's width should be \linewidth.
880 %% \override StaffSymbol #'width = #60.0
882 %% Choose mensural g clef on 2nd line as default.
883 clefGlyph = #"clefs.mensural.g"
884 middleCClefPosition = #-6
885 middleCPosition = #-6
886 clefPosition = #-2
887 clefOctavation = #0
889 %% Select mensural style font.
890 \override TimeSignature #'style = #'mensural
891 \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
892 \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
893 \override Custos #'style = #'mensural
894 \override Custos #'neutral-position = #3
895 \override Custos #'neutral-direction = #DOWN
897 %% Accidentals are valid only once (same as
898 %% #(set-accidental-style 'forget))
899 extraNatural = ##f
900 autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1))
901 autoCautionaries = #'()
902 printKeyCancellation = ##f
906 RemoveEmptyRhythmicStaffContext= \context {
907 \RhythmicStaff
908 \remove "Axis_group_engraver"
909 \override VerticalAxisGroup #'remove-empty = ##t
910 \consists "Hara_kiri_engraver"