]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
Implement two variations on double repeat sign.
[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   doubleRepeatType = #":|:"
517   barNumberVisibility = #first-bar-number-invisible
518   automaticBars = ##t
519   
520   explicitClefVisibility = #all-visible
521   explicitKeySignatureVisibility = #all-visible
522   implicitTimeSignatureVisibility = #end-of-line-invisible
523   
524   autoBeamSettings = #default-auto-beam-settings
525   autoBeaming = ##t
526   autoBeamCheck = #default-auto-beam-check
527   scriptDefinitions = #default-script-alist
528
529   pedalSustainStrings = #'("Ped." "*Ped." "*")
530   pedalSustainStyle = #'text
531   pedalUnaCordaStrings = #'("una corda" "" "tre corde")
532   pedalUnaCordaStyle = #'text
533
534 %% These are in ordinary italic font, including the *,
535 %% but they are unlikely to be used, 
536 %% as the default pedal-style for SostenutoPedal is 'mixed':
537 %% i.e.  Sost. Ped_____________________ 
538   pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
539   pedalSostenutoStyle = #'mixed
540
541   harmonicAccidentals = ##t 
542   fingeringOrientations = #'(up down)
543   stringNumberOrientations = #'(up down)
544   strokeFingerOrientations = #'(right)
545   
546   lyricMelismaAlignment = #LEFT
547   markFormatter = #format-mark-letters
548   rehearsalMark = #1
549   subdivideBeams = ##f
550   allowBeamBreak = ##f
551   extraNatural = ##t
552   autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0))
553   autoCautionaries = #'()  
554
555   printKeyCancellation = ##t
556   keyAlterationOrder = #`(
557     (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
558     (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
559     (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
560     (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
561   )
562
563   barCheckSynchronize = ##f
564   
565 %% chord names:
566   chordNameFunction = #ignatzek-chord-names
567   majorSevenSymbol = #whiteTriangleMarkup
568   chordNameSeparator = #(make-simple-markup  "/")
569   chordNameExceptions = #ignatzekExceptions
570   chordNoteNamer = #'()
571   chordRootNamer = #note-name->markup
572   chordPrefixSpacer = #0
573   chordNameExceptionsFull = #fullJazzExceptions
574   chordNameExceptionsPartial = #partialJazzExceptions
575   
576
577   bassStaffProperties = #'((assign clefGlyph "clefs.F")
578   (assign clefPosition 2)
579   (assign middleCPosition 6)
580   (assign middleCClefPosition 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
594
595   %% See also make-voice-props-set
596   graceSettings = #`(
597     (Voice Stem direction ,UP)
598     (Voice Stem font-size -3)
599     (Voice NoteHead font-size -3)
600     (Voice Dots font-size -3)
601     (Voice Stem length-fraction 0.8)
602     (Voice Stem no-stem-extend #t)
603     (Voice Beam thickness 0.384)
604     (Voice Beam length-fraction 0.8)
605     (Voice Accidental font-size -4)
606     (Voice AccidentalCautionary font-size -4)
607     (Voice Slur direction ,DOWN)
608     (Voice Script font-size -3)
609   )
610
611   keepAliveInterfaces = #'(
612     rhythmic-grob-interface
613     lyric-interface
614     percent-repeat-item-interface
615     percent-repeat-interface
616
617     ;; need this, as stanza numbers are items, and appear only once. 
618     stanza-number-interface
619   )
620   quotedEventTypes = #'(
621     note-event
622     rest-event
623     tie-event
624     beam-event
625     tuplet-span-event)
626   instrumentTransposition = #(ly:make-pitch 0 0 0)
627
628   verticallySpacedContexts = #'(Staff)
629   
630   timing = ##t
631 }
632
633
634
635
636 \context {
637   \type "Engraver_group"
638   \name "FiguredBass"
639
640   \consists "Figured_bass_engraver"
641   \consists "Note_swallow_translator"
642   \consists "Skip_event_swallow_translator"
643   \consists "Separating_line_group_engraver"
644   \consists "Hara_kiri_engraver"
645
646   \override VerticalAxisGroup #'remove-empty = ##t
647   \override VerticalAxisGroup #'remove-first = ##t
648   \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 2)
649 }
650
651 \context {
652   \name "Devnull"
653   \type "Engraver_group"
654
655 %% don't want to route anything out of here: 
656   \alias "Staff"
657   \alias "Voice"
658   \consists "Swallow_engraver"
659   \description "Silently discards all musical information given to this
660 context."
661 }
662
663 \context {
664   \Voice
665   \name "TabVoice"
666   \alias "Voice"
667   \consists "Tab_note_heads_engraver"
668   \consists "Tab_harmonic_engraver"
669   
670   \remove "Note_heads_engraver"
671   \remove "Fingering_engraver"
672   \remove "New_fingering_engraver"
673
674   \description "Context for drawing notes in a Tab staff."
675
676   %% TabStaff increase the staff-space, which in turn
677   %% increases beam thickness and spacing; beams are
678   %% too big. We have to adjust the beam settings:
679   \override Beam #'thickness = #0.32
680   \override Beam #'length-fraction = #0.62
681
682   %% No accidental in tablature !
683   \remove Accidental_engraver
684
685   \override Glissando #'extra-dy = #0.75
686   \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
687                                                    (padding . 0.3))
688   \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
689                                                    (padding . 0.3))
690   \override Glissando #'extra-dy = #0.75
691   \override Glissando #'gap = #0.2
692 }
693
694 \context {
695   \Staff
696   \alias "Staff"
697   \name "TabStaff"
698   \denies "Voice"
699   \consists "Tab_staff_symbol_engraver"
700   
701   \description "Context for generating tablature. [DOCME]"
702
703   \accepts "TabVoice"
704   \defaultchild "TabVoice"
705   
706   %% 6 strings
707   \override StaffSymbol #'staff-space = #1.5
708
709   %% Don't draw stems over the tablature figures !
710   \override Stem #'avoid-note-head = ##t
711   
712   %% No accidental in tablature !
713   \remove "Accidental_engraver"
714   \remove "Key_engraver"
715   \remove "String_number_engraver"
716   %% Special "TAB" clef
717   clefGlyph = #"clefs.tab"
718   clefPosition = #0
719 }
720
721 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
722 %% but this does not work (is this a bug or intended behaviour?):
723 %%
724 %% If I try to do so, I get "error: unknown escaped string:
725 %% `\VaticanaStaff'" in params-init.ly.  If I also move
726 %% "\context { \Vaticana*Context }" from params-init.ly to the end
727 %% of gregorian-init.ly, then I get "error: parse error, unexpected
728 %% TRANSLATOR: \context { \VaticanaStaff }" in
729 %% gregorian-init.ly. --jr
730
731 \context {
732   \Voice
733   \name "VaticanaVoice"
734   \alias "Voice"
735   \description "Same as @code{Voice} context, except that it is
736 accommodated for typesetting Gregorian Chant in the notational style
737 of Editio Vaticana."
738
739   \remove "Slur_engraver"
740   \remove "Stem_engraver"
741   \remove "Ligature_bracket_engraver"
742   \consists "Vaticana_ligature_engraver"
743
744   %% Set default head for notes outside of \[ \].
745   \override NoteHead #'style = #'vaticana.punctum
746
747   %% Put some space before and after divisiones.
748   %% FIXME: This does not seem to show any effect.
749   \override Script #'padding = #0.5
750
751   %% There are no beams in Gregorian Chant notation.
752   autoBeaming = ##f
753
754   %% Prepare TextSpanner for \episem{Initium|Finis} use.
755   %%
756   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
757   %% required to force the articulation signs being placed vertically
758   %% tightly to the correpsonding note heads.
759   %%
760   \override TextSpanner #'style = #'line
761   \override TextSpanner #'padding = #-0.1
762 }
763
764 \context {
765   \Staff
766   \name "VaticanaStaff"
767   \alias "Staff"
768   \denies "Voice"
769   \accepts "VaticanaVoice"
770   \defaultchild "VaticanaVoice"
771
772   \description "Same as @code{Staff} context, except that it is
773 accommodated for typesetting Gregorian Chant in the notational style
774 of Editio Vaticana."
775
776   \remove "Time_signature_engraver"
777   \consists "Custos_engraver"
778
779   %% We can not remove Bar_engraver; otherwise clefs and custodes will
780   %% not show up any more among other line breaking issues.
781   %% Instead, we make the grob transparent.
782   \override BarLine #'transparent = ##t
783
784   \override StaffSymbol #'line-count = #4
785   \override StaffSymbol #'thickness = #0.6
786
787   %% FIXME: unit on StaffSymbol's width should be \linewidth.
788   %% \override StaffSymbol #'width = #60.0
789
790   %% Choose vaticana do clef on 3rd line as default.
791   clefGlyph = #"clefs.vaticana.do"
792   middleCPosition = #1
793   middleCClefPosition = #1
794   clefPosition = #1
795   clefOctavation = #0
796
797   %% Select vaticana style font.
798   \override KeySignature #'style = #'vaticana
799   \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
800   \override Custos #'style = #'vaticana
801   \override Custos #'neutral-position = #3
802   \override Custos #'neutral-direction = #DOWN
803   \override Dots #'style = #'vaticana
804 }
805
806 \context {
807   \Voice
808   \name "GregorianTranscriptionVoice"
809   \alias "Voice"
810   
811   %% Removing ligature bracket engraver without replacing it by some
812   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
813   %% warning for every "\[" and "\]".  Therefore, we make the grob
814   %% transparent instead.
815   \override LigatureBracket #'transparent = ##t
816
817   %% Put some space before and after divisiones.
818   %% FIXME: This does not seem to show any effect.
819   \override Script #'padding = #0.5
820
821   %% There are no beams in Gregorian Chant notation.
822   autoBeaming = ##f
823
824   %% Prepare TextSpanner for \episem{Initium|Finis} use.
825   %%
826   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
827   %% always produce dashed lines, regardless of the style property.
828   %%
829   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
830   %% required to force the articulation signs being placed vertically
831   %% tightly to the correpsonding note heads.
832   %%
833   \override TextSpanner #'dash-fraction = #'()
834   \override TextSpanner #'style = #'line
835   \override TextSpanner #'padding = #-0.1
836 }
837
838 \context {
839   \Staff
840   \name "GregorianTranscriptionStaff"
841   \alias "Staff"
842   \denies "Voice"
843   \accepts "GregorianTranscriptionVoice"
844   \defaultchild "GregorianTranscriptionVoice"
845
846   %% We can not remove Bar_engraver; otherwise clefs and custodes will
847   %% not show up any more among other line breaking issues.
848   %% Instead, we make the grob transparent.
849   \override BarLine #'transparent = ##t
850 }
851
852 \context {
853   \Voice
854   \name "MensuralVoice"
855   \alias "Voice"
856   \description "Same as @code{Voice} context, except that it is
857 accommodated for typesetting a piece in mensural style."
858
859   \remove "Slur_engraver"
860   \remove "Ligature_bracket_engraver"
861   \consists "Mensural_ligature_engraver"
862
863   %% Set default head for notes outside of \[ \].
864   \override NoteHead #'style = #'petrucci
865
866   %% There are no beams in mensural notation.
867   autoBeaming = ##f
868 }
869
870 \context {
871   \Staff
872   \name "MensuralStaff"
873   \alias "Staff"
874   \denies "Voice"
875   \defaultchild "MensuralVoice"
876   \accepts "MensuralVoice"
877   \description "Same as @code{Staff} context, except that it is
878 accommodated for typesetting a piece in mensural style."
879
880   \consists "Custos_engraver"
881
882   %% We can not remove Bar_engraver; otherwise clefs and custodes will
883   %% not show up any more among other line breaking issues.
884   %% Instead, we make the grob transparent.
885   \override BarLine #'transparent = ##t
886
887   \override StaffSymbol #'thickness = #0.6
888
889   %% FIXME: unit on StaffSymbol's width should be \linewidth.
890   %% \override StaffSymbol #'width = #60.0
891
892   %% Choose petrucci g clef on 2nd line as default.
893   clefGlyph = #"clefs.petrucci.g"
894   middleCClefPosition = #-6
895   middleCPosition = #-6
896   clefPosition = #-2
897   clefOctavation = #0
898
899   %% Select mensural style font.
900   \override TimeSignature #'style = #'mensural
901   \override KeySignature #'style = #'mensural
902   \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
903   \override Custos #'style = #'mensural
904   \override Custos #'neutral-position = #3
905   \override Custos #'neutral-direction = #DOWN
906
907   %% Accidentals are valid only once (same as
908   %% #(set-accidental-style 'forget))
909   extraNatural = ##f
910   autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1))
911   autoCautionaries = #'()  
912   printKeyCancellation = ##f
913 }
914
915
916 RemoveEmptyRhythmicStaffContext= \context {
917   \RhythmicStaff
918   \remove "Axis_group_engraver"
919   \override VerticalAxisGroup #'remove-empty = ##t
920   \consists "Hara_kiri_engraver"
921 }