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