]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
Use a `define-builtin-markup-command' macro for builtin markups, which
[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_after_engraver"
231
232   \consists "Script_engraver"
233   \consists "Script_column_engraver"
234   \consists "Rhythmic_column_engraver"
235   \consists "Note_spacing_engraver"
236   \consists "Phrasing_slur_engraver"
237   \consists "Cluster_spanner_engraver"
238   \consists "Slur_engraver"
239   \consists "Tie_engraver"
240   \consists "Tuplet_engraver"
241   \consists "Grace_engraver"
242   \consists "Instrument_switch_engraver"
243   \consists "Skip_event_swallow_translator"
244 }
245
246 \context{
247   \Voice
248   
249   \name CueVoice
250   \alias Voice
251   fontSize = #-4
252   \override Stem #'length-fraction = #(magstep -4)
253   \override Beam #'length-fraction = #(magstep -4)
254 }
255
256 \context {
257   \Voice
258   \name DrumVoice
259   \alias Voice
260
261   \description "A voice on a percussion staff."
262   \remove "Arpeggio_engraver"
263   \consists "Multi_measure_rest_engraver"
264   \consists "Text_spanner_engraver"
265   \consists "Grob_pq_engraver"
266
267   \remove "Note_head_line_engraver"
268   \remove "Glissando_engraver"
269   \remove "Ligature_bracket_engraver"
270   \remove "Note_heads_engraver"
271   \consists "Drum_notes_engraver"
272   \remove "New_fingering_engraver"
273
274   \remove "Fingering_engraver"
275
276   \remove "Cluster_spanner_engraver"
277   \consists "Tuplet_engraver"
278
279   \consists "Skip_event_swallow_translator"
280 }
281
282 \context{
283   \type "Engraver_group"
284   \name GrandStaff
285   localKeySignature = #'()
286   
287   \description " A group of staffs, with a brace on the left
288     side, grouping the staves together.  The bar lines of the
289     contained staves are connected vertically.  "
290
291   \consists "Span_bar_engraver"
292   \consists "Span_arpeggio_engraver"
293   \consists "System_start_delimiter_engraver"
294   systemStartDelimiter = #'SystemStartBrace
295
296   \accepts "Staff"
297   \accepts "FiguredBass"
298 }
299
300 \context{
301   \GrandStaff
302   \name "PianoStaff"
303   \alias "GrandStaff"
304
305   \description
306   "Just like @code{GrandStaff} but with a forced distance between
307     the staves, so cross staff beaming and slurring can be used."
308   
309   \override VerticalAlignment #'forced-distance = #12
310   \override VerticalAlignment #'self-alignment-Y = #0
311
312   \consists "Vertical_align_engraver"
313   \consists "Instrument_name_engraver"
314   
315   instrumentName = #'()
316   shortInstrumentName = #'()
317 }
318
319 \context {
320   \type "Engraver_group"
321   \name InnerStaffGroup
322
323   \consists "Span_bar_engraver"
324   \consists "Span_arpeggio_engraver"
325   \consists "Output_property_engraver"  
326   systemStartDelimiter = #'SystemStartBracket
327
328   \consists "System_start_delimiter_engraver"
329
330   \defaultchild "Staff"
331   \accepts "Staff"
332   \accepts "RhythmicStaff"
333   \accepts "DrumStaff"
334   \accepts "GrandStaff"
335   \accepts "PianoStaff"
336   \accepts "TabStaff"   
337   \accepts "Lyrics"
338   \accepts "ChordNames"
339 }
340
341 \context {
342   \InnerStaffGroup
343   \name StaffGroup
344   
345   \description
346
347   "Groups staffs while adding a bracket on the left side, grouping
348 the staves together.  The bar lines of the contained staves are
349 connected vertically.  StaffGroup only consists of a collection of
350 staffs, with a bracket in front and spanning bar lines. "
351   
352   \accepts "InnerChoirStaff"
353   \accepts "ChoirStaff"
354   \accepts "InnerStaffGroup"
355   \accepts "FiguredBass"
356 }
357
358
359 \context{
360   \type "Engraver_group"
361   \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 2.0)
362
363   \description " Corresponds to a voice with lyrics.  Handles the
364 printing of a single line of lyrics.  "
365   
366   \name "Lyrics" 
367   \consists "Lyric_engraver"
368   \consists "Extender_engraver"
369   \consists "Hyphen_engraver"
370   \consists "Stanza_number_engraver"
371   \consists "Instrument_name_engraver"
372   \consists "Skip_event_swallow_translator"
373   \consists "Font_size_engraver"
374   \consists "Hara_kiri_engraver"
375   \override VerticalAxisGroup #'remove-first = ##t
376   \override VerticalAxisGroup #'remove-empty = ##t
377   \override SeparationItem #'padding = #0.2
378   \override InstrumentName #'self-alignment-Y = ##f
379
380   %% sync with define-grobs.scm ;
381   \override InstrumentName #'font-size = #1.0
382
383   %% make sure that barlines aren't collapsed, when
384   %% Bar_engraver is there.
385   \override BarLine #'bar-size = #0.1 
386   
387 }
388
389 \context {
390   \type "Engraver_group"
391   \name NoteNames
392   \consists "Axis_group_engraver"
393
394   \override VerticalAxisGroup #'minimum-Y-extent = ##f
395
396   
397   \consists "Rest_swallow_translator" 
398   \consists "Skip_event_swallow_translator"
399   \consists "Tie_engraver"
400   \consists "Note_name_engraver"
401   \consists "Separating_line_group_engraver"
402 }
403
404 \context {
405   \type "Engraver_group"
406   \name ChordNames
407   \description "Typesets chord names."
408
409   \consists "Volta_engraver"
410   
411   \consists "Rest_swallow_translator" 
412   \consists "Output_property_engraver"  
413   \consists "Separating_line_group_engraver"
414   \consists "Chord_name_engraver"
415   \consists "Skip_event_swallow_translator"
416   \consists "Hara_kiri_engraver"
417 %  \consists "Note_spacing_engraver"
418   voltaOnThisStaff = ##f
419   \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
420   \override SeparatingGroupSpanner #'padding = #0.8
421   \override VerticalAxisGroup #'remove-first = ##t
422   \override VerticalAxisGroup #'remove-empty = ##t
423 }
424
425
426 RemoveEmptyStaffContext= \context {
427   \Staff
428   \remove "Axis_group_engraver"
429   \consists "Hara_kiri_engraver"
430   \override Beam #'auto-knee-gap = #'()
431   \override VerticalAxisGroup #'remove-empty = ##t
432 }
433
434 AncientRemoveEmptyStaffContext = \context {
435 %% why not add by default?
436   
437   \RemoveEmptyStaffContext
438   \accepts "VaticanaVoice"
439   \accepts "GregorianTranscriptionVoice"
440   \accepts "MensuralVoice"
441 }
442
443 \context {
444   \type "Score_engraver"
445   \name "Score"
446   
447   \description "This is the top level notation context.  No
448     other context can contain a @code{Score} context.  This context
449     handles the administration of time signatures.  It also makes sure
450     that items such as clefs, time signatures, and key-signatures are
451     aligned across staves.
452
453     You cannot explicitly instantiate a Score context (since it is
454     not contained in any other context).  It is instantiated
455     automatically when an output definition (a @code{\score} or
456     @code{\layout} block) is processed."
457
458
459   \consists "Paper_column_engraver"
460   \consists "Vertically_spaced_contexts_engraver"
461   \consists "Repeat_acknowledge_engraver"
462   \consists "Staff_collecting_engraver"
463
464   %% move the alias along with the engraver.
465
466   \consists "Timing_translator"
467   \consists "Default_bar_line_engraver"
468   \consists "Output_property_engraver"
469   \consists "System_start_delimiter_engraver"
470   \consists "Mark_engraver"     
471   \consists "Metronome_mark_engraver"   
472   \consists "Break_align_engraver"
473   \consists "Spacing_engraver"
474   \consists "Grace_spacing_engraver"
475   \consists "Vertical_align_engraver"
476   \consists "Stanza_number_align_engraver"
477   \consists "Bar_number_engraver"
478   \consists "Tweak_engraver"
479   \consists "Parenthesis_engraver"
480   
481   \defaultchild "Staff"
482
483   \accepts "FretBoards"
484   \accepts "Staff"
485   \accepts "RhythmicStaff"
486   \accepts "TabStaff"
487   \accepts "VaticanaStaff"
488   \accepts "GregorianTranscriptionStaff"
489   \accepts "MensuralStaff"
490   \accepts "StaffGroup"
491   \accepts "DrumStaff"
492   \accepts "Lyrics"
493   \accepts "ChordNames"
494   \accepts "GrandStaff"
495   \accepts "ChoirStaff"
496   \accepts "PianoStaff"
497   \accepts "Devnull"
498   \accepts "NoteNames"
499   \accepts "FiguredBass"
500
501
502   noteToFretFunction = #determine-frets
503   soloText = #"Solo"
504   soloIIText = #"Solo II"
505   aDueText = #"a2"
506   printPartCombineTexts = ##t
507   systemStartDelimiter =#'SystemStartBar
508
509   drumStyleTable = #drums-style
510   
511   melismaBusyProperties = #default-melisma-properties
512   tieWaitForNote = ##f
513   clefGlyph = #"clefs.G"
514   clefPosition = #-2
515   middleCPosition = #-6
516   firstClef = ##t
517   
518   defaultBarType = #"|"
519   barNumberVisibility = #first-bar-number-invisible
520   automaticBars = ##t
521   
522   explicitClefVisibility = #all-visible
523   explicitKeySignatureVisibility = #all-visible
524   autoBeamSettings = #default-auto-beam-settings
525   autoBeaming = ##t
526   autoBeamCheck = #default-auto-beam-check
527   scriptDefinitions = #default-script-alist
528
529   pedalSustainStrings = #'("Ped." "*Ped." "*")
530   pedalSustainStyle = #'text
531   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
532   pedalUnaCordaStyle = #'text
533
534 %% These are in ordinary italic font, including the *,
535 %% but they are unlikely to be used, 
536 %% as the default pedal-style for SostenutoPedal is 'mixed':
537 %% i.e.  Sost. Ped_____________________ 
538   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
539   pedalSostenutoStyle = #'mixed
540
541   harmonicAccidentals = ##t 
542   fingeringOrientations = #'(up down)
543   stringNumberOrientations = #'(up down)
544   strokeFingerOrientations = #'(right)
545   
546   markFormatter = #format-mark-letters
547   rehearsalMark = #1
548   subdivideBeams = ##f
549   allowBeamBreak = ##f
550   extraNatural = ##t
551   autoAccidentals = #'(Staff (same-octave . 0))
552   autoCautionaries = #'()  
553
554   printKeyCancellation = ##t
555   keyAlterationOrder = #`(
556     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
557     (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
558     (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
559     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
560   )
561
562   barCheckSynchronize = ##f
563   
564 %% chord names:
565   chordNameFunction = #ignatzek-chord-names
566   majorSevenSymbol = #whiteTriangleMarkup
567   chordNameSeparator = #(make-simple-markup  "/")
568   chordNameExceptions = #ignatzekExceptions
569   chordNoteNamer = #'()
570   chordRootNamer = #note-name->markup
571   chordPrefixSpacer = #0
572   chordNameExceptionsFull = #fullJazzExceptions
573   chordNameExceptionsPartial = #partialJazzExceptions
574   
575
576   bassStaffProperties = #'((assign clefGlyph "clefs.F")
577   (assign clefPosition 2)
578   (assign middleCPosition 6))
579 %% tablature:
580   stringOneTopmost = ##t
581   highStringOne = ##t
582
583 %% One may change the strings tuning as following :
584 %% The lenght of the list must be equal to the number of string
585   stringTunings = #guitar-tuning
586   tablatureFormat = #fret-number-tablature-format
587
588 %%
589   figuredBassFormatter = #format-bass-figure
590   metronomeMarkFormatter = #format-metronome-markup
591   graceSettings = #`(
592     (Voice Stem direction ,UP)
593     (Voice Stem font-size -3)
594     (Voice NoteHead font-size -3)
595     (Voice Dots font-size -3)
596     (Voice Stem length-fraction 0.8)
597     (Voice Stem no-stem-extend #t)
598     (Voice Beam thickness 0.384)
599     (Voice Beam length-fraction 0.8)
600     (Voice Accidental font-size -4)
601     (Voice Slur direction ,DOWN)
602   )
603
604   keepAliveInterfaces = #'(
605     rhythmic-grob-interface
606     lyric-interface
607     percent-repeat-interface)
608   quotedEventTypes = #'(
609     note-event
610     rest-event
611     tie-event
612     beam-event
613     tuplet-span-event)
614   instrumentTransposition = #(ly:make-pitch 0 0 0)
615
616   verticallySpacedContexts = #'(Staff)
617
618   hairpinToBarline = ##t 
619   
620   timing = ##t
621 }
622
623
624
625
626 \context {
627   \type "Engraver_group"
628   \name "FiguredBass"
629
630   \consists "Figured_bass_engraver"
631   \consists "Note_swallow_translator"
632   \consists "Skip_event_swallow_translator"
633   \consists "Separating_line_group_engraver"
634   \consists "Hara_kiri_engraver"
635
636   \override VerticalAxisGroup #'remove-empty = ##t
637   \override VerticalAxisGroup #'remove-first = ##t
638   \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
639 }
640
641 \context {
642   \name "Devnull"
643   \type "Engraver_group"
644
645 %% don't want to route anything out of here: 
646   \alias "Staff"
647   \alias "Voice"
648   \consists "Swallow_engraver"
649   \description "Silently discards all musical information given to this context. "
650 }
651
652 \context {
653   \Voice
654   \name "TabVoice"
655   \alias "Voice"
656   \consists "Tab_note_heads_engraver"
657   \consists "Tab_harmonic_engraver"
658   
659   \remove "Note_heads_engraver"
660   \remove "Fingering_engraver"
661   \remove "New_fingering_engraver"
662
663   \description "Context for drawing notes in a Tab staff. "
664
665   %% TabStaff increase the staff-space, which in turn
666   %% increases beam thickness and spacing; beams are
667   %% too big. We have to adjust the beam settings:
668   \override Beam #'thickness = #0.32
669   \override Beam #'length-fraction = #0.62
670
671   %% No accidental in tablature !
672   \remove Accidental_engraver
673
674   \override Glissando #'extra-dy = #0.75
675   \override Glissando #'gap = #0.2
676 }
677
678 \context {
679   \Staff
680   \alias "Staff"
681   \name "TabStaff"
682   \denies "Voice"
683   \consists "Tab_staff_symbol_engraver"
684   
685   \description "Context for generating tablature. [DOCME]"
686
687   \accepts "TabVoice"
688   \defaultchild "TabVoice"
689   
690   %% 6 strings
691   \override StaffSymbol #'staff-space = #1.5
692
693   %% Don't draw stems over the tablature figures !
694   \override Stem #'avoid-note-head = ##t
695   
696   %% No accidental in tablature !
697   \remove "Accidental_engraver"
698   \remove "Key_engraver"
699   \remove "String_number_engraver"
700   %% Special "TAB" clef
701   clefGlyph = #"clefs.tab"
702   clefPosition = #0
703 }
704
705 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
706 %% but this does not work (is this a bug or intended behaviour?):
707 %%
708 %% If I try to do so, I get "error: unknown escaped string:
709 %% `\VaticanaStaff'" in params-init.ly.  If I also move
710 %% "\context { \Vaticana*Context }" from params-init.ly to the end
711 %% of gregorian-init.ly, then I get "error: parse error, unexpected
712 %% TRANSLATOR: \context { \VaticanaStaff }" in
713 %% gregorian-init.ly. --jr
714
715 \context {
716   \Voice
717   \name "VaticanaVoice"
718   \alias "Voice"
719   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
720
721   \remove "Slur_engraver"
722   \remove "Stem_engraver"
723   \remove "Ligature_bracket_engraver"
724   \consists "Vaticana_ligature_engraver"
725
726   %% Set default head for notes outside of \[ \].
727   \override NoteHead #'style = #'vaticana.punctum
728
729   %% Put some space before and after divisiones.
730   %% FIXME: This does not seem to show any effect.
731   \override Script #'padding = #0.5
732
733   %% There are no beams in Gregorian Chant notation.
734   autoBeaming = ##f
735
736   %% Prepare TextSpanner for \episem{Initium|Finis} use.
737   %%
738   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
739   %% always produce dashed lines, regardless of the style property.
740   %%
741   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
742   %% required to force the articulation signs being placed vertically
743   %% tightly to the correpsonding note heads.
744   %%
745   \override TextSpanner #'dash-fraction = #'()
746   \override TextSpanner #'style = #'line
747   \override TextSpanner #'edge-height = #'(0 . 0)
748   \override TextSpanner #'padding = #-0.1
749   \override TextSpanner #'enclose-bounds = #1
750   \override TextSpanner #'edge-text = #'("" . "")
751 }
752
753 \context {
754   \Staff
755   \name "VaticanaStaff"
756   \alias "Staff"
757   \denies "Voice"
758   \accepts "VaticanaVoice"
759   \defaultchild "VaticanaVoice"
760
761   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
762
763   \remove "Time_signature_engraver"
764   \consists "Custos_engraver"
765
766   %% We can not remove Bar_engraver; otherwise clefs and custodes will
767   %% not show up any more among other line breaking issues.
768   %% Instead, we make the grob transparent.
769   \override BarLine #'transparent = ##t
770
771   \override StaffSymbol #'line-count = #4
772   \override StaffSymbol #'thickness = #0.6
773
774   %% FIXME: unit on StaffSymbol's width should be \linewidth.
775   %% \override StaffSymbol #'width = #60.0
776
777   %% Choose vaticana do clef on 3rd line as default.
778   clefGlyph = #"clefs.vaticana.do"
779   middleCPosition = #1
780   clefPosition = #1
781   clefOctavation = #0
782
783   %% Select vaticana style font.
784   \override KeySignature #'style = #'vaticana
785   \override Accidental #'style = #'vaticana
786   \override Custos #'style = #'vaticana
787   \override Custos #'neutral-position = #3
788   \override Custos #'neutral-direction = #DOWN
789   \override Dots #'style = #'vaticana
790 }
791
792 \context {
793   \Voice
794   \name "GregorianTranscriptionVoice"
795   \alias "Voice"
796
797   %% Removing ligature bracket engraver without replacing it by some
798   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
799   %% warning for every "\[" and "\]".  Therefore, we make the grob
800   %% transparent instead.
801   \override LigatureBracket #'transparent = ##t
802
803   %% Put some space before and after divisiones.
804   %% FIXME: This does not seem to show any effect.
805   \override Script #'padding = #0.5
806
807   %% There are no beams in Gregorian Chant notation.
808   autoBeaming = ##f
809
810   %% Prepare TextSpanner for \episem{Initium|Finis} use.
811   %%
812   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
813   %% always produce dashed lines, regardless of the style property.
814   %%
815   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
816   %% required to force the articulation signs being placed vertically
817   %% tightly to the correpsonding note heads.
818   %%
819   \override TextSpanner #'dash-fraction = #'()
820   \override TextSpanner #'style = #'line
821   \override TextSpanner #'edge-height = #'(0 . 0)
822   \override TextSpanner #'padding = #-0.1
823   \override TextSpanner #'enclose-bounds = #1
824   \override TextSpanner #'edge-text = #'("" . "")
825 }
826
827 \context {
828   \Staff
829   \name "GregorianTranscriptionStaff"
830   \alias "Staff"
831   \denies "Voice"
832   \accepts "GregorianTranscriptionVoice"
833   \defaultchild "GregorianTranscriptionVoice"
834
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
839 }
840
841 \context {
842   \Voice
843   \name "MensuralVoice"
844   \alias "Voice"
845   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
846
847   \remove "Slur_engraver"
848   \remove "Ligature_bracket_engraver"
849   \consists "Mensural_ligature_engraver"
850
851   %% Set default head for notes outside of \[ \].
852   \override NoteHead #'style = #'petrucci
853
854   %% There are no beams in mensural notation.
855   autoBeaming = ##f
856 }
857
858 \context {
859   \Staff
860   \name "MensuralStaff"
861   \alias "Staff"
862   \denies "Voice"
863   \defaultchild "MensuralVoice"
864   \accepts "MensuralVoice"
865   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
866
867   \consists "Custos_engraver"
868
869   %% We can not remove Bar_engraver; otherwise clefs and custodes will
870   %% not show up any more among other line breaking issues.
871   %% Instead, we make the grob transparent.
872   \override BarLine #'transparent = ##t
873
874   \override StaffSymbol #'thickness = #0.6
875
876   %% FIXME: unit on StaffSymbol's width should be \linewidth.
877   %% \override StaffSymbol #'width = #60.0
878
879   %% Choose petrucci g clef on 2nd line as default.
880   clefGlyph = #"clefs.petrucci.g"
881   middleCPosition = #-6
882   clefPosition = #-2
883   clefOctavation = #0
884
885   %% Select mensural style font.
886   \override TimeSignature #'style = #'mensural
887   \override KeySignature #'style = #'mensural
888   \override Accidental #'style = #'mensural
889   \override Custos #'style = #'mensural
890   \override Custos #'neutral-position = #3
891   \override Custos #'neutral-direction = #DOWN
892
893   %% Accidentals are valid only once (same as
894   %% #(set-accidental-style 'forget))
895   extraNatural = ##f
896   autoAccidentals = #'(Staff (same-octave . -1))
897   autoCautionaries = #'()  
898   printKeyCancellation = ##f
899 }
900
901
902 RemoveEmptyRhythmicStaffContext= \context {
903   \RhythmicStaff
904   \remove "Axis_group_engraver"
905   \override VerticalAxisGroup #'remove-empty = ##t
906   \consists "Hara_kiri_engraver"
907 }