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