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