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