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