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