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