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