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