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