]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
switch on hairpinToBarline by default.
[lilypond.git] / ly / engraver-init.ly
1 \version "2.7.39"
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   
70   \remove "Accidental_engraver"
71   \remove "Ottava_spanner_engraver"
72   \remove "Key_engraver" 
73   \remove "Piano_pedal_engraver"
74   \remove "String_number_engraver"
75   
76   \description "Handles typesetting for percussion."
77
78   \denies "Voice"
79   \accepts "DrumVoice"
80   \defaultchild "DrumVoice"
81
82   clefGlyph = #"clefs.percussion"
83   clefPosition = #0
84   \override Script #'staff-padding = #0.75 
85 }
86
87
88 \context {
89   \type "Engraver_group"
90   \name "InnerChoirStaff"
91   \consists "System_start_delimiter_engraver"
92   systemStartDelimiter = #'SystemStartBracket
93   vocalName = #'()
94   vocNam = #'()
95
96   \accepts "Staff"
97   \accepts "DrumStaff"
98   \accepts "RhythmicStaff"
99   \accepts "GrandStaff"
100   \accepts "PianoStaff"
101   \accepts "Lyrics"
102   \accepts "ChordNames"
103   \defaultchild "Staff"
104 }
105
106 \context {
107   \InnerChoirStaff
108   \name ChoirStaff
109   
110   \defaultchild "Staff"
111   \accepts "InnerChoirStaff"
112   \accepts "InnerStaffGroup"
113   \description "Identical to @code{StaffGroup} except that the
114 contained staves are not connected vertically."
115
116 }
117
118 \context{
119   \type "Engraver_group"
120   
121   \override VerticalAxisGroup #'minimum-Y-extent = ##f
122   extraVerticalExtent = ##f
123   verticalExtent = ##f 
124   localKeySignature = #'()
125   createSpacing = ##t
126
127   squashedPosition = #0
128   \name RhythmicStaff
129   \alias "Staff"
130   
131   \override BarLine #'bar-size = #4
132   \override VoltaBracket #'staff-padding = #3
133   \override StaffSymbol #'line-count = #1       
134
135   \override Stem  #'neutral-direction = #UP
136   \override Beam  #'neutral-direction = #UP
137   
138   \consists "Output_property_engraver"
139   \consists "Font_size_engraver"
140   \consists "Volta_engraver"
141   \consists "Separating_line_group_engraver"    
142   \consists "Dot_column_engraver"
143   \consists "Bar_engraver"
144   \consists "Ledger_line_engraver" 
145   \consists "Staff_symbol_engraver"
146   \consists "Pitch_squash_engraver"
147   \consists "Time_signature_engraver"
148   \consists "Instrument_name_engraver"
149   \consists "Axis_group_engraver"
150   
151   \accepts "Voice"
152   \accepts "CueVoice"
153   \defaultchild "Voice"
154
155   \description  "
156     A context like @code{Staff} but for printing rhythms.  Pitches are
157     ignored; the notes are printed on one line.  
158 "
159 }
160
161
162 \context {
163   \type "Engraver_group"
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 "Pitched_trill_engraver"
178   \consists "Output_property_engraver"  
179   \consists "Arpeggio_engraver"
180   \consists "Multi_measure_rest_engraver"
181   \consists "Text_spanner_engraver"
182   \consists "Trill_spanner_engraver"
183   \consists "Grob_pq_engraver"
184   \consists "Forbid_line_break_engraver"
185   \consists "Laissez_vibrer_engraver"
186   \consists "Repeat_tie_engraver"
187   \consists "Note_head_line_engraver"
188   \consists "Glissando_engraver"
189   \consists "Ligature_bracket_engraver"
190   \consists "Breathing_sign_engraver"
191   \consists "Note_heads_engraver"
192   \consists "Rest_engraver"
193
194   %% switch on to make stem directions interpolate for the
195   %% center line.
196   %  \consists "Melody_engraver"
197
198   \consists "Stem_engraver"
199   \consists "Beam_engraver"
200   \consists "Grace_beam_engraver"
201   \consists "Auto_beam_engraver"
202   \consists "New_fingering_engraver"
203   \consists "Chord_tremolo_engraver"
204   \consists "Percent_repeat_engraver"
205   \consists "Slash_repeat_engraver"
206   \consists "Melisma_translator"
207   \consists "Part_combine_engraver"
208
209   \consists "Text_engraver"
210   \consists "Dynamic_engraver"
211   \consists "Fingering_engraver"
212
213   \consists "Script_engraver"
214   \consists "Script_column_engraver"
215   \consists "Rhythmic_column_engraver"
216   \consists "Phrasing_slur_engraver"
217   \consists "Cluster_spanner_engraver"
218   \consists "Slur_engraver"
219   \consists "Tie_engraver"
220   \consists "Tuplet_engraver"
221   \consists "Grace_engraver"
222
223   \consists "Skip_event_swallow_translator"
224 }
225
226 \context{
227   \Voice
228   
229   \name CueVoice
230   \alias Voice
231   fontSize = #-4
232   \override Stem #'length-fraction = #(magstep -4)
233   \override Beam #'length-fraction = #(magstep -4)
234 }
235
236 \context {
237   \Voice
238   \name DrumVoice
239   \alias Voice
240
241   \description "A voice on a percussion staff."
242   \remove "Arpeggio_engraver"
243   \consists "Multi_measure_rest_engraver"
244   \consists "Text_spanner_engraver"
245   \consists "Grob_pq_engraver"
246
247   \remove "Note_head_line_engraver"
248   \remove "Glissando_engraver"
249   \remove "Ligature_bracket_engraver"
250   \remove "Note_heads_engraver"
251   \consists "Drum_notes_engraver"
252   \remove "New_fingering_engraver"
253
254   \remove "Fingering_engraver"
255
256   \remove "Cluster_spanner_engraver"
257   \consists "Tuplet_engraver"
258
259   \consists "Skip_event_swallow_translator"
260 }
261
262 \context{
263   \type "Engraver_group"
264   \name GrandStaff
265   localKeySignature = #'()
266   
267   \description " A group of staffs, with a brace on the left
268     side, grouping the staves together.  The bar lines of the
269     contained staves are connected vertically.  "
270
271   \consists "Span_bar_engraver"
272   \consists "Span_arpeggio_engraver"
273   \consists "System_start_delimiter_engraver"
274   systemStartDelimiter = #'SystemStartBrace
275
276   \accepts "Staff"
277 }
278
279 \context{
280   \GrandStaff
281   \name "PianoStaff"
282   \alias "GrandStaff"
283
284   \description
285   "Just like @code{GrandStaff} but with a forced distance between
286     the staves, so cross staff beaming and slurring can be used."
287   
288   \override VerticalAlignment #'forced-distance = #12
289   \override VerticalAlignment #'self-alignment-Y = #0
290
291   \consists "Vertical_align_engraver"
292   \consists "Instrument_name_engraver"
293   
294   instrument = #'()
295   instr = #'()
296 }
297
298 \context {
299   \type "Engraver_group"
300   \name InnerStaffGroup
301
302   \consists "Span_bar_engraver"
303   \consists "Span_arpeggio_engraver"
304   \consists "Output_property_engraver"  
305   systemStartDelimiter = #'SystemStartBracket
306
307   \consists "System_start_delimiter_engraver"
308
309   \defaultchild "Staff"
310   \accepts "Staff"
311   \accepts "RhythmicStaff"
312   \accepts "DrumStaff"
313   \accepts "GrandStaff"
314   \accepts "PianoStaff"
315   \accepts "TabStaff"   
316   \accepts "Lyrics"
317   \accepts "ChordNames"
318 }
319
320 \context {
321   \InnerStaffGroup
322   \name StaffGroup
323   
324   \description
325
326   "Groups staffs while adding a bracket on the left side, grouping
327 the staves together.  The bar lines of the contained staves are
328 connected vertically.  StaffGroup only consists of a collection of
329 staffs, with a bracket in front and spanning bar lines. "
330   
331   \accepts "InnerChoirStaff"
332   \accepts "ChoirStaff"
333   \accepts "InnerStaffGroup"
334   \accepts "FiguredBass"
335 }
336
337
338 \context{
339   \type "Engraver_group"
340   \override VerticalAxisGroup #'minimum-Y-extent = #'(-1.2 . 2.4)
341   extraVerticalExtent = ##f
342   verticalExtent = ##f
343
344   \description " Corresponds to a voice with lyrics.  Handles the
345 printing of a single line of lyrics.  "
346   
347   \name Lyrics 
348   \consists "Lyric_engraver"
349   \consists "Extender_engraver"
350   \consists "Hyphen_engraver"
351   \consists "Stanza_number_engraver"
352   \consists "Instrument_name_engraver"
353   \consists "Skip_event_swallow_translator"
354   \consists "Font_size_engraver"
355   \consists "Hara_kiri_engraver"
356   \override VerticalAxisGroup #'remove-first = ##t
357   \override VerticalAxisGroup #'remove-empty = ##t
358   \override SeparationItem #'padding = #0.2
359   \override InstrumentName #'self-alignment-Y = ##f
360
361   %% sync with define-grobs.scm ;
362   \override InstrumentName #'font-size = #1.0
363
364   %% make sure that barlines aren't collapsed, when
365   %% Bar_engraver is there.
366   \override BarLine #'bar-size = #0.1 
367   
368 }
369
370 \context {
371   \type "Engraver_group"
372   \name NoteNames
373   \consists "Axis_group_engraver"
374
375   \override VerticalAxisGroup #'minimum-Y-extent = ##f
376   extraVerticalExtent = ##f
377   verticalExtent = ##f 
378
379   
380   \consists "Rest_swallow_translator" 
381   \consists "Skip_event_swallow_translator"
382   \consists "Tie_engraver"
383   \consists "Note_name_engraver"
384   \consists "Separating_line_group_engraver"
385 }
386
387 \context {
388   \type "Engraver_group"
389   \name ChordNames
390   \description "Typesets chord names."
391
392   \consists "Volta_engraver"
393   
394   \consists "Rest_swallow_translator" 
395   \consists "Output_property_engraver"  
396   \consists "Separating_line_group_engraver"
397   \consists "Chord_name_engraver"
398   \consists "Skip_event_swallow_translator"
399   \consists "Hara_kiri_engraver"
400   
401   voltaOnThisStaff = ##f
402   \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2.5)
403   extraVerticalExtent = ##f
404   \override SeparatingGroupSpanner #'padding = #0.8
405   \override VerticalAxisGroup #'remove-first = ##t
406   \override VerticalAxisGroup #'remove-empty = ##t
407   verticalExtent = ##f 
408 }
409
410
411 RemoveEmptyStaffContext= \context {
412   \Staff
413   \remove "Axis_group_engraver"
414   \consists "Hara_kiri_engraver"
415   \override Beam #'auto-knee-gap = #'()
416   \override VerticalAxisGroup #'remove-empty = ##t
417 }
418
419 AncientRemoveEmptyStaffContext = \context {
420 %% why not add by default?
421   
422   \RemoveEmptyStaffContext
423   \accepts "VaticanaVoice"
424   \accepts "GregorianTranscriptionVoice"
425   \accepts "MensuralVoice"
426 }
427
428 \context {
429   \type "Score_engraver"
430   \name "Score"
431   
432   \description "This is the top level notation context.  No
433     other context can contain a @code{Score} context.  This context
434     handles the administration of time signatures.  It also makes sure
435     that items such as clefs, time signatures, and key-signatures are
436     aligned across staves.
437
438     You cannot explicitly instantiate a Score context (since it is
439     not contained in any other context).  It is instantiated
440     automatically when an output definition (a @code{\score} or
441     @code{\layout} block) is processed."
442
443
444   \consists "Paper_column_engraver"
445   \consists "Vertically_spaced_contexts_engraver"
446   \consists "Repeat_acknowledge_engraver"
447   \consists "Staff_collecting_engraver"
448
449   %% move the alias along with the engraver.
450
451   \consists "Timing_translator"
452   \consists "Default_bar_line_engraver"
453   \consists "Output_property_engraver"
454   \consists "System_start_delimiter_engraver"
455   \consists "Mark_engraver"     
456   \consists "Metronome_mark_engraver"   
457   \consists "Break_align_engraver"
458   \consists "Spacing_engraver"
459   \consists "Vertical_align_engraver"
460   \consists "Stanza_number_align_engraver"
461   \consists "Bar_number_engraver"
462   \consists "Tweak_engraver"
463   \consists "Parenthesis_engraver"
464   
465   \defaultchild "Staff"
466
467   \accepts "Staff"
468   \accepts "RhythmicStaff"
469   \accepts "TabStaff"
470   \accepts "VaticanaStaff"
471   \accepts "GregorianTranscriptionStaff"
472   \accepts "MensuralStaff"
473   \accepts "StaffGroup"
474   \accepts "DrumStaff"
475   \accepts "Lyrics"
476   \accepts "ChordNames"
477   \accepts "GrandStaff"
478   \accepts "ChoirStaff"
479   \accepts "PianoStaff"
480   \accepts "Devnull"
481   \accepts "NoteNames"
482   \accepts "FiguredBass"
483   
484   soloText = #"Solo"
485   soloIIText = #"Solo II"
486   aDueText = #"a2"
487   printPartCombineTexts = ##t
488   systemStartDelimiter =#'SystemStartBar
489
490   drumStyleTable = #drums-style
491   
492   melismaBusyProperties = #default-melisma-properties
493   tieWaitForNote = ##f
494   clefGlyph = #"clefs.G"
495   clefPosition = #-2
496   middleCPosition = #-6
497   firstClef = ##t
498   
499   defaultBarType = #"|"
500   barNumberVisibility = #first-bar-number-invisible
501   automaticBars = ##t
502   
503   explicitClefVisibility = #all-visible
504   explicitKeySignatureVisibility = #all-visible
505   autoBeamSettings = #default-auto-beam-settings
506   autoBeaming = ##t
507   autoBeamCheck = #default-auto-beam-check
508   scriptDefinitions = #default-script-alist
509
510   pedalSustainStrings = #'("Ped." "*Ped." "*")
511   pedalSustainStyle = #'text
512   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
513   pedalUnaCordaStyle = #'text
514
515 %% These are in ordinary italic font, including the *,
516 %% but they are unlikely to be used, 
517 %% as the default pedal-style for SostenutoPedal is 'mixed':
518 %% i.e.  Sost. Ped_____________________ 
519   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
520   pedalSostenutoStyle = #'mixed
521
522   harmonicAccidentals = ##t 
523   fingeringOrientations = #'(up down)
524   stringNumberOrientations = #'(up down)
525   tupletNumberFormatFunction = #denominator-tuplet-formatter
526   markFormatter = #format-mark-letters
527   rehearsalMark = #1
528   subdivideBeams = ##f
529   allowBeamBreak = ##f
530   extraNatural = ##t
531   autoAccidentals = #'(Staff (same-octave . 0))
532   autoCautionaries = #'()  
533
534   printKeyCancellation = ##t
535   keyAlterationOrder = #`(
536     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
537     (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
538     (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
539     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
540   )
541
542   barCheckSynchronize = ##f
543   
544 %% chord names:
545   chordNameFunction = #ignatzek-chord-names
546   majorSevenSymbol = #whiteTriangleMarkup
547   chordNameSeparator = #(make-simple-markup  "/")
548   chordNameExceptions = #ignatzekExceptions
549   chordNoteNamer = #'()
550   chordRootNamer = #note-name->markup
551   chordPrefixSpacer = #0
552   chordNameExceptionsFull = #fullJazzExceptions
553   chordNameExceptionsPartial = #partialJazzExceptions
554   
555
556   bassStaffProperties = #'((assign clefGlyph "clefs.F")
557   (assign clefPosition 2)
558   (assign middleCPosition 6))
559 %% tablature:
560   stringOneTopmost = ##t
561   highStringOne = ##t
562
563 %% One may change the strings tuning as following :
564 %% The lenght of the list must be equal to the number of string
565   stringTunings = #guitar-tuning
566   tablatureFormat = #fret-number-tablature-format
567
568 %%
569   figuredBassFormatter = #format-bass-figure
570   metronomeMarkFormatter = #format-metronome-markup
571   graceSettings = #`(
572     (Voice Stem direction ,UP)
573     (Voice Stem font-size -3)
574     (Voice NoteHead font-size -3)
575     (Voice Dots font-size -3)
576     (Voice Stem length-fraction 0.8)
577     (Voice Stem no-stem-extend #t)
578     (Voice Beam thickness 0.384)
579     (Voice Beam length-fraction 0.8)
580     (Voice Accidental font-size -4)
581     (Voice Slur direction ,DOWN)
582   )
583
584   keepAliveInterfaces = #'(rhythmic-grob-interface lyric-interface percent-repeat-interface)
585   quotedEventTypes = #'(note-event rest-event time-scaled-music tie-event beam-event)
586   instrumentTransposition = #(ly:make-pitch 0 0 0)
587
588   verticallySpacedContexts = #'(Staff)
589
590   hairpinToBarline = ##t 
591   
592   timing = ##t
593 }
594
595
596
597
598 \context {
599   \type "Engraver_group"
600   \name "FiguredBass"
601
602   \consists "Figured_bass_engraver"
603   \consists "Note_swallow_translator"
604   \consists "Skip_event_swallow_translator"
605   \consists "Separating_line_group_engraver"
606   \consists "Hara_kiri_engraver"
607
608   \override VerticalAxisGroup #'remove-empty = ##t
609   \override VerticalAxisGroup #'remove-first = ##t
610   \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
611 }
612
613 \context {
614   \name "Devnull"
615   \type "Engraver_group"
616
617 %% don't want to route anything out of here: 
618   \alias "Staff"
619   \alias "Voice"
620   \consists "Swallow_engraver"
621   \description "Silently discards all musical information given to this context. "
622 }
623
624 \context {
625   \Voice
626   \name "TabVoice"
627   \alias "Voice"
628   \consists "Tab_note_heads_engraver"
629   \remove "Note_heads_engraver"
630   \remove "Fingering_engraver"
631   \remove "New_fingering_engraver"
632
633   \description "Context for drawing notes in a Tab staff. "
634
635   %% TabStaff increase the staff-space, which in turn
636   %% increases beam thickness and spacing; beams are
637   %% too big. We have to adjust the beam settings:
638   \override Beam #'thickness = #0.32
639   \override Beam #'length-fraction = #0.62
640
641   %% No accidental in tablature !
642   \remove Accidental_engraver
643 }
644
645 \context {
646   \Staff
647   \alias "Staff"
648   \name "TabStaff"
649   \denies "Voice"
650   \remove "Staff_symbol_engraver"
651   \consists "Tab_staff_symbol_engraver"
652   
653   \description "Context for generating tablature. [DOCME]"
654
655   \accepts "TabVoice"
656   \defaultchild "TabVoice"
657   
658   %% 6 strings
659   \override StaffSymbol #'staff-space = #1.5
660
661   %% Don't draw stems over the tablature figures !
662   \override Stem #'avoid-note-head = ##t
663   
664   %% No accidental in tablature !
665   \remove "Accidental_engraver"
666   \remove "Key_engraver"
667   \remove "String_number_engraver"
668   %% Special "TAB" clef
669   clefGlyph = #"clefs.tab"
670   clefPosition = #0
671 }
672
673 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
674 %% but this does not work (is this a bug or intended behaviour?):
675 %%
676 %% If I try to do so, I get "error: unknown escaped string:
677 %% `\VaticanaStaff'" in params-init.ly.  If I also move
678 %% "\context { \Vaticana*Context }" from params-init.ly to the end
679 %% of gregorian-init.ly, then I get "error: parse error, unexpected
680 %% TRANSLATOR: \context { \VaticanaStaff }" in
681 %% gregorian-init.ly. --jr
682
683 \context {
684   \Voice
685   \name "VaticanaVoice"
686   \alias "Voice"
687   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
688
689   \remove "Slur_engraver"
690   \remove "Stem_engraver"
691   \remove "Ligature_bracket_engraver"
692   \consists "Vaticana_ligature_engraver"
693
694   %% Set default head for notes outside of \[ \].
695   \override NoteHead #'style = #'vaticana.punctum
696
697   %% Put some space before and after divisiones.
698   %% FIXME: This does not seem to show any effect.
699   \override Script #'padding = #0.5
700
701   %% There are no beams in Gregorian Chant notation.
702   autoBeaming = ##f
703
704   %% Prepare TextSpanner for \episem{Initium|Finis} use.
705   %%
706   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
707   %% always produce dashed lines, regardless of the style property.
708   %%
709   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
710   %% required to force the articulation signs being placed vertically
711   %% tightly to the correpsonding note heads.
712   %%
713   \override TextSpanner #'dash-fraction = #'()
714   \override TextSpanner #'style = #'line
715   \override TextSpanner #'edge-height = #'(0 . 0)
716   \override TextSpanner #'padding = #-0.1
717   \override TextSpanner #'enclose-bounds = #1
718   \override TextSpanner #'edge-text = #'("" . "")
719 }
720
721 %% FIXME: need something like
722 %%  \remove "Bar_number_engraver" (which lives on score level)
723 %% for vaticana and gregorian transcription staves
724
725 \context {
726   \Staff
727   \name "VaticanaStaff"
728   \alias "Staff"
729   \denies "Voice"
730   \accepts "VaticanaVoice"
731   \defaultchild "VaticanaVoice"
732
733   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
734
735   \remove "Time_signature_engraver"
736   \consists "Custos_engraver"
737
738   %% We can not remove Bar_engraver; otherwise clefs and custodes will
739   %% not show up any more among other line breaking issues.
740   %% Instead, we make the grob transparent.
741   \override BarLine #'transparent = ##t
742
743   \override StaffSymbol #'line-count = #4
744   \override StaffSymbol #'thickness = #0.6
745
746   %% FIXME: unit on StaffSymbol's width should be \linewidth.
747   %% \override StaffSymbol #'width = #60.0
748
749   %% Choose vaticana do clef on 3rd line as default.
750   clefGlyph = #"clefs.vaticana.do"
751   middleCPosition = #1
752   clefPosition = #1
753   clefOctavation = #0
754
755   %% Select vaticana style font.
756   \override KeySignature #'style = #'vaticana
757   \override Accidental #'style = #'vaticana
758   \override Custos #'style = #'vaticana
759   \override Custos #'neutral-position = #3
760   \override Custos #'neutral-direction = #DOWN
761 }
762
763 \context {
764   \Voice
765   \name "GregorianTranscriptionVoice"
766   \alias "Voice"
767
768   %% Removing ligature bracket engraver without replacing it by some
769   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
770   %% warning for every "\[" and "\]".  Therefore, we make the grob
771   %% transparent instead.
772   \override LigatureBracket #'transparent = ##t
773
774   %% Put some space before and after divisiones.
775   %% FIXME: This does not seem to show any effect.
776   \override Script #'padding = #0.5
777
778   %% There are no beams in Gregorian Chant notation.
779   autoBeaming = ##f
780
781   %% Prepare TextSpanner for \episem{Initium|Finis} use.
782   %%
783   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
784   %% always produce dashed lines, regardless of the style property.
785   %%
786   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
787   %% required to force the articulation signs being placed vertically
788   %% tightly to the correpsonding note heads.
789   %%
790   \override TextSpanner #'dash-fraction = #'()
791   \override TextSpanner #'style = #'line
792   \override TextSpanner #'edge-height = #'(0 . 0)
793   \override TextSpanner #'padding = #-0.1
794   \override TextSpanner #'enclose-bounds = #1
795   \override TextSpanner #'edge-text = #'("" . "")
796 }
797
798 \context {
799   \Staff
800   \name "GregorianTranscriptionStaff"
801   \alias "Staff"
802   \denies "Voice"
803   \accepts "GregorianTranscriptionVoice"
804   \defaultchild "GregorianTranscriptionVoice"
805
806   %% We can not remove Bar_engraver; otherwise clefs and custodes will
807   %% not show up any more among other line breaking issues.
808   %% Instead, we make the grob transparent.
809   \override BarLine #'transparent = ##t
810 }
811
812 \context {
813   \Voice
814   \name "MensuralVoice"
815   \alias "Voice"
816   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
817
818   \remove "Slur_engraver"
819   \remove "Ligature_bracket_engraver"
820   \consists "Mensural_ligature_engraver"
821
822   %% Set default head for notes outside of \[ \].
823   \override NoteHead #'style = #'petrucci
824
825   %% There are no beams in mensural notation.
826   autoBeaming = ##f
827 }
828
829 \context {
830   \Staff
831   \name "MensuralStaff"
832   \alias "Staff"
833   \denies "Voice"
834   \defaultchild "MensuralVoice"
835   \accepts "MensuralVoice"
836   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
837
838   \consists "Custos_engraver"
839
840   %% We can not remove Bar_engraver; otherwise clefs and custodes will
841   %% not show up any more among other line breaking issues.
842   %% Instead, we make the grob transparent.
843   \override BarLine #'transparent = ##t
844
845   \override StaffSymbol #'thickness = #0.6
846
847   %% FIXME: unit on StaffSymbol's width should be \linewidth.
848   %% \override StaffSymbol #'width = #60.0
849
850   %% Choose petrucci g clef on 2nd line as default.
851   clefGlyph = #"clefs.petrucci.g"
852   middleCPosition = #-6
853   clefPosition = #-2
854   clefOctavation = #0
855
856   %% Select mensural style font.
857   \override TimeSignature #'style = #'mensural
858   \override KeySignature #'style = #'mensural
859   \override Accidental #'style = #'mensural
860   \override Custos #'style = #'mensural
861   \override Custos #'neutral-position = #3
862   \override Custos #'neutral-direction = #DOWN
863 }
864
865
866 RemoveEmptyRhythmicStaffContext= \context {
867   \RhythmicStaff
868   \remove "Axis_group_engraver"
869   \override VerticalAxisGroup #'remove-empty = ##t
870   \consists "Hara_kiri_engraver"
871 }