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