]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
* lily/include/translator.icc: new file.
[lilypond.git] / ly / engraver-init.ly
1 \version "2.5.18"
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_engraver"
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_engraver"
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_engraver"
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_engraver"
118   
119   \consists "Output_property_engraver"  
120
121   minimumVerticalExtent = ##f
122   extraVerticalExtent = ##f
123   verticalExtent = ##f 
124   localKeySignature = #'()
125
126   \consists "Pitch_squash_engraver"
127   squashedPosition = #0
128   \consists "Separating_line_group_engraver"    
129   \name RhythmicStaff
130   \alias "Staff"
131   
132   \override BarLine #'bar-size = #4
133   \override VoltaBracket #'minimum-space = #15
134   \override VoltaBracket #'padding = #5
135   \override StaffSymbol #'line-count = #1       
136
137   \override Stem  #'neutral-direction = #1
138   \override Beam  #'neutral-direction = #1      
139   %%    \consists "Repeat_engraver"
140   \consists "Dot_column_engraver"
141   \consists "Volta_engraver"
142   \consists "Bar_engraver"
143   \consists "Time_signature_engraver"
144   \consists "Staff_symbol_engraver"
145   \consists "Ledger_line_engraver" 
146   \consists "Instrument_name_engraver"
147   \consists "Axis_group_engraver"
148   \accepts "Voice"
149   \accepts "CueVoice"
150   \defaultchild "Voice"
151   \description  "
152     A context like @code{Staff} but for printing rhythms.  Pitches are
153     ignored; the notes are printed on one line.  
154 "
155 }
156
157
158 \context {
159   \type "Engraver_group_engraver"
160   \name Voice
161
162   \description "
163     Corresponds to a voice on a staff.  This context handles the
164     conversion of dynamic signs, stems, beams, super- and subscripts,
165     slurs, ties, and rests.
166
167     You have to instantiate this explicitly if you want to have
168     multiple voices on the same staff."
169
170   localKeySignature = #'()
171   \consists "Font_size_engraver"
172
173   \consists "Pitched_trill_engraver"
174   \consists "Output_property_engraver"  
175   \consists "Arpeggio_engraver"
176   \consists "Multi_measure_rest_engraver"
177   \consists "Text_spanner_engraver"
178   \consists "Trill_spanner_engraver"
179   \consists "Grob_pq_engraver"
180   \consists "Forbid_line_break_engraver"
181
182   \consists "Note_head_line_engraver"
183   \consists "Glissando_engraver"
184   \consists "Ligature_bracket_engraver"
185   \consists "Breathing_sign_engraver"
186   %% \consists "Rest_engraver"
187   \consists "Note_heads_engraver"
188   \consists "Rest_engraver"
189
190   \consists "Stem_engraver"
191   \consists "Beam_engraver"
192   \consists "Grace_beam_engraver"
193   \consists "Auto_beam_engraver"
194   \consists "New_fingering_engraver"
195   \consists "Chord_tremolo_engraver"
196   \consists "Percent_repeat_engraver"
197   \consists "Slash_repeat_engraver"
198   \consists "Melisma_translator"
199   \consists "Part_combine_engraver"
200
201   \consists "Text_engraver"
202   \consists "Dynamic_engraver"
203   \consists "Fingering_engraver"
204
205   \consists "Script_engraver"
206   \consists "Script_column_engraver"
207   \consists "Rhythmic_column_engraver"
208   \consists "Phrasing_slur_engraver"
209   \consists "Cluster_spanner_engraver"
210   \consists "Slur_engraver"
211   \consists "Tie_engraver"
212   \consists "Tuplet_engraver"
213   \consists "Grace_engraver"
214
215   \consists "Skip_event_swallow_translator"
216 }
217
218 \context{
219   \Voice
220   
221   \name CueVoice
222   \alias Voice
223   fontSize = #-4
224   \override Stem #'lengths = #'(2.5 2.5 3.0 3.0)
225 }
226
227 \context {
228   \Voice
229   \name DrumVoice
230   \alias Voice
231
232   \description "A voice on a percussion staff."
233   \remove "Arpeggio_engraver"
234   \consists "Multi_measure_rest_engraver"
235   \consists "Text_spanner_engraver"
236   \consists "Grob_pq_engraver"
237
238   \remove "Note_head_line_engraver"
239   \remove "Glissando_engraver"
240   \remove "Ligature_bracket_engraver"
241   \remove "Note_heads_engraver"
242   \consists "Rest_engraver"
243   \consists "Drum_notes_engraver"
244   \remove "New_fingering_engraver"
245
246   \remove "Fingering_engraver"
247
248   \remove "Cluster_spanner_engraver"
249   \consists "Tuplet_engraver"
250
251   \consists "Skip_event_swallow_translator"
252 }
253
254 \context{
255   \type "Engraver_group_engraver"
256   \name GrandStaff
257   localKeySignature = #'()
258   
259   \description " A group of staffs, with a brace on the left
260     side, grouping the staves together.  The bar lines of the
261     contained staves are connected vertically.  "
262
263   \consists "Span_bar_engraver"
264   \consists "Span_arpeggio_engraver"
265   \consists "System_start_delimiter_engraver"
266   systemStartDelimiter = #'SystemStartBrace
267
268   \accepts "Staff"
269 }
270
271 \context{
272   \GrandStaff
273   \name "PianoStaff"
274   \alias "GrandStaff"
275
276   \description
277   "Just like @code{GrandStaff} but with a forced distance between
278     the staves, so cross staff beaming and slurring can be used."
279   
280   verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
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_engraver"
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_engraver"
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 SeparationItem #'padding = #0.2
350 }
351
352 \context {
353   \type "Engraver_group_engraver"
354   \name NoteNames
355   \consists "Axis_group_engraver"
356
357   minimumVerticalExtent = ##f
358   extraVerticalExtent = ##f
359   verticalExtent = ##f 
360
361   
362   \consists "Rest_swallow_translator" 
363   \consists "Skip_event_swallow_translator"
364   \consists "Tie_engraver"
365   \consists "Note_name_engraver"
366   \consists "Separating_line_group_engraver"
367 }
368
369 \context {
370   \type "Engraver_group_engraver"
371   \name ChordNames
372   \description "Typesets chord names."
373
374   \consists "Volta_engraver"
375   
376   \consists "Rest_swallow_translator" 
377   \consists "Output_property_engraver"  
378   \consists "Separating_line_group_engraver"
379   \consists "Chord_name_engraver"
380   \consists "Skip_event_swallow_translator"
381   \consists "Hara_kiri_engraver"
382   
383   voltaOnThisStaff = ##f
384   minimumVerticalExtent = #'(0 . 2.5)
385   extraVerticalExtent = ##f
386   \override SeparatingGroupSpanner #'padding = #0.8
387   verticalExtent = ##f 
388 }
389
390
391 RemoveEmptyStaffContext= \context {
392   \Staff
393   \remove "Axis_group_engraver"
394   \consists "Hara_kiri_engraver"
395   \override Beam #'auto-knee-gap = #'()
396 }
397
398 AncientRemoveEmptyStaffContext = \context {
399 %% why not add by default?
400   
401   \RemoveEmptyStaffContext
402   \accepts "VaticanaVoice"
403   \accepts "GregorianTranscriptionVoice"
404   \accepts "MensuralVoice"
405 }
406
407 \context {
408   \type Score_engraver
409   \name "Score"
410
411   \description "This is the top level notation context.  No
412     other context can contain a @code{Score} context.  This context
413     handles the administration of time signatures.  It also makes sure
414     that items such as clefs, time signatures, and key-signatures are
415     aligned across staves.
416
417     You cannot explicitly instantiate a Score context (since it is
418     not contained in any other context).  It is instantiated
419     automatically when an output definition (a @code{\score} or
420     @code{\layout} block) is processed."
421
422
423   \consists "Paper_column_engraver"
424   \consists "Vertically_spaced_contexts_engraver"
425   \consists "Repeat_acknowledge_engraver"
426   \consists "Staff_collecting_engraver"
427
428   %% move the alias along with the engraver.
429
430   \consists "Timing_translator"
431   \consists "Default_bar_line_engraver"
432   \consists "Output_property_engraver"
433   \consists "System_start_delimiter_engraver"
434   \consists "Mark_engraver"     
435   \consists "Metronome_mark_engraver"   
436   \consists "Break_align_engraver"
437   \consists "Spacing_engraver"
438   \consists "Vertical_align_engraver"
439   \consists "Stanza_number_align_engraver"
440   \consists "Bar_number_engraver"
441   \consists "Span_arpeggio_engraver"
442
443   \defaultchild "Staff"
444   \accepts "Staff"
445   \accepts "RhythmicStaff"
446   \accepts "TabStaff"
447   \accepts "VaticanaStaff"
448   \accepts "GregorianTranscriptionStaff"
449   \accepts "MensuralStaff"
450   \accepts "StaffGroup"
451   \accepts "DrumStaff"
452   \accepts "Lyrics"
453   \accepts "ChordNames"
454   \accepts "GrandStaff"
455   \accepts "ChoirStaff"
456   \accepts "PianoStaff"
457   \accepts "Devnull"
458   \accepts "NoteNames"
459   \accepts "FiguredBass"
460
461   soloText = #"Solo"
462   soloIIText = #"Solo II"
463   aDueText = #"a2"
464   printPartCombineTexts = ##t
465   systemStartDelimiter =#'SystemStartBar
466
467   drumStyleTable = #drums-style
468   
469   melismaBusyProperties = #default-melisma-properties
470   tieWaitForNote = ##f
471   clefGlyph = #"clefs.G"
472   clefPosition = #-2
473   middleCPosition = #-6
474   firstClef = ##t
475   
476   defaultBarType = #"|"
477   barNumberVisibility = #default-bar-number-visibility
478   automaticBars = ##t
479   
480   explicitClefVisibility = #all-visible
481   explicitKeySignatureVisibility = #all-visible
482   autoBeamSettings = #default-auto-beam-settings
483   autoBeaming = ##t
484   autoBeamCheck = #default-auto-beam-check
485   scriptDefinitions = #default-script-alist
486
487   verticalAlignmentChildCallback = #Align_interface::alignment_callback
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   keyAccidentalOrder = #`(
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   bassFigureFormatFunction = #format-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
584
585
586
587 \context {
588   \type "Engraver_group_engraver"
589   \name FiguredBass 
590
591   \consists "Figured_bass_engraver"
592   \consists "Rest_swallow_translator"
593   \consists "Note_swallow_translator"
594   \consists "Skip_event_swallow_translator"
595   \consists "Separating_line_group_engraver"
596   \consists "Hara_kiri_engraver"
597 }
598
599 \context {
600   \name "Devnull"
601   \type "Engraver_group_engraver"
602
603 %% don't want to route anything out of here: 
604   \alias "Staff"
605   \alias "Voice"
606   \consists "Swallow_engraver"
607   \description "Silently discards all musical information given to this context. "
608 }
609
610 \context {
611   \Voice
612   \name "TabVoice"
613   \consists "Tab_note_heads_engraver"
614   \remove "Note_heads_engraver"
615   \remove "Fingering_engraver"
616   \remove "New_fingering_engraver"
617
618   \description "Context for drawing notes in a Tab staff. "
619
620   %% Draws all stems/beams out of the staff (and not in the middle of the staff !)
621   %% This feature is now disabled because most of the tab does not use it.
622   %%\override Beam #'damping = #100000
623   %%\override Stem #'up-to-staff = ##t
624
625   %% TabStaff increase the staff-space, which in turn
626   %% increases beam thickness and spacing; beams are
627   %% too big. We have to adjust the beam settings:
628   \override Beam #'thickness = #0.32
629   \override Beam #'space-function =
630   #(lambda (beam mult) (* 0.62 (Beam::space_function beam mult)))
631
632   %% No accidental in tablature !
633   \remove Accidental_engraver
634 }
635
636 \context {
637   \Staff
638   \alias "Staff"
639   \name "TabStaff"
640   \denies "Voice"
641   \remove "Staff_symbol_engraver"
642   \consists "Tab_staff_symbol_engraver"
643   
644   \description "Context for generating tablature. [DOCME]"
645
646   \accepts "TabVoice"
647   \defaultchild "TabVoice"
648   
649   %% 6 strings
650   \override StaffSymbol #'staff-space = #1.5
651
652   %% Don't draw stems over the tablature figures !
653   \override Stem #'avoid-note-head = ##t
654   
655   %% No accidental in tablature !
656   \remove "Accidental_engraver"
657   \remove "Key_engraver"
658   \remove "String_number_engraver"
659   %% Special "TAB" clef
660   clefGlyph = #"clefs.tab"
661   clefPosition = #0
662 }
663
664 %% TODO: Gregorian Chant contexts should be moved to gregorian-init.ly,
665 %% but this does not work (is this a bug or intended behaviour?):
666 %%
667 %% If I try to do so, I get "error: unknown escaped string:
668 %% `\VaticanaStaff'" in params-init.ly.  If I also move
669 %% "\context { \Vaticana*Context }" from params-init.ly to the end
670 %% of gregorian-init.ly, then I get "error: parse error, unexpected
671 %% TRANSLATOR: \context { \VaticanaStaff }" in
672 %% gregorian-init.ly. --jr
673
674 \context {
675   \Voice
676   \name "VaticanaVoice"
677   \alias "Voice"
678   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
679
680   \remove "Slur_engraver"
681   \remove "Stem_engraver"
682   \remove "Ligature_bracket_engraver"
683   \consists "Vaticana_ligature_engraver"
684
685   %% Set default head for notes outside of \[ \].
686   \override NoteHead #'style = #'vaticana.punctum
687
688   %% Put some space before and after divisiones.
689   %% FIXME: This does not seem to show any effect.
690   \override Script #'padding = #0.5
691
692   %% There are no beams in Gregorian Chant notation.
693   autoBeaming = ##f
694
695   %% Prepare TextSpanner for \episem{Initium|Finis} use.
696   %%
697   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
698   %% always produce dashed lines, regardless of the style property.
699   %%
700   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
701   %% required to force the articulation signs being placed vertically
702   %% tightly to the correpsonding note heads.
703   %%
704   \override TextSpanner #'dash-fraction = #'()
705   \override TextSpanner #'style = #'line
706   \override TextSpanner #'edge-height = #'(0 . 0)
707   \override TextSpanner #'padding = #-0.1
708   \override TextSpanner #'enclose-bounds = #1
709   \override TextSpanner #'edge-text = #'("" . "")
710 }
711
712 %% FIXME: need something like
713 %%  \remove "Bar_number_engraver" (which lives on score level)
714 %% for vaticana and gregorian transcription staves
715
716 \context {
717   \Staff
718   \name "VaticanaStaff"
719   \alias "Staff"
720   \denies "Voice"
721   \accepts "VaticanaVoice"
722   \defaultchild "VaticanaVoice"
723
724   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
725
726   \remove "Time_signature_engraver"
727   \consists "Custos_engraver"
728
729   %% We can not remove Bar_engraver; otherwise clefs and custodes will
730   %% not show up any more among other line breaking issues.
731   %% Instead, we make the grob transparent.
732   \override BarLine #'transparent = ##t
733
734   \override StaffSymbol #'line-count = #4
735   \override StaffSymbol #'thickness = #0.6
736
737   %% FIXME: unit on StaffSymbol's width should be \linewidth.
738   %% \override StaffSymbol #'width = #60.0
739
740   %% Choose vaticana do clef on 3rd line as default.
741   clefGlyph = #"clefs.vaticana.do"
742   middleCPosition = #1
743   clefPosition = #1
744   clefOctavation = #0
745
746   %% Select vaticana style font.
747   \override KeySignature #'style = #'vaticana
748   \override Accidental #'style = #'vaticana
749   \override Custos #'style = #'vaticana
750   \override Custos #'neutral-position = #3
751   \override Custos #'neutral-direction = #-1
752
753   %% Score.timing = ##f
754   %% Score.barAlways = ##t
755 }
756
757 \context {
758   \Voice
759   \name "GregorianTranscriptionVoice"
760   \alias "Voice"
761
762   %% Removing ligature bracket engraver without replacing it by some
763   %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
764   %% warning for every "\[" and "\]".  Therefore, we make the grob
765   %% transparent instead.
766   \override LigatureBracket #'transparent = ##t
767
768   %% Put some space before and after divisiones.
769   %% FIXME: This does not seem to show any effect.
770   \override Script #'padding = #0.5
771
772   %% There are no beams in Gregorian Chant notation.
773   autoBeaming = ##f
774
775   %% Prepare TextSpanner for \episem{Initium|Finis} use.
776   %%
777   %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
778   %% always produce dashed lines, regardless of the style property.
779   %%
780   %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
781   %% required to force the articulation signs being placed vertically
782   %% tightly to the correpsonding note heads.
783   %%
784   \override TextSpanner #'dash-fraction = #'()
785   \override TextSpanner #'style = #'line
786   \override TextSpanner #'edge-height = #'(0 . 0)
787   \override TextSpanner #'padding = #-0.1
788   \override TextSpanner #'enclose-bounds = #1
789   \override TextSpanner #'edge-text = #'("" . "")
790 }
791
792 \context {
793   \Staff
794   \name "GregorianTranscriptionStaff"
795   \alias "Staff"
796   \denies "Voice"
797   \accepts "GregorianTranscriptionVoice"
798   \defaultchild "GregorianTranscriptionVoice"
799
800   %% We can not remove Bar_engraver; otherwise clefs and custodes will
801   %% not show up any more among other line breaking issues.
802   %% Instead, we make the grob transparent.
803   \override BarLine #'transparent = ##t
804 }
805
806 \context {
807   \Voice
808   \name "MensuralVoice"
809   \alias "Voice"
810   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting a piece in mensural style."
811
812   \remove "Slur_engraver"
813   \remove "Ligature_bracket_engraver"
814   \consists "Mensural_ligature_engraver"
815
816   %% Set default head for notes outside of \[ \].
817   \override NoteHead #'style = #'petrucci
818
819   %% There are no beams in mensural notation.
820   autoBeaming = ##f
821 }
822
823 \context {
824   \Staff
825   \name "MensuralStaff"
826   \alias "Staff"
827   \denies "Voice"
828   \defaultchild "MensuralVoice"
829   \accepts "MensuralVoice"
830   \description "Same as @code{Staff} context, except that it is accommodated for tyepsetting a piece in mensural style."
831
832   \consists "Custos_engraver"
833
834   %% We can not remove Bar_engraver; otherwise clefs and custodes will
835   %% not show up any more among other line breaking issues.
836   %% Instead, we make the grob transparent.
837   \override BarLine #'transparent = ##t
838
839   \override StaffSymbol #'thickness = #0.6
840
841   %% FIXME: unit on StaffSymbol's width should be \linewidth.
842   %% \override StaffSymbol #'width = #60.0
843
844   %% Choose petrucci g clef on 2nd line as default.
845   clefGlyph = #"clefs.petrucci.g"
846   middleCPosition = #-6
847   clefPosition = #-2
848   clefOctavation = #0
849
850   %% Select mensural style font.
851   \override TimeSignature #'style = #'mensural
852   \override KeySignature #'style = #'mensural
853   \override Accidental #'style = #'mensural
854   \override Custos #'style = #'mensural
855   \override Custos #'neutral-position = #3
856   \override Custos #'neutral-direction = #-1
857
858   %% Score.timing = ##f
859   %% Score.barAlways = ##t
860 }
861
862
863 RemoveEmptyRhythmicStaffContext= \context {
864   \RhythmicStaff
865   \remove "Axis_group_engraver"
866   \consists "Hara_kiri_engraver"
867 }