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