Use scalar instead of embedded_scm for context mod overrides.
[lilypond/mpolesky.git] / ly / engraver-init.ly
blob659648bcad82cb9247f557bbc582e7534dc5001b
1 \version "2.12.0"
3 \context {
4 \name "Global"
6 \accepts "Score"
8 \defaultchild "Score"
9 \description "Hard coded entry point for LilyPond. Cannot be tuned."
10 \grobdescriptions #all-grob-descriptions
13 \context {
14 \type "Engraver_group"
15 \name "FretBoards"
16 \description "A context for displaying fret diagrams."
18 \consists "Fretboard_engraver"
19 \consists "Rest_swallow_translator"
20 \consists "Output_property_engraver"
21 \consists "Skip_event_swallow_translator"
22 \consists "Hara_kiri_engraver"
23 \consists "Separating_line_group_engraver"
24 \consists "Font_size_engraver"
25 \consists "Instrument_name_engraver"
27 predefinedDiagramTable = #fretboard-table
30 \context {
31 \type "Engraver_group"
32 \name "Staff"
34 \consists "Output_property_engraver"
35 \consists "Bar_engraver"
36 %% Bar_engraver must be first so default bars aren't overwritten
37 %% with empty ones.
39 \consists "Font_size_engraver"
40 \consists "Separating_line_group_engraver"
41 \consists "Dot_column_engraver"
42 \consists "Staff_collecting_engraver"
44 %% perhaps move to Voice context?
45 \consists "Ottava_spanner_engraver"
46 \consists "Clef_engraver"
47 \consists "Key_engraver"
48 \consists "Time_signature_engraver"
49 \consists "Ledger_line_engraver"
50 \consists "Staff_symbol_engraver"
51 \consists "Collision_engraver"
52 \consists "Grob_pq_engraver"
53 \consists "Rest_collision_engraver"
54 \consists "Accidental_engraver"
55 \consists "Piano_pedal_engraver"
56 \consists "Piano_pedal_align_engraver"
57 \consists "Instrument_name_engraver"
58 \consists "String_number_engraver"
59 \consists "Axis_group_engraver"
60 \consists "Figured_bass_engraver"
61 \consists "Figured_bass_position_engraver"
62 \consists "Script_row_engraver"
64 localKeySignature = #'()
65 createSpacing = ##t
66 ignoreFiguredBassRest = ##t
68 %% explicitly set instrument, so we don't get
69 %% weird effects when doing instrument names for
70 %% piano staves
72 instrumentName = #'()
73 shortInstrumentName = #'()
75 \defaultchild "Voice"
76 \accepts "Voice"
77 \accepts "CueVoice"
79 \description "Handles clefs, bar lines, keys, accidentals. It can contain
80 @code{Voice} contexts."
84 \context {
85 \Staff
86 \type "Engraver_group"
87 \name "DrumStaff"
88 \alias "Staff"
90 \remove "Accidental_engraver"
91 \remove "Ottava_spanner_engraver"
92 \remove "Key_engraver"
93 \remove "Piano_pedal_engraver"
94 \remove "String_number_engraver"
96 \description "Handles typesetting for percussion."
98 \denies "Voice"
99 \accepts "DrumVoice"
100 \defaultchild "DrumVoice"
102 clefGlyph = #"clefs.percussion"
103 clefPosition = #0
104 \override Script #'staff-padding = #0.75
108 \context {
109 \type "Engraver_group"
110 \name "ChoirStaff"
111 \consists "Vertical_align_engraver"
112 topLevelAlignment = ##f
114 \consists "System_start_delimiter_engraver"
115 systemStartDelimiter = #'SystemStartBracket
116 vocalName = #'()
117 shortVocalName = #'()
119 \accepts "Staff"
120 \accepts "DrumStaff"
121 \accepts "RhythmicStaff"
122 \accepts "GrandStaff"
123 \accepts "PianoStaff"
124 \accepts "Lyrics"
125 \accepts "ChordNames"
126 \accepts "ChoirStaff"
127 \accepts "StaffGroup"
128 \defaultchild "Staff"
129 \description "Identical to @code{StaffGroup} except that the
130 contained staves are not connected vertically."
133 \context{
134 \type "Engraver_group"
136 localKeySignature = #'()
137 createSpacing = ##t
139 squashedPosition = #0
140 \name RhythmicStaff
141 \alias "Staff"
143 \override BarLine #'bar-size = #4
144 \override VoltaBracket #'staff-padding = #3
145 \override StaffSymbol #'line-count = #1
147 \override Stem #'neutral-direction = #UP
148 \override Beam #'neutral-direction = #UP
150 \consists "Output_property_engraver"
151 \consists "Font_size_engraver"
152 \consists "Separating_line_group_engraver"
153 \consists "Dot_column_engraver"
154 \consists "Bar_engraver"
155 \consists "Staff_symbol_engraver"
156 \consists "Pitch_squash_engraver"
157 \consists "Time_signature_engraver"
158 \consists "Instrument_name_engraver"
159 \consists "Axis_group_engraver"
160 \consists "Ledger_line_engraver"
162 \accepts "Voice"
163 \accepts "CueVoice"
164 \defaultchild "Voice"
166 \description "A context like @code{Staff} but for printing rhythms.
167 Pitches are ignored; the notes are printed on one line."
171 \context {
172 \type "Engraver_group"
173 \name "Voice"
175 \description "Corresponds to a voice on a staff. This context
176 handles the conversion of dynamic signs, stems, beams, super- and
177 subscripts, slurs, ties, and rests.
179 You have to instantiate this explicitly if you want to have
180 multiple voices on the same staff."
182 localKeySignature = #'()
183 \consists "Font_size_engraver"
185 \consists "Pitched_trill_engraver"
186 \consists "Output_property_engraver"
187 \consists "Arpeggio_engraver"
188 \consists "Multi_measure_rest_engraver"
189 \consists "Text_spanner_engraver"
190 \consists "Trill_spanner_engraver"
191 \consists "Grob_pq_engraver"
192 \consists "Forbid_line_break_engraver"
193 \consists "Laissez_vibrer_engraver"
194 \consists "Repeat_tie_engraver"
195 \consists "Note_head_line_engraver"
196 \consists "Glissando_engraver"
197 \consists "Ligature_bracket_engraver"
198 \consists "Breathing_sign_engraver"
199 \consists "Note_heads_engraver"
200 \consists "Dots_engraver"
201 \consists "Rest_engraver"
202 \consists "Tweak_engraver"
204 %% switch on to make stem directions interpolate for the
205 %% center line.
206 % \consists "Melody_engraver"
208 \consists "Stem_engraver"
209 \consists "Beam_engraver"
210 \consists "Grace_beam_engraver"
211 \consists "Auto_beam_engraver"
213 %% must come before Script_column_engraver.
214 \consists "New_fingering_engraver"
216 \consists "Chord_tremolo_engraver"
217 \consists "Percent_repeat_engraver"
218 \consists "Slash_repeat_engraver"
219 \consists "Part_combine_engraver"
221 \consists "Text_engraver"
222 \consists "New_dynamic_engraver"
223 \consists "Dynamic_align_engraver"
224 % \consists "Dynamic_engraver"
225 \consists "Fingering_engraver"
226 \consists "Bend_engraver"
228 \consists "Script_engraver"
229 \consists "Script_column_engraver"
230 \consists "Rhythmic_column_engraver"
231 \consists "Note_spacing_engraver"
232 \consists "Spanner_break_forbid_engraver"
233 \consists "Phrasing_slur_engraver"
234 \consists "Cluster_spanner_engraver"
235 \consists "Slur_engraver"
236 \consists "Tie_engraver"
237 \consists "Tuplet_engraver"
238 \consists "Grace_engraver"
239 \consists "Instrument_switch_engraver"
240 \consists "Skip_event_swallow_translator"
243 \context{
244 \Voice
246 \name CueVoice
247 \alias Voice
248 fontSize = #-4
249 \override Stem #'length-fraction = #(magstep -4)
250 \override Beam #'length-fraction = #(magstep -4)
251 \override Beam #'beam-thickness = #0.35
254 \context {
255 \Voice
256 \name DrumVoice
257 \alias Voice
259 \description "A voice on a percussion staff."
260 \remove "Arpeggio_engraver"
261 \consists "Grob_pq_engraver"
263 \remove "Note_head_line_engraver"
264 \remove "Glissando_engraver"
265 \remove "Ligature_bracket_engraver"
266 \remove "Note_heads_engraver"
267 \consists "Drum_notes_engraver"
268 \remove "New_fingering_engraver"
270 \remove "Fingering_engraver"
272 \remove "Cluster_spanner_engraver"
274 \consists "Skip_event_swallow_translator"
277 \context{
278 \type "Engraver_group"
279 \name GrandStaff
280 localKeySignature = #'()
282 \description "A group of staves, with a brace on the left
283 side, grouping the staves together. The bar lines of the
284 contained staves are connected vertically."
286 \consists "Span_bar_engraver"
287 \consists "Span_arpeggio_engraver"
288 \consists "System_start_delimiter_engraver"
289 systemStartDelimiter = #'SystemStartBrace
291 \defaultchild "Staff"
292 \accepts "Staff"
293 \accepts "FiguredBass"
294 \accepts "Dynamics"
297 \context{
298 \GrandStaff
299 \name "PianoStaff"
300 \alias "GrandStaff"
302 \description "Just like @code{GrandStaff} but with support for
303 instrument names at the start of each system."
305 \consists "Instrument_name_engraver"
306 \consists "Vertical_align_engraver"
307 topLevelAlignment = ##f
309 \override StaffGrouper #'between-staff-spacing #'stretchability = #5
311 instrumentName = #'()
312 shortInstrumentName = #'()
315 \context {
316 \type "Engraver_group"
317 \name "StaffGroup"
319 \consists "Vertical_align_engraver"
320 topLevelAlignment = ##f
322 \consists "Span_bar_engraver"
323 \consists "Span_arpeggio_engraver"
324 \consists "Output_property_engraver"
325 systemStartDelimiter = #'SystemStartBracket
327 \consists "System_start_delimiter_engraver"
329 \defaultchild "Staff"
330 \accepts "Staff"
331 \accepts "RhythmicStaff"
332 \accepts "DrumStaff"
333 \accepts "GrandStaff"
334 \accepts "PianoStaff"
335 \accepts "TabStaff"
336 \accepts "Lyrics"
337 \accepts "ChordNames"
338 \accepts "FiguredBass"
339 \accepts "ChoirStaff"
340 \accepts "StaffGroup"
342 \description "Groups staves while adding a bracket on the left
343 side, grouping the staves together. The bar lines of the contained
344 staves are connected vertically. @code{StaffGroup} only consists of
345 a collection of staves, with a bracket in front and spanning bar lines."
348 \context {
349 \type "Engraver_group"
350 \name Dynamics
351 \alias Voice
352 \consists "Output_property_engraver"
353 \consists "Bar_engraver"
354 \consists "Piano_pedal_engraver"
355 \consists "Script_engraver"
356 \consists "New_dynamic_engraver"
357 \consists "Dynamic_align_engraver"
358 \consists "Text_engraver"
359 \consists "Skip_event_swallow_translator"
360 \consists "Axis_group_engraver"
362 pedalSustainStrings = #'("Ped." "*Ped." "*")
363 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
364 \override VerticalAxisGroup #'staff-affinity = #CENTER
365 \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5) (padding . 0.5))
366 \override TextScript #'font-shape = #'italic
368 \description "Holds a single line of dynamics, which will be
369 centered between the staves surrounding this context."
373 \context{
374 \type "Engraver_group"
376 \description "Corresponds to a voice with lyrics. Handles the
377 printing of a single line of lyrics."
379 \name "Lyrics"
380 instrumentName = #'()
381 shortInstrumentName = #'()
383 \consists "Lyric_engraver"
384 \consists "Extender_engraver"
385 \consists "Hyphen_engraver"
386 \consists "Stanza_number_engraver"
387 \consists "Instrument_name_engraver"
388 \consists "Skip_event_swallow_translator"
389 \consists "Font_size_engraver"
390 \consists "Hara_kiri_engraver"
392 \override VerticalAxisGroup #'remove-first = ##t
393 \override VerticalAxisGroup #'remove-empty = ##t
394 \override VerticalAxisGroup #'staff-affinity = #UP
395 \override VerticalAxisGroup #'inter-staff-spacing = #'((space . 5.5) (stretchability . 1) (padding . 0.5))
396 \override VerticalAxisGroup #'inter-loose-line-spacing = #'((space . 0) (stretchability . 0) (padding . 0.2))
397 \override VerticalAxisGroup #'non-affinity-spacing #'padding = #1.0
398 \override SeparationItem #'padding = #0.2
399 \override InstrumentName #'self-alignment-Y = ##f
401 %% sync with define-grobs.scm ;
402 \override InstrumentName #'font-size = #1.0
404 %% make sure that barlines aren't collapsed, when
405 %% Bar_engraver is there.
406 \override BarLine #'bar-size = #0.1
410 \context {
411 \type "Engraver_group"
412 \name NoteNames
413 \description "A context for printing the names of notes."
414 \consists "Axis_group_engraver"
416 % FIXME: not sure what the default should be here.
417 \override VerticalAxisGroup #'staff-affinity = #DOWN
420 \consists "Rest_swallow_translator"
421 \consists "Skip_event_swallow_translator"
422 \consists "Tie_engraver"
423 \consists "Note_name_engraver"
424 \consists "Separating_line_group_engraver"
427 \context {
428 \type "Engraver_group"
429 \name ChordNames
430 \description "Typesets chord names."
432 \consists "Rest_swallow_translator"
433 \consists "Output_property_engraver"
434 \consists "Separating_line_group_engraver"
435 \consists "Chord_name_engraver"
436 \consists "Skip_event_swallow_translator"
437 \consists "Hara_kiri_engraver"
438 % \consists "Note_spacing_engraver"
439 \override VerticalAxisGroup #'remove-first = ##t
440 \override VerticalAxisGroup #'remove-empty = ##t
441 \override VerticalAxisGroup #'staff-affinity = #DOWN
442 \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
443 \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
447 RemoveEmptyStaffContext= \context {
448 \Staff
449 \remove "Axis_group_engraver"
450 \consists "Hara_kiri_engraver"
451 \override Beam #'auto-knee-gap = #'()
452 \override VerticalAxisGroup #'remove-empty = ##t
455 AncientRemoveEmptyStaffContext = \context {
456 %% why not add by default?
458 \RemoveEmptyStaffContext
459 \accepts "VaticanaVoice"
460 \accepts "GregorianTranscriptionVoice"
461 \accepts "MensuralVoice"
464 \context {
465 \type "Score_engraver"
466 \name "Score"
468 \description "This is the top level notation context. No
469 other context can contain a @code{Score} context. This context
470 handles the administration of time signatures. It also makes sure
471 that items such as clefs, time signatures, and key-signatures are
472 aligned across staves.
474 You cannot explicitly instantiate a @code{Score} context (since it
475 is not contained in any other context). It is instantiated
476 automatically when an output definition (a @code{\score} or
477 @code{\layout} block) is processed."
479 \consists "Paper_column_engraver"
480 \consists "Vertically_spaced_contexts_engraver"
481 \consists "Repeat_acknowledge_engraver"
482 \consists "Staff_collecting_engraver"
484 %% move the alias along with the engraver.
486 \consists "Timing_translator"
487 \consists "Default_bar_line_engraver"
488 \consists "Output_property_engraver"
489 \consists "System_start_delimiter_engraver"
490 \consists "Mark_engraver"
491 \consists "Volta_engraver"
492 \consists "Metronome_mark_engraver"
493 \consists "Break_align_engraver"
494 \consists "Spacing_engraver"
495 \consists "Grace_spacing_engraver"
496 \consists "Vertical_align_engraver"
497 \consists "Stanza_number_align_engraver"
498 \consists "Bar_number_engraver"
499 \consists "Parenthesis_engraver"
501 \defaultchild "Staff"
503 \accepts "FretBoards"
504 \accepts "Staff"
505 \accepts "RhythmicStaff"
506 \accepts "TabStaff"
507 \accepts "VaticanaStaff"
508 \accepts "GregorianTranscriptionStaff"
509 \accepts "MensuralStaff"
510 \accepts "StaffGroup"
511 \accepts "DrumStaff"
512 \accepts "Lyrics"
513 \accepts "ChordNames"
514 \accepts "GrandStaff"
515 \accepts "ChoirStaff"
516 \accepts "PianoStaff"
517 \accepts "Devnull"
518 \accepts "NoteNames"
519 \accepts "FiguredBass"
522 noteToFretFunction = #determine-frets
523 soloText = #"Solo"
524 soloIIText = #"Solo II"
525 aDueText = #"a2"
526 printPartCombineTexts = ##t
527 systemStartDelimiter =#'SystemStartBar
529 drumStyleTable = #drums-style
531 melismaBusyProperties = #default-melisma-properties
532 tieWaitForNote = ##f
533 clefGlyph = #"clefs.G"
534 clefPosition = #-2
535 middleCClefPosition = #-6
536 middleCPosition = #-6
537 firstClef = ##t
539 crescendoSpanner = #'hairpin
540 decrescendoSpanner = #'hairpin
542 defaultBarType = #"|"
543 doubleRepeatType = #":|:"
544 barNumberVisibility = #first-bar-number-invisible
545 automaticBars = ##t
547 explicitClefVisibility = #all-visible
548 explicitKeySignatureVisibility = #all-visible
549 implicitTimeSignatureVisibility = #end-of-line-invisible
551 repeatCountVisibility = #all-repeat-counts-visible
553 beamSettings = #default-beam-settings
554 autoBeaming = ##t
555 autoBeamCheck = #default-auto-beam-check
556 scriptDefinitions = #default-script-alist
558 pedalSustainStrings = #'("Ped." "*Ped." "*")
559 pedalSustainStyle = #'text
560 pedalUnaCordaStrings = #'("una corda" "" "tre corde")
561 pedalUnaCordaStyle = #'text
563 %% These are in ordinary italic font, including the *,
564 %% but they are unlikely to be used,
565 %% as the default pedal-style for SostenutoPedal is 'mixed':
566 %% i.e. Sost. Ped_____________________
567 pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
568 pedalSostenutoStyle = #'mixed
570 harmonicAccidentals = ##t
571 fingeringOrientations = #'(up down)
572 stringNumberOrientations = #'(up down)
573 strokeFingerOrientations = #'(right)
575 lyricMelismaAlignment = #LEFT
576 markFormatter = #format-mark-letters
577 rehearsalMark = #1
578 subdivideBeams = ##f
579 extraNatural = ##t
580 autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0))
581 autoCautionaries = #'()
583 printKeyCancellation = ##t
584 keyAlterationOrder = #`(
585 (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT) (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
586 (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
587 (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT) (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
588 (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
591 barCheckSynchronize = ##f
593 %% chord names:
594 chordNameFunction = #ignatzek-chord-names
595 majorSevenSymbol = #whiteTriangleMarkup
596 chordNameSeparator = #(make-simple-markup "/")
597 chordNameExceptions = #ignatzekExceptions
598 chordNoteNamer = #'()
599 chordRootNamer = #note-name->markup
600 chordPrefixSpacer = #0
601 chordNameExceptionsFull = #fullJazzExceptions
602 chordNameExceptionsPartial = #partialJazzExceptions
603 noChordSymbol = #(make-simple-markup "N.C.")
605 bassStaffProperties = #'((assign clefGlyph "clefs.F")
606 (assign clefPosition 2)
607 (assign middleCPosition 6)
608 (assign middleCClefPosition 6))
609 %% tablature:
610 stringOneTopmost = ##t
611 highStringOne = ##t
613 %% One may change the strings tuning as following :
614 %% The lenght of the list must be equal to the number of string
615 stringTunings = #guitar-tuning
616 tablatureFormat = #fret-number-tablature-format
619 figuredBassFormatter = #format-bass-figure
620 metronomeMarkFormatter = #format-metronome-markup
623 %% See also make-voice-props-set
624 graceSettings = #`(
625 (Voice Stem direction ,UP)
626 (Voice Stem font-size -3)
627 (Voice NoteHead font-size -3)
628 (Voice TabNoteHead font-size -4)
629 (Voice Dots font-size -3)
630 (Voice Stem length-fraction 0.8)
631 (Voice Stem no-stem-extend #t)
632 (Voice Beam beam-thickness 0.384)
633 (Voice Beam length-fraction 0.8)
634 (Voice Accidental font-size -4)
635 (Voice AccidentalCautionary font-size -4)
636 (Voice Slur direction ,DOWN)
637 (Voice Script font-size -3)
638 (Voice Fingering font-size -8)
639 (Voice StringNumber font-size -8)
642 keepAliveInterfaces = #'(
643 rhythmic-grob-interface
644 lyric-interface
645 percent-repeat-item-interface
646 percent-repeat-interface
648 ;; need this, as stanza numbers are items, and appear only once.
649 stanza-number-interface
651 quotedEventTypes = #'(
652 note-event
653 rest-event
654 tie-event
655 beam-event
656 tuplet-span-event)
657 instrumentTransposition = #(ly:make-pitch 0 0 0)
659 verticallySpacedContexts = #'(Staff)
660 topLevelAlignment = ##t
662 timing = ##t
668 \context {
669 \type "Engraver_group"
670 \name "FiguredBass"
671 \description "A context for printing a figured bass line."
673 \consists "Figured_bass_engraver"
674 \consists "Note_swallow_translator"
675 \consists "Skip_event_swallow_translator"
676 \consists "Separating_line_group_engraver"
677 \consists "Hara_kiri_engraver"
679 \override VerticalAxisGroup #'remove-empty = ##t
680 \override VerticalAxisGroup #'remove-first = ##t
681 \override VerticalAxisGroup #'staff-affinity = #UP
682 \override VerticalAxisGroup #'inter-staff-spacing #'padding = #0.5
683 \override VerticalAxisGroup #'inter-loose-line-spacing #'padding = #0.5
686 \context {
687 \name "Devnull"
688 \type "Engraver_group"
690 %% don't want to route anything out of here:
691 \alias "Staff"
692 \alias "Voice"
693 \consists "Swallow_engraver"
694 \description "Silently discards all musical information given to this
695 context."
698 \context {
699 \Voice
700 \name "TabVoice"
701 \alias "Voice"
702 \consists "Tab_note_heads_engraver"
703 \consists "Tab_harmonic_engraver"
705 \remove "Note_heads_engraver"
706 \remove "Fingering_engraver"
707 \remove "New_fingering_engraver"
709 \description "Context for drawing notes in a Tab staff."
711 %% TabStaff increase the staff-space, which in turn
712 %% increases beam thickness and spacing; beams are
713 %% too big. We have to adjust the beam settings:
714 \override Beam #'beam-thickness = #0.32
715 \override Beam #'length-fraction = #0.62
717 %% No accidental in tablature !
718 \remove "Accidental_engraver"
719 %% make the Stems as short as possible to minimize their influence
720 %% on the slur::calc-control-points routine
721 \override Stem #'length = #0
722 \override Stem #'no-stem-extend = ##t
723 \override Stem #'flag-style = #'no-flag
724 \override Stem #'details = #'((lengths 0 0 0 0 0 0)
725 (beamed-lengths 0 0 0)
726 (beamed-minimum-free-lengths 0 0 0)
727 (beamed-extreme-minimum-free-lengths 0 0)
728 (stem-shorten 0 0))
729 %% after all, the stubs of the stems may still be visible, so ...
730 \override Stem #'transparent = ##t
731 %% automatic beams should be suppressed for similar reasons ...
732 autoBeaming = ##f
733 %% remove beams, dots and rests ...
734 \override Beam #'stencil = ##f
735 \override Dots #'stencil = ##f
736 \override Rest #'stencil = ##f
737 \override MultiMeasureRest #'stencil = ##f
738 \override MultiMeasureRestNumber #'transparent = ##t
739 %% ... all kinds of ties/slurs
740 \override Tie #'stencil = ##f
741 \override RepeatTie #'stencil = ##f
742 \override LaissezVibrerTie #'stencil = ##f
743 \override Slur #'stencil = #slur::draw-tab-slur
744 \override PhrasingSlur #'stencil = ##f
745 %% 'tied to' fret numbers become invisible or parenthesized, respectively)
746 \override Tie #'after-line-breaking = #tie::handle-tab-note-head
747 \override RepeatTie #'after-line-breaking = #repeat-tie::handle-tab-note-head
748 %% ... and all kinds of markups, spanners etc.
749 \override TupletBracket #'stencil = ##f
750 \override TupletNumber #'stencil = ##f
751 \override DynamicText #'transparent = ##t
752 \override DynamicTextSpanner #'stencil = ##f
753 \override TextSpanner #'stencil = ##f
754 \override Hairpin #'transparent = ##t
755 \override Script #'stencil = ##f
756 \override TextScript #'stencil = ##f
757 %% the direction for glissando lines will be automatically corrected
758 \override Glissando #'extra-dy = #glissando::calc-tab-extra-dy
759 \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
760 (padding . 0.3))
761 \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
762 (padding . 0.3))
763 %% dead notes
764 \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name
765 \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set
768 \context {
769 \Staff
770 \alias "Staff"
771 \name "TabStaff"
772 \denies "Voice"
773 \consists "Tab_staff_symbol_engraver"
775 \description "Context for generating tablature. It accepts only @code{TabVoice}
776 contexts and handles the line spacing, the tablature clef etc. properly."
778 \accepts "TabVoice"
779 \defaultchild "TabVoice"
781 %% 6 strings, bigger spacing
782 \override StaffSymbol #'staff-space = #1.5
784 %% Don't draw stems over the tablature figures !
785 \override Stem #'avoid-note-head = ##t
787 %% No accidental in tablature !
788 \remove "Accidental_engraver"
789 \remove "Key_engraver"
791 \remove "String_number_engraver"
792 \remove "Ottava_spanner_engraver"
793 %% the clef handler
794 \override Clef #'stencil = #clef::print-modern-tab-if-set
795 %% no time signature
796 \override TimeSignature #'stencil = ##f
797 %% better parentheses in a TabStaff
798 \override ParenthesesItem #'stencils = #parentheses-item::calc-tabstaff-parenthesis-stencils
799 %% no arpeggios
800 \override Arpeggio #'stencil = ##f
801 %% we ignore collision warnings that may occur due to
802 %% stem overlapping, because we have no stems ;-)
803 \override NoteColumn #'ignore-collision = ##t
804 %% Special "TAB" clef
805 clefGlyph = #"clefs.tab"
806 clefPosition = #0
809 \context {
810 \Voice
811 \name "VaticanaVoice"
812 \alias "Voice"
813 \description "Same as @code{Voice} context, except that it is
814 accommodated for typesetting Gregorian Chant in the notational style
815 of Editio Vaticana."
817 \remove "Slur_engraver"
818 \remove "Stem_engraver"
819 \remove "Ligature_bracket_engraver"
820 \consists "Vaticana_ligature_engraver"
822 %% Set default head for notes outside of \[ \].
823 \override NoteHead #'style = #'vaticana.punctum
825 %% Put some space before and after divisiones.
826 %% FIXME: This does not seem to show any effect.
827 \override Script #'padding = #0.5
829 %% There are no beams in Gregorian Chant notation.
830 autoBeaming = ##f
832 %% Prepare TextSpanner for \episem{Initium|Finis} use.
834 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
835 %% required to force the articulation signs being placed vertically
836 %% tightly to the correpsonding note heads.
838 \override TextSpanner #'style = #'line
839 \override TextSpanner #'padding = #-0.1
842 \context {
843 \Staff
844 \name "VaticanaStaff"
845 \alias "Staff"
846 \denies "Voice"
847 \accepts "VaticanaVoice"
848 \defaultchild "VaticanaVoice"
850 \description "Same as @code{Staff} context, except that it is
851 accommodated for typesetting Gregorian Chant in the notational style
852 of Editio Vaticana."
854 \remove "Time_signature_engraver"
855 \consists "Custos_engraver"
857 %% We can not remove Bar_engraver; otherwise clefs and custodes will
858 %% not show up any more among other line breaking issues.
859 %% Instead, we make the grob transparent.
860 \override BarLine #'transparent = ##t
862 \override StaffSymbol #'line-count = #4
863 \override StaffSymbol #'thickness = #0.6
865 %% FIXME: unit on StaffSymbol's width should be \linewidth.
866 %% \override StaffSymbol #'width = #60.0
868 %% Choose vaticana do clef on 3rd line as default.
869 clefGlyph = #"clefs.vaticana.do"
870 middleCPosition = #1
871 middleCClefPosition = #1
872 clefPosition = #1
873 clefOctavation = #0
875 %% Select vaticana style font.
876 \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
877 \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
878 \override Custos #'style = #'vaticana
879 \override Custos #'neutral-position = #3
880 \override Custos #'neutral-direction = #DOWN
881 \override Dots #'style = #'vaticana
884 \context {
885 \Voice
886 \name "GregorianTranscriptionVoice"
887 \alias "Voice"
889 %% Removing ligature bracket engraver without replacing it by some
890 %% other ligature engraver would cause a "Junking event: `LigatureEvent'"
891 %% warning for every "\[" and "\]". Therefore, we make the grob
892 %% transparent instead.
893 \override LigatureBracket #'transparent = ##t
895 %% Put some space before and after divisiones.
896 %% FIXME: This does not seem to show any effect.
897 \override Script #'padding = #0.5
899 %% There are no beams in Gregorian Chant notation.
900 autoBeaming = ##f
902 %% Prepare TextSpanner for \episem{Initium|Finis} use.
904 %% N.B.: dash-fraction MUST be unset; otherwise, TextSpanner will
905 %% always produce dashed lines, regardless of the style property.
907 %% FIXME: The line @code{\override TextSpanner #'padding = #-0.1} is
908 %% required to force the articulation signs being placed vertically
909 %% tightly to the correpsonding note heads.
911 \override TextSpanner #'dash-fraction = #'()
912 \override TextSpanner #'style = #'line
913 \override TextSpanner #'padding = #-0.1
916 \context {
917 \Staff
918 \name "GregorianTranscriptionStaff"
919 \alias "Staff"
920 \denies "Voice"
921 \accepts "GregorianTranscriptionVoice"
922 \defaultchild "GregorianTranscriptionVoice"
924 %% We can not remove Bar_engraver; otherwise clefs and custodes will
925 %% not show up any more among other line breaking issues.
926 %% Instead, we make the grob transparent.
927 \override BarLine #'transparent = ##t
930 \context {
931 \Voice
932 \name "MensuralVoice"
933 \alias "Voice"
934 \description "Same as @code{Voice} context, except that it is
935 accommodated for typesetting a piece in mensural style."
937 \remove "Slur_engraver"
938 \remove "Ligature_bracket_engraver"
939 \consists "Mensural_ligature_engraver"
941 %% Set default head for notes outside of \[ \].
942 \override NoteHead #'style = #'mensural
943 \override Rest #'style = #'mensural
945 %% There are no beams in mensural notation.
946 autoBeaming = ##f
949 \context {
950 \Staff
951 \name "MensuralStaff"
952 \alias "Staff"
953 \denies "Voice"
954 \defaultchild "MensuralVoice"
955 \accepts "MensuralVoice"
956 \description "Same as @code{Staff} context, except that it is
957 accommodated for typesetting a piece in mensural style."
959 \consists "Custos_engraver"
961 %% We can not remove Bar_engraver; otherwise clefs and custodes will
962 %% not show up any more among other line breaking issues.
963 %% Instead, we make the grob transparent.
964 \override BarLine #'transparent = ##t
966 \override StaffSymbol #'thickness = #0.6
968 %% FIXME: unit on StaffSymbol's width should be \linewidth.
969 %% \override StaffSymbol #'width = #60.0
971 %% Choose mensural g clef on 2nd line as default.
972 clefGlyph = #"clefs.mensural.g"
973 middleCClefPosition = #-6
974 middleCPosition = #-6
975 clefPosition = #-2
976 clefOctavation = #0
978 %% Select mensural style font.
979 \override TimeSignature #'style = #'mensural
980 \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
981 \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
982 \override Custos #'style = #'mensural
983 \override Custos #'neutral-position = #3
984 \override Custos #'neutral-direction = #DOWN
986 %% Accidentals are valid only once (same as
987 %% #(set-accidental-style 'forget))
988 extraNatural = ##f
989 autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave -1))
990 autoCautionaries = #'()
991 printKeyCancellation = ##f
995 RemoveEmptyRhythmicStaffContext= \context {
996 \RhythmicStaff
997 \remove "Axis_group_engraver"
998 \override VerticalAxisGroup #'remove-empty = ##t
999 \consists "Hara_kiri_engraver"