]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
(all-grob-descriptions): add
[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 VerticalAxisGroup #'remove-first = ##t
351   \override VerticalAxisGroup #'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 VerticalAxisGroup #'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 VerticalAxisGroup #'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   keepAliveInterfaces = #'(rhythmic-grob-interface
656         
657         lyric-interface percent-repeat-interface)
658
659 }
660
661 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
662 %% but this does not work (is this a bug or intended behaviour?):
663 %%
664 %% If I try to do so, I get "error: unknown escaped string:
665 %% `\VaticanaStaff'" in params-init.ly.  If I also move
666 %% "\context { \Vaticana*Context }" from params-init.ly to the end
667 %% of gregorian-init.ly, then I get "error: parse error, unexpected
668 %% TRANSLATOR: \context { \VaticanaStaff }" in
669 %% gregorian-init.ly. --jr
670
671 \context {
672   \Voice
673   \name "VaticanaVoice"
674   \alias "Voice"
675   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
676
677   \remove "Slur_engraver"
678   \remove "Stem_engraver"
679   \remove "Ligature_bracket_engraver"
680   \consists "Vaticana_ligature_engraver"
681
682   %% Set default head for notes outside of \[ \].
683   \override NoteHead #'style = #'vaticana.punctum
684
685   %% Put some space before and after divisiones.
686   %% FIXME: This does not seem to show any effect.
687   \override Script #'padding = #0.5
688
689   %% There are no beams in Gregorian Chant notation.
690   autoBeaming = ##f
691
692   %% Prepare TextSpanner for \episem{Initium|Finis} use.
693   %%
694   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
695   %% always produce dashed lines, regardless of the style property.
696   %%
697   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
698   %% required to force the articulation signs being placed vertically
699   %% tightly to the correpsonding note heads.
700   %%
701   \override TextSpanner #'dash-fraction = #'()
702   \override TextSpanner #'style = #'line
703   \override TextSpanner #'edge-height = #'(0 . 0)
704   \override TextSpanner #'padding = #-0.1
705   \override TextSpanner #'enclose-bounds = #1
706   \override TextSpanner #'edge-text = #'("" . "")
707 }
708
709 %% FIXME: need something like
710 %%  \remove "Bar_number_engraver" (which lives on score level)
711 %% for vaticana and gregorian transcription staves
712
713 \context {
714   \Staff
715   \name "VaticanaStaff"
716   \alias "Staff"
717   \denies "Voice"
718   \accepts "VaticanaVoice"
719   \defaultchild "VaticanaVoice"
720
721   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
722
723   \remove "Time_signature_engraver"
724   \consists "Custos_engraver"
725
726   %% We can not remove Bar_engraver; otherwise clefs and custodes will
727   %% not show up any more among other line breaking issues.
728   %% Instead, we make the grob transparent.
729   \override BarLine #'transparent = ##t
730
731   \override StaffSymbol #'line-count = #4
732   \override StaffSymbol #'thickness = #0.6
733
734   %% FIXME: unit on StaffSymbol's width should be \linewidth.
735   %% \override StaffSymbol #'width = #60.0
736
737   %% Choose vaticana do clef on 3rd line as default.
738   clefGlyph = #"clefs.vaticana.do"
739   middleCPosition = #1
740   clefPosition = #1
741   clefOctavation = #0
742
743   %% Select vaticana style font.
744   \override KeySignature #'style = #'vaticana
745   \override Accidental #'style = #'vaticana
746   \override Custos #'style = #'vaticana
747   \override Custos #'neutral-position = #3
748   \override Custos #'neutral-direction = #DOWN
749
750   %% Score.timing = ##f
751   %% Score.barAlways = ##t
752 }
753
754 \context {
755   \Voice
756   \name "GregorianTranscriptionVoice"
757   \alias "Voice"
758
759   %% Removing ligature bracket engraver without replacing it by some
760   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
761   %% warning for every "\[" and "\]".  Therefore, we make the grob
762   %% transparent instead.
763   \override LigatureBracket #'transparent = ##t
764
765   %% Put some space before and after divisiones.
766   %% FIXME: This does not seem to show any effect.
767   \override Script #'padding = #0.5
768
769   %% There are no beams in Gregorian Chant notation.
770   autoBeaming = ##f
771
772   %% Prepare TextSpanner for \episem{Initium|Finis} use.
773   %%
774   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
775   %% always produce dashed lines, regardless of the style property.
776   %%
777   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
778   %% required to force the articulation signs being placed vertically
779   %% tightly to the correpsonding note heads.
780   %%
781   \override TextSpanner #'dash-fraction = #'()
782   \override TextSpanner #'style = #'line
783   \override TextSpanner #'edge-height = #'(0 . 0)
784   \override TextSpanner #'padding = #-0.1
785   \override TextSpanner #'enclose-bounds = #1
786   \override TextSpanner #'edge-text = #'("" . "")
787 }
788
789 \context {
790   \Staff
791   \name "GregorianTranscriptionStaff"
792   \alias "Staff"
793   \denies "Voice"
794   \accepts "GregorianTranscriptionVoice"
795   \defaultchild "GregorianTranscriptionVoice"
796
797   %% We can not remove Bar_engraver; otherwise clefs and custodes will
798   %% not show up any more among other line breaking issues.
799   %% Instead, we make the grob transparent.
800   \override BarLine #'transparent = ##t
801 }
802
803 \context {
804   \Voice
805   \name "MensuralVoice"
806   \alias "Voice"
807   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
808
809   \remove "Slur_engraver"
810   \remove "Ligature_bracket_engraver"
811   \consists "Mensural_ligature_engraver"
812
813   %% Set default head for notes outside of \[ \].
814   \override NoteHead #'style = #'petrucci
815
816   %% There are no beams in mensural notation.
817   autoBeaming = ##f
818 }
819
820 \context {
821   \Staff
822   \name "MensuralStaff"
823   \alias "Staff"
824   \denies "Voice"
825   \defaultchild "MensuralVoice"
826   \accepts "MensuralVoice"
827   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
828
829   \consists "Custos_engraver"
830
831   %% We can not remove Bar_engraver; otherwise clefs and custodes will
832   %% not show up any more among other line breaking issues.
833   %% Instead, we make the grob transparent.
834   \override BarLine #'transparent = ##t
835
836   \override StaffSymbol #'thickness = #0.6
837
838   %% FIXME: unit on StaffSymbol's width should be \linewidth.
839   %% \override StaffSymbol #'width = #60.0
840
841   %% Choose petrucci g clef on 2nd line as default.
842   clefGlyph = #"clefs.petrucci.g"
843   middleCPosition = #-6
844   clefPosition = #-2
845   clefOctavation = #0
846
847   %% Select mensural style font.
848   \override TimeSignature #'style = #'mensural
849   \override KeySignature #'style = #'mensural
850   \override Accidental #'style = #'mensural
851   \override Custos #'style = #'mensural
852   \override Custos #'neutral-position = #3
853   \override Custos #'neutral-direction = #DOWN
854
855   %% Score.timing = ##f
856   %% Score.barAlways = ##t
857 }
858
859
860 RemoveEmptyRhythmicStaffContext= \context {
861   \RhythmicStaff
862   \remove "Axis_group_engraver"
863   \consists "Hara_kiri_engraver"
864 }