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