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