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