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