]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
* scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
[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 "Lyric_engraver"
342   \consists "Extender_engraver"
343   \consists "Hyphen_engraver"
344   \consists "Stanza_number_engraver"
345   \consists "Vocal_name_engraver"
346   \consists "Skip_event_swallow_translator"
347   \consists "Font_size_engraver"
348   \consists "Hara_kiri_engraver"
349   \override VerticalAxisGroup #'remove-first = ##t
350   \override VerticalAxisGroup #'remove-empty = ##t
351   \override SeparationItem #'padding = #0.2
352
353
354   %% make sure that barlines aren't collapsed, when
355   %% Bar_engraver is there.
356   \override BarLine #'bar-size = #0.1 
357   
358 }
359
360 \context {
361   \type "Engraver_group"
362   \name NoteNames
363   \consists "Axis_group_engraver"
364
365   \override VerticalAxisGroup #'minimum-Y-extent = ##f
366   extraVerticalExtent = ##f
367   verticalExtent = ##f 
368
369   
370   \consists "Rest_swallow_translator" 
371   \consists "Skip_event_swallow_translator"
372   \consists "Tie_engraver"
373   \consists "Note_name_engraver"
374   \consists "Separating_line_group_engraver"
375 }
376
377 \context {
378   \type "Engraver_group"
379   \name ChordNames
380   \description "Typesets chord names."
381
382   \consists "Volta_engraver"
383   
384   \consists "Rest_swallow_translator" 
385   \consists "Output_property_engraver"  
386   \consists "Separating_line_group_engraver"
387   \consists "Chord_name_engraver"
388   \consists "Skip_event_swallow_translator"
389   \consists "Hara_kiri_engraver"
390   
391   voltaOnThisStaff = ##f
392   \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2.5)
393   extraVerticalExtent = ##f
394   \override SeparatingGroupSpanner #'padding = #0.8
395   \override VerticalAxisGroup #'remove-first = ##t
396   \override VerticalAxisGroup #'remove-empty = ##t
397   verticalExtent = ##f 
398 }
399
400
401 RemoveEmptyStaffContext= \context {
402   \Staff
403   \remove "Axis_group_engraver"
404   \consists "Hara_kiri_engraver"
405   \override Beam #'auto-knee-gap = #'()
406   \override VerticalAxisGroup #'remove-empty = ##t
407 }
408
409 AncientRemoveEmptyStaffContext = \context {
410 %% why not add by default?
411   
412   \RemoveEmptyStaffContext
413   \accepts "VaticanaVoice"
414   \accepts "GregorianTranscriptionVoice"
415   \accepts "MensuralVoice"
416 }
417
418 \context {
419   \type Score_engraver
420   \name "Score"
421
422   \description "This is the top level notation context.  No
423     other context can contain a @code{Score} context.  This context
424     handles the administration of time signatures.  It also makes sure
425     that items such as clefs, time signatures, and key-signatures are
426     aligned across staves.
427
428     You cannot explicitly instantiate a Score context (since it is
429     not contained in any other context).  It is instantiated
430     automatically when an output definition (a @code{\score} or
431     @code{\layout} block) is processed."
432
433
434   \consists "Paper_column_engraver"
435   \consists "Vertically_spaced_contexts_engraver"
436   \consists "Repeat_acknowledge_engraver"
437   \consists "Staff_collecting_engraver"
438
439   %% move the alias along with the engraver.
440
441   \consists "Timing_translator"
442   \consists "Default_bar_line_engraver"
443   \consists "Output_property_engraver"
444   \consists "System_start_delimiter_engraver"
445   \consists "Mark_engraver"     
446   \consists "Metronome_mark_engraver"   
447   \consists "Break_align_engraver"
448   \consists "Spacing_engraver"
449   \consists "Vertical_align_engraver"
450   \consists "Stanza_number_align_engraver"
451   \consists "Bar_number_engraver"
452   \consists "Span_arpeggio_engraver"
453
454   \defaultchild "Staff"
455   \accepts "Staff"
456   \accepts "RhythmicStaff"
457   \accepts "TabStaff"
458   \accepts "VaticanaStaff"
459   \accepts "GregorianTranscriptionStaff"
460   \accepts "MensuralStaff"
461   \accepts "StaffGroup"
462   \accepts "DrumStaff"
463   \accepts "Lyrics"
464   \accepts "ChordNames"
465   \accepts "GrandStaff"
466   \accepts "ChoirStaff"
467   \accepts "PianoStaff"
468   \accepts "Devnull"
469   \accepts "NoteNames"
470   \accepts "FiguredBass"
471
472   soloText = #"Solo"
473   soloIIText = #"Solo II"
474   aDueText = #"a2"
475   printPartCombineTexts = ##t
476   systemStartDelimiter =#'SystemStartBar
477
478   drumStyleTable = #drums-style
479   
480   melismaBusyProperties = #default-melisma-properties
481   tieWaitForNote = ##f
482   clefGlyph = #"clefs.G"
483   clefPosition = #-2
484   middleCPosition = #-6
485   firstClef = ##t
486   
487   defaultBarType = #"|"
488   barNumberVisibility = #first-bar-number-invisible
489   automaticBars = ##t
490   
491   explicitClefVisibility = #all-visible
492   explicitKeySignatureVisibility = #all-visible
493   autoBeamSettings = #default-auto-beam-settings
494   autoBeaming = ##t
495   autoBeamCheck = #default-auto-beam-check
496   scriptDefinitions = #default-script-alist
497
498   pedalSustainStrings = #'("Ped." "*Ped." "*")
499   pedalSustainStyle = #'text
500   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
501   pedalUnaCordaStyle = #'text
502
503 %% These are in ordinary italic font, including the *,
504 %% but they are unlikely to be used, 
505 %% as the default pedal-style for SostenutoPedal is 'mixed':
506 %% i.e.  Sost. Ped_____________________ 
507   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
508   pedalSostenutoStyle = #'mixed
509
510
511   harmonicAccidentals = ##t 
512   fingeringOrientations = #'(up down)
513   stringNumberOrientations = #'(up down)
514   tupletNumberFormatFunction = #denominator-tuplet-formatter
515   markFormatter = #format-mark-letters
516   rehearsalMark = #1 
517   subdivideBeams = ##f
518   allowBeamBreak = ##f
519   extraNatural = ##t
520   autoAccidentals = #'(Staff (same-octave . 0))
521   autoCautionaries = #'()  
522
523   printKeyCancellation = ##t
524   keyAlterationOrder = #`(
525     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
526     (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
527     (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
528     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
529   )
530
531   barCheckSynchronize = ##f
532   
533 %% chord names:
534   chordNameFunction = #ignatzek-chord-names
535   majorSevenSymbol = #whiteTriangleMarkup
536   chordNameSeparator = #(make-simple-markup  "/")
537   chordNameExceptions = #ignatzekExceptions
538   chordNoteNamer = #'()
539   chordRootNamer = #note-name->markup
540   chordPrefixSpacer = #0
541   chordNameExceptionsFull = #fullJazzExceptions
542   chordNameExceptionsPartial = #partialJazzExceptions
543   
544
545   bassStaffProperties = #'((assign clefGlyph "clefs.F")
546   (assign clefPosition 2)
547   (assign middleCPosition 6))
548 %% tablature:
549   stringOneTopmost = ##t
550   highStringOne = ##t
551
552 %% One may change the strings tuning as following :
553 %% The lenght of the list must be equal to the number of string
554   stringTunings = #guitar-tuning
555   tablatureFormat = #fret-number-tablature-format
556
557 %%
558   figuredBassFormatter = #format-bass-figure
559   metronomeMarkFormatter = #format-metronome-markup
560   graceSettings = #`(
561     (Voice Stem direction 1)
562     (Voice Stem font-size -3)
563     (Voice NoteHead font-size -3)
564     (Voice Dots font-size -3)
565     (Voice Stem length-fraction 0.8)
566     (Voice Stem no-stem-extend #t)
567     (Voice Beam thickness 0.384)
568     (Voice Beam length-fraction 0.8)
569     (Voice Accidental font-size -4)
570     (Voice Slur direction -1)
571   )
572
573   keepAliveInterfaces = #'(rhythmic-grob-interface lyric-interface percent-repeat-interface)
574   quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event)
575   instrumentTransposition = #(ly:make-pitch 0 0 0)
576
577   verticallySpacedContexts = #'(Staff)
578
579   timing = ##t
580 }
581
582
583
584
585 \context {
586   \type "Engraver_group"
587   \name "FiguredBass"
588
589   \consists "Figured_bass_engraver"
590   \consists "Note_swallow_translator"
591   \consists "Skip_event_swallow_translator"
592   \consists "Separating_line_group_engraver"
593   \consists "Hara_kiri_engraver"
594
595   \override VerticalAxisGroup #'remove-empty = ##t
596   \override VerticalAxisGroup #'remove-first = ##t
597   \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
598 }
599
600 \context {
601   \name "Devnull"
602   \type "Engraver_group"
603
604 %% don't want to route anything out of here: 
605   \alias "Staff"
606   \alias "Voice"
607   \consists "Swallow_engraver"
608   \description "Silently discards all musical information given to this context. "
609 }
610
611 \context {
612   \Voice
613   \name "TabVoice"
614   \alias "Voice"
615   \consists "Tab_note_heads_engraver"
616   \remove "Note_heads_engraver"
617   \remove "Fingering_engraver"
618   \remove "New_fingering_engraver"
619
620   \description "Context for drawing notes in a Tab staff. "
621
622   %% Draws all stems/beams out of the staff (and not in the middle of the staff !)
623   %% This feature is now disabled because most of the tab does not use it.
624   %%\override Beam #'damping = #100000
625   %%\override Stem #'up-to-staff = ##t
626
627   %% TabStaff increase the staff-space, which in turn
628   %% increases beam thickness and spacing; beams are
629   %% too big. We have to adjust the beam settings:
630   \override Beam #'thickness = #0.32
631   \override Beam #'length-fraction = #0.62
632
633   %% No accidental in tablature !
634   \remove Accidental_engraver
635 }
636
637 \context {
638   \Staff
639   \alias "Staff"
640   \name "TabStaff"
641   \denies "Voice"
642   \remove "Staff_symbol_engraver"
643   \consists "Tab_staff_symbol_engraver"
644   
645   \description "Context for generating tablature. [DOCME]"
646
647   \accepts "TabVoice"
648   \defaultchild "TabVoice"
649   
650   %% 6 strings
651   \override StaffSymbol #'staff-space = #1.5
652
653   %% Don't draw stems over the tablature figures !
654   \override Stem #'avoid-note-head = ##t
655   
656   %% No accidental in tablature !
657   \remove "Accidental_engraver"
658   \remove "Key_engraver"
659   \remove "String_number_engraver"
660   %% Special "TAB" clef
661   clefGlyph = #"clefs.tab"
662   clefPosition = #0
663 }
664
665 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
666 %% but this does not work (is this a bug or intended behaviour?):
667 %%
668 %% If I try to do so, I get "error: unknown escaped string:
669 %% `\VaticanaStaff'" in params-init.ly.  If I also move
670 %% "\context { \Vaticana*Context }" from params-init.ly to the end
671 %% of gregorian-init.ly, then I get "error: parse error, unexpected
672 %% TRANSLATOR: \context { \VaticanaStaff }" in
673 %% gregorian-init.ly. --jr
674
675 \context {
676   \Voice
677   \name "VaticanaVoice"
678   \alias "Voice"
679   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
680
681   \remove "Slur_engraver"
682   \remove "Stem_engraver"
683   \remove "Ligature_bracket_engraver"
684   \consists "Vaticana_ligature_engraver"
685
686   %% Set default head for notes outside of \[ \].
687   \override NoteHead #'style = #'vaticana.punctum
688
689   %% Put some space before and after divisiones.
690   %% FIXME: This does not seem to show any effect.
691   \override Script #'padding = #0.5
692
693   %% There are no beams in Gregorian Chant notation.
694   autoBeaming = ##f
695
696   %% Prepare TextSpanner for \episem{Initium|Finis} use.
697   %%
698   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
699   %% always produce dashed lines, regardless of the style property.
700   %%
701   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
702   %% required to force the articulation signs being placed vertically
703   %% tightly to the correpsonding note heads.
704   %%
705   \override TextSpanner #'dash-fraction = #'()
706   \override TextSpanner #'style = #'line
707   \override TextSpanner #'edge-height = #'(0 . 0)
708   \override TextSpanner #'padding = #-0.1
709   \override TextSpanner #'enclose-bounds = #1
710   \override TextSpanner #'edge-text = #'("" . "")
711 }
712
713 %% FIXME: need something like
714 %%  \remove "Bar_number_engraver" (which lives on score level)
715 %% for vaticana and gregorian transcription staves
716
717 \context {
718   \Staff
719   \name "VaticanaStaff"
720   \alias "Staff"
721   \denies "Voice"
722   \accepts "VaticanaVoice"
723   \defaultchild "VaticanaVoice"
724
725   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
726
727   \remove "Time_signature_engraver"
728   \consists "Custos_engraver"
729
730   %% We can not remove Bar_engraver; otherwise clefs and custodes will
731   %% not show up any more among other line breaking issues.
732   %% Instead, we make the grob transparent.
733   \override BarLine #'transparent = ##t
734
735   \override StaffSymbol #'line-count = #4
736   \override StaffSymbol #'thickness = #0.6
737
738   %% FIXME: unit on StaffSymbol's width should be \linewidth.
739   %% \override StaffSymbol #'width = #60.0
740
741   %% Choose vaticana do clef on 3rd line as default.
742   clefGlyph = #"clefs.vaticana.do"
743   middleCPosition = #1
744   clefPosition = #1
745   clefOctavation = #0
746
747   %% Select vaticana style font.
748   \override KeySignature #'style = #'vaticana
749   \override Accidental #'style = #'vaticana
750   \override Custos #'style = #'vaticana
751   \override Custos #'neutral-position = #3
752   \override Custos #'neutral-direction = #DOWN
753
754   %% Score.timing = ##f
755   %% Score.barAlways = ##t
756 }
757
758 \context {
759   \Voice
760   \name "GregorianTranscriptionVoice"
761   \alias "Voice"
762
763   %% Removing ligature bracket engraver without replacing it by some
764   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
765   %% warning for every "\[" and "\]".  Therefore, we make the grob
766   %% transparent instead.
767   \override LigatureBracket #'transparent = ##t
768
769   %% Put some space before and after divisiones.
770   %% FIXME: This does not seem to show any effect.
771   \override Script #'padding = #0.5
772
773   %% There are no beams in Gregorian Chant notation.
774   autoBeaming = ##f
775
776   %% Prepare TextSpanner for \episem{Initium|Finis} use.
777   %%
778   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
779   %% always produce dashed lines, regardless of the style property.
780   %%
781   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
782   %% required to force the articulation signs being placed vertically
783   %% tightly to the correpsonding note heads.
784   %%
785   \override TextSpanner #'dash-fraction = #'()
786   \override TextSpanner #'style = #'line
787   \override TextSpanner #'edge-height = #'(0 . 0)
788   \override TextSpanner #'padding = #-0.1
789   \override TextSpanner #'enclose-bounds = #1
790   \override TextSpanner #'edge-text = #'("" . "")
791 }
792
793 \context {
794   \Staff
795   \name "GregorianTranscriptionStaff"
796   \alias "Staff"
797   \denies "Voice"
798   \accepts "GregorianTranscriptionVoice"
799   \defaultchild "GregorianTranscriptionVoice"
800
801   %% We can not remove Bar_engraver; otherwise clefs and custodes will
802   %% not show up any more among other line breaking issues.
803   %% Instead, we make the grob transparent.
804   \override BarLine #'transparent = ##t
805 }
806
807 \context {
808   \Voice
809   \name "MensuralVoice"
810   \alias "Voice"
811   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
812
813   \remove "Slur_engraver"
814   \remove "Ligature_bracket_engraver"
815   \consists "Mensural_ligature_engraver"
816
817   %% Set default head for notes outside of \[ \].
818   \override NoteHead #'style = #'petrucci
819
820   %% There are no beams in mensural notation.
821   autoBeaming = ##f
822 }
823
824 \context {
825   \Staff
826   \name "MensuralStaff"
827   \alias "Staff"
828   \denies "Voice"
829   \defaultchild "MensuralVoice"
830   \accepts "MensuralVoice"
831   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
832
833   \consists "Custos_engraver"
834
835   %% We can not remove Bar_engraver; otherwise clefs and custodes will
836   %% not show up any more among other line breaking issues.
837   %% Instead, we make the grob transparent.
838   \override BarLine #'transparent = ##t
839
840   \override StaffSymbol #'thickness = #0.6
841
842   %% FIXME: unit on StaffSymbol's width should be \linewidth.
843   %% \override StaffSymbol #'width = #60.0
844
845   %% Choose petrucci g clef on 2nd line as default.
846   clefGlyph = #"clefs.petrucci.g"
847   middleCPosition = #-6
848   clefPosition = #-2
849   clefOctavation = #0
850
851   %% Select mensural style font.
852   \override TimeSignature #'style = #'mensural
853   \override KeySignature #'style = #'mensural
854   \override Accidental #'style = #'mensural
855   \override Custos #'style = #'mensural
856   \override Custos #'neutral-position = #3
857   \override Custos #'neutral-direction = #DOWN
858
859   %% Score.timing = ##f
860   %% Score.barAlways = ##t
861 }
862
863
864 RemoveEmptyRhythmicStaffContext= \context {
865   \RhythmicStaff
866   \remove "Axis_group_engraver"
867   \override VerticalAxisGroup #'remove-empty = ##t
868   \consists "Hara_kiri_engraver"
869 }