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