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