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