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