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