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