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