]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
($(outdir)/%.pdf): add DVIPS_FLAGS. This will
[lilypond.git] / ly / engraver-init.ly
index adaf969bd838fa83677c7f9a487791dccd64dd9f..04c85316b37ba2875b5f3e7e28ea9c156e782b53 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.9.8"
+\version "2.1.22"
 
 
 %
@@ -23,8 +23,6 @@
 %      \consists "Repeat_engraver"
        \consists "Volta_engraver"
        \consists "Separating_line_group_engraver"      
-       SeparatingGroupSpanner \override #'spacing-procedure
-         =  #Separating_group_spanner::set_spacing_rods_and_seqs
        \consists "Dot_column_engraver"
 
        % perhaps move to Voice context?
        \accepts "Voice"
 }
 
-
 \translator {
-       \type Engraver_group_engraver
-       \consists "Axis_group_engraver"
-       minimumVerticalExtent = ##f
-       extraVerticalExtent = ##f
-       verticalExtent = ##f 
-       localKeySignature = #'()
+    \StaffContext
+    \type "Engraver_group_engraver"
+    \name DrumStaff
+    \alias Staff
+
+    \remove "Accidental_engraver"
+    \remove "Ottava_spanner_engraver"
+    \remove "Key_engraver" 
+    \remove "Piano_pedal_engraver"
+    \remove "String_number_engraver"
+    
+    \description "Handles typesetting for percussion."
+
+    \denies Voice
+    \accepts DrumVoice
 
-       \accepts Staff
-       \name StaffContainer
+    clefGlyph = #"clefs-percussion"
+    clefPosition = #0
+    Script \set #'staff-padding = #0.75 
 }
 
-\translator {
-       \type "Engraver_group_engraver"
-       \name InnerChoirStaff
-       \consists "System_start_delimiter_engraver"
-       systemStartDelimiter = #'SystemStartBracket
-       localKeySignature = #'()
 
-       \accepts "Staff"
-       \accepts "RhythmicStaff"
-       \accepts "GrandStaff"
-       \accepts "PianoStaff"
-       \accepts "Lyrics"
-       \accepts "ChordNames"
+\translator {
+    \type "Engraver_group_engraver"
+    \name InnerChoirStaff
+    \consists "System_start_delimiter_engraver"
+    systemStartDelimiter = #'SystemStartBracket
+    localKeySignature = #'()
+
+    \accepts "Staff"
+    \accepts "DrumStaff"
+    \accepts "RhythmicStaff"
+    \accepts "GrandStaff"
+    \accepts "PianoStaff"
+    \accepts "Lyrics"
+    \accepts "ChordNames"
 }
 
 \translator {
 
 
 \translator{
-       \type "Engraver_group_engraver"
-       
-       \consists "Output_property_engraver"    
+    \type "Engraver_group_engraver"
+    
+    \consists "Output_property_engraver"       
 
-\description  "
+    \description  "
     A context like @code{Staff} but for printing rhythms.  Pitches are
     ignored; the notes are printed on one line.  
 "
-       minimumVerticalExtent = ##f
-       extraVerticalExtent = ##f
-       verticalExtent = ##f 
-       localKeySignature = #'()
-
-       \consists "Pitch_squash_engraver"
-       \consists "Separating_line_group_engraver"      
-       \name RhythmicStaff
-       \alias "Staff"
-       
-       BarLine \override #'bar-size = #4
-       VoltaBracket \override #'minimum-space =  #15
-       VoltaBracket \override #'padding =  #5
-       StaffSymbol \override #'line-count = #1 
-
-       Stem \override #'neutral-direction = #1
-       Beam \override #'neutral-direction = #1         
-%      \consists "Repeat_engraver"
-       \consists "Dot_column_engraver"
-       \consists "Volta_engraver"
-       \consists "Bar_engraver"
-       \consists "Time_signature_engraver"
-       \consists "Staff_symbol_engraver"
-       \consists "Instrument_name_engraver"
-       \consistsend "Axis_group_engraver"
-       \accepts "Voice"
+    minimumVerticalExtent = ##f
+    extraVerticalExtent = ##f
+    verticalExtent = ##f 
+    localKeySignature = #'()
+
+    \consists "Pitch_squash_engraver"
+    \consists "Separating_line_group_engraver" 
+    \name RhythmicStaff
+    \alias "Staff"
+    
+    BarLine \override #'bar-size = #4
+    VoltaBracket \override #'minimum-space =  #15
+    VoltaBracket \override #'padding =  #5
+    StaffSymbol \override #'line-count = #1    
+
+    Stem \override #'neutral-direction = #1
+    Beam \override #'neutral-direction = #1    
+                               %       \consists "Repeat_engraver"
+    \consists "Dot_column_engraver"
+    \consists "Volta_engraver"
+    \consists "Bar_engraver"
+    \consists "Time_signature_engraver"
+    \consists "Staff_symbol_engraver"
+    \consists "Instrument_name_engraver"
+    \consistsend "Axis_group_engraver"
+    \accepts "Voice"
 }
 
 
 \translator {
-       \type "Engraver_group_engraver"
-       \name Voice
+    \type "Engraver_group_engraver"
+    \name Voice
 
-\description "
+    \description "
     Corresponds to a voice on a staff.  This context handles the
     conversion of dynamic signs, stems, beams, super- and subscripts,
     slurs, ties, and rests.
     You have to instantiate this explicitly if you want to have
     multiple voices on the same staff."
 
-       localKeySignature = #'()
-       \consists "Font_size_engraver"
-       
-       \consists "Output_property_engraver"    
-       \consists "Arpeggio_engraver"
-       \consists "Multi_measure_rest_engraver"
-       \consists "Text_spanner_engraver"
-       \consists "Grob_pq_engraver"
-
-       \consists "Note_head_line_engraver"
-       \consists "Glissando_engraver"
-       \consists "Ligature_bracket_engraver"
-       \consists "Breathing_sign_engraver"
-       % \consists "Rest_engraver"
-       \consists "Stem_engraver"
-       \consists "Beam_engraver"
-       \consists "Grace_beam_engraver"
-       \consists "Auto_beam_engraver"
-       \consists "New_fingering_engraver"
-       \consists "Chord_tremolo_engraver"
-       \consists "Percent_repeat_engraver"
-       \consists "Slash_repeat_engraver"
-       \consists "Melisma_engraver"
-       \consists "Part_combine_engraver"
+    localKeySignature = #'()
+    \consists "Font_size_engraver"
+    
+    \consists "Output_property_engraver"       
+    \consists "Arpeggio_engraver"
+    \consists "Multi_measure_rest_engraver"
+    \consists "Text_spanner_engraver"
+    \consists "Grob_pq_engraver"
+
+    \consists "Note_head_line_engraver"
+    \consists "Glissando_engraver"
+    \consists "Ligature_bracket_engraver"
+    \consists "Breathing_sign_engraver"
+                               % \consists "Rest_engraver"
+    \consists "Note_heads_engraver"
+    \consists "Rest_engraver"
+
+    \consists "Stem_engraver"
+    \consists "Beam_engraver"
+    \consists "Grace_beam_engraver"
+    \consists "Auto_beam_engraver"
+    \consists "New_fingering_engraver"
+    \consists "Chord_tremolo_engraver"
+    \consists "Percent_repeat_engraver"
+    \consists "Slash_repeat_engraver"
+    \consists "Melisma_engraver"
+    \consists "Part_combine_engraver"
 
 %{
- Must come before text_engraver, but after note_column engraver.
   Must come before text_engraver, but after note_column engraver.
 
 %}
-       \consists "Text_engraver"
-       \consists "Dynamic_engraver"
-       \consists "Fingering_engraver"
-
-       \consists "Script_engraver"
-       \consists "Script_column_engraver"
-       \consists "Rhythmic_column_engraver"
-       \consists "Phrasing_slur_engraver"
-       \consists "Cluster_spanner_engraver"
-       \consists "Slur_engraver"
-       \consists "Tie_engraver"
-       \consists "Tuplet_engraver"
-
-       \consists "Skip_event_swallow_translator"
-       \accepts Thread % bug if you leave out this!
+    \consists "Text_engraver"
+    \consists "Dynamic_engraver"
+    \consists "Fingering_engraver"
+
+    \consists "Script_engraver"
+    \consists "Script_column_engraver"
+    \consists "Rhythmic_column_engraver"
+    \consists "Phrasing_slur_engraver"
+    \consists "Cluster_spanner_engraver"
+    \consists "Slur_engraver"
+    \consists "Tie_engraver"
+    \consists "Tuplet_engraver"
+
+    \consists "Skip_event_swallow_translator"
 }
 
-\translator{
-       \type Engraver_group_engraver
-       \name Thread
-       localKeySignature = #'()
-\description "
-    Handles note heads, and is contained in the Voice context.  You
-    have to instantiate this explicitly if you want to adjust the
-    style of individual note heads.
-"
-       \consists "Font_size_engraver"  
-       \consists "Note_heads_engraver"
-       \consists "Rest_engraver"
+\translator {
+    \VoiceContext
+    \name DrumVoice
+    \alias Voice
 
-       % why here ? 
-       \consists "Output_property_engraver"    
+    \description " A voice on a percussion staff."
+    
+    
+    \remove "Arpeggio_engraver"
+    \consists "Multi_measure_rest_engraver"
+    \consists "Text_spanner_engraver"
+    \consists "Grob_pq_engraver"
+
+    \remove "Note_head_line_engraver"
+    \remove "Glissando_engraver"
+    \remove "Ligature_bracket_engraver"
+    \remove "Note_heads_engraver"
+    \consists "Rest_engraver"
+    \consists "Drum_notes_engraver"
+    \remove "New_fingering_engraver"
+
+    \remove "Fingering_engraver"
+
+    \remove "Phrasing_slur_engraver"
+    \remove "Cluster_spanner_engraver"
+    \remove "Slur_engraver"
+    \consists "Tuplet_engraver"
+
+    \consists "Skip_event_swallow_translator"
 }
 
-
 \translator{
-       \type "Engraver_group_engraver"
-       \name GrandStaff
-       localKeySignature = #'()
-       
-       \description " A group of staffs, with a brace on the left
+    \type "Engraver_group_engraver"
+    \name GrandStaff
+    localKeySignature = #'()
+    
+    \description " A group of staffs, with a brace on the left
     side, grouping the staves together.  The bar lines of the
     contained staves are connected vertically.  "
 
-       \consists "Span_bar_engraver"
-       \consists "Span_arpeggio_engraver"
-       \consists "System_start_delimiter_engraver"
-       systemStartDelimiter = #'SystemStartBrace
+    \consists "Span_bar_engraver"
+    \consists "Span_arpeggio_engraver"
+    \consists "System_start_delimiter_engraver"
+    systemStartDelimiter = #'SystemStartBrace
 
-       \accepts "Staff"
+    \accepts "Staff"
 }
 
 \translator{
-       \GrandStaffContext
-       \name "PianoStaff"
-       \alias "GrandStaff"
-\description "
-    Just like @code{GrandStaff} but with @code{minVerticalAlign} set
-    equal to @code{maxVerticalAlign} so that interstaff beaming and
-    slurring can be used."
-       verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
-       VerticalAlignment \override #'forced-distance = #12
-       VerticalAlignment \override #'self-alignment-Y = #0
-
-       \consists "Vertical_align_engraver"
-       \consists "Instrument_name_engraver"
-       
-       instrument = #'()
-       instr = #'()
-       
-%      \consistsend "Axis_group_engraver"
+    \GrandStaffContext
+    \name "PianoStaff"
+    \alias "GrandStaff"
+
+    \description
+    "Just like @code{GrandStaff} but with a forced distance between
+    the staves, so cross staff beaming and slurring can be used."
+    
+    verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
+    VerticalAlignment \override #'forced-distance = #12
+    VerticalAlignment \override #'self-alignment-Y = #0
+
+    \consists "Vertical_align_engraver"
+    \consists "Instrument_name_engraver"
+    
+    instrument = #'()
+    instr = #'()
 }
 
 \translator {
-       \type "Engraver_group_engraver"
-       \name InnerStaffGroup
-       localKeySignature = #'()
-
-       \consists "Span_bar_engraver"
-       \consists "Span_arpeggio_engraver"
-       \consists "Output_property_engraver"    
-       systemStartDelimiter = #'SystemStartBracket
-
-       \consists "System_start_delimiter_engraver"
-       \accepts "Staff"
-       \accepts "RhythmicStaff"
-       \accepts "GrandStaff"
-       \accepts "PianoStaff"
-       \accepts "TabStaff"     
-       \accepts "Lyrics"
-       \accepts "ChordNames"
+    \type "Engraver_group_engraver"
+    \name InnerStaffGroup
+    localKeySignature = #'()
+
+    \consists "Span_bar_engraver"
+    \consists "Span_arpeggio_engraver"
+    \consists "Output_property_engraver"       
+    systemStartDelimiter = #'SystemStartBracket
+
+    \consists "System_start_delimiter_engraver"
+    \accepts "Staff"
+    \accepts "RhythmicStaff"
+    \accepts "DrumStaff"
+    \accepts "GrandStaff"
+    \accepts "PianoStaff"
+    \accepts "TabStaff"        
+    \accepts "Lyrics"
+    \accepts "ChordNames"
 }
 
 \translator {
-       \InnerStaffGroupContext
-       \name StaffGroup
-       
-       \description
+    \InnerStaffGroupContext
+    \name StaffGroup
+    
+    \description
 
-       " Groups staffs while adding a bracket on the left side,
-       grouping the staves together.  The bar lines of the contained
-       staves are connected vertically.
-"
-       
-       \accepts "InnerChoirStaff"
-       \accepts "ChoirStaff"
-       \accepts "InnerStaffGroup"
-       \accepts "FiguredBass"
+    "Groups staffs while adding a bracket on the left side, grouping
+the staves together.  The bar lines of the contained staves are
+connected vertically.  "
+    
+    \accepts "InnerChoirStaff"
+    \accepts "ChoirStaff"
+    \accepts "InnerStaffGroup"
+    \accepts "FiguredBass"
 }
 
 
-% UGH! JUNKME
 \translator{
-       \type "Engraver_group_engraver"
-       \consistsend "Hara_kiri_engraver"
-       minimumVerticalExtent = #'(-1.2 . 2.4)
-       extraVerticalExtent = ##f
-       verticalExtent = ##f
-
-       \description "
-    Corresponds to a voice with lyrics.  Handles the printing of a
-    single line of lyrics.
-"
-       
-       \name LyricsVoice 
-       \consists "Separating_line_group_engraver"
-       \consists "Lyric_engraver"
-       \consists "Extender_engraver"
-       \consists "Hyphen_engraver"
-       \consists "Stanza_number_engraver"
-       \consists "Vocal_name_engraver"
-       \consists "Skip_event_swallow_translator"
-       SeparationItem \set #'padding = #0.5
-}
-\translator {
-       \type "Engraver_group_engraver"
-       \name NoteNames
-       \consistsend "Axis_group_engraver"
-
-       minimumVerticalExtent = ##f
-       extraVerticalExtent = ##f
-       verticalExtent = ##f 
+    \type "Engraver_group_engraver"
+    \consistsend "Hara_kiri_engraver"
+    minimumVerticalExtent = #'(-1.2 . 2.4)
+    extraVerticalExtent = ##f
+    verticalExtent = ##f
 
-       
-       \consists "Rest_swallow_translator" 
-       \consists "Skip_event_swallow_translator"
-       \consists "Tie_engraver"
-       \consists "Note_swallow_translator"
-       \consists "Note_name_engraver"
-       \consists "Separating_line_group_engraver"
+    \description " Corresponds to a voice with lyrics.  Handles the
+printing of a single line of lyrics.  "
+    
+    \name Lyrics 
+    \consists "Separating_line_group_engraver"
+    \consists "Lyric_engraver"
+    \consists "Extender_engraver"
+    \consists "Hyphen_engraver"
+    \consists "Stanza_number_engraver"
+    \consists "Vocal_name_engraver"
+    \consists "Skip_event_swallow_translator"
+    SeparationItem \set #'padding = #0.2
 }
 
 \translator {
-       \type "Engraver_group_engraver"
-       \name Lyrics
-       \description  "Typesets lyrics."
-       
-       %% To get folded repeats right.
-       \consists Vertical_align_engraver 
+    \type "Engraver_group_engraver"
+    \name NoteNames
+    \consistsend "Axis_group_engraver"
 
-       minimumVerticalExtent = ##f
-       extraVerticalExtent = ##f
-       verticalExtent = ##f 
-       
-       \accepts "LyricsVoice"
-}
+    minimumVerticalExtent = ##f
+    extraVerticalExtent = ##f
+    verticalExtent = ##f 
 
+    
+    \consists "Rest_swallow_translator" 
+    \consists "Skip_event_swallow_translator"
+    \consists "Tie_engraver"
+    \consists "Note_swallow_translator"
+    \consists "Note_name_engraver"
+    \consists "Separating_line_group_engraver"
+}
 
 \translator {
-       \type "Engraver_group_engraver"
-       \name ChordNames
-       \description "Typesets chord names."
-       
-       \consists "Rest_swallow_translator" 
-       \consists "Output_property_engraver"    
-       \consists "Separating_line_group_engraver"
-       \consists "Chord_name_engraver"
-       \consists "Skip_event_swallow_translator"
-       \consistsend "Hara_kiri_engraver"
-       
-       minimumVerticalExtent = #'(0 . 2.5)
-       extraVerticalExtent = ##f
-       SeparatingGroupSpanner \override #'padding = #0.8
-       verticalExtent = ##f 
+    \type "Engraver_group_engraver"
+    \name ChordNames
+    \description "Typesets chord names."
+    
+    \consists "Rest_swallow_translator" 
+    \consists "Output_property_engraver"       
+    \consists "Separating_line_group_engraver"
+    \consists "Chord_name_engraver"
+    \consists "Skip_event_swallow_translator"
+    \consistsend "Hara_kiri_engraver"
+    
+    minimumVerticalExtent = #'(0 . 2.5)
+    extraVerticalExtent = ##f
+    SeparatingGroupSpanner \override #'padding = #0.8
+    verticalExtent = ##f 
 }
 
 
 RemoveEmptyStaffContext= \translator {
-       \StaffContext
-       \remove "Axis_group_engraver"
-       \consistsend "Hara_kiri_engraver"
-       \accepts "Voice"
-
-       % hara kiri & auto knee don't work together.
-       Beam \override #'auto-knee-gap = #'()
+    \StaffContext
+    \remove "Axis_group_engraver"
+    \consistsend "Hara_kiri_engraver"
+    Beam \override #'auto-knee-gap = #'()
 }
 
 AncientRemoveEmptyStaffContext = \translator {
     %% why not add by default?
     
-       \RemoveEmptyStaffContext
-       \accepts "VaticanaVoice"
-       \accepts "GregorianTranscriptionVoice"
+    \RemoveEmptyStaffContext
+    \accepts "VaticanaVoice"
+    \accepts "GregorianTranscriptionVoice"
 }
 
 \translator {
-       \type Score_engraver
-       \name Score
-       localKeySignature = #'()
+    \type Score_engraver
+    \name Score
+    localKeySignature = #'()
 
-       \description "This is the top level notation context.  No
+    \description "This is the top level notation context.  No
     other context can contain a @code{Score} context.  This context
     handles the administration of time signatures.  It also makes sure
     that items such as clefs, time signatures, and key-signatures are
@@ -397,163 +399,164 @@ AncientRemoveEmptyStaffContext = \translator {
     not contained in any other context).  It is instantiated
     automatically when an output definition (a @code{\score} or
     @code{\paper} block) is processed."
-       
-       \consists "Repeat_acknowledge_engraver"
-       \consists "Staff_collecting_engraver"
+    
+    \consists "Repeat_acknowledge_engraver"
+    \consists "Staff_collecting_engraver"
 
-       % move the alias along with the engraver.
+                               % move the alias along with the engraver.
 
-       %% TODO? add this alias from Timing_engraver::initialize() ? 
-       \consists "Timing_engraver"
-       \alias "Timing"
-       
-       \consists "Output_property_engraver"
-       \consists "System_start_delimiter_engraver"
-       \consists "Mark_engraver"       
-       \consists "Metronome_mark_engraver"     
-       \consists "Break_align_engraver"
-       \consists "Spacing_engraver"
-       \consists "Vertical_align_engraver"
-       \consists "Lyric_phrasing_engraver"
-       \consists "Bar_number_engraver"
-       \consists "Span_arpeggio_engraver"
-
-       \accepts "Staff"
-       \accepts "TabStaff"
-       \accepts "VaticanaStaff"
-       \accepts "GregorianTranscriptionStaff"
-       \accepts "StaffContainer"
-       \accepts "StaffGroup"
-       \accepts "RhythmicStaff"
-       \accepts "Lyrics"
-       \accepts "ChordNames"
-       \accepts "GrandStaff"
-       \accepts "ChoirStaff"
-       \accepts "PianoStaff"
-       \accepts "Devnull"
-       \accepts "NoteNames"
-       \accepts "FiguredBass"
-
-       soloText = #"Solo"
-       soloIIText = #"Solo II"
-       aDueText = #"a2"
-       soloADue = ##t
-       systemStartDelimiter =#'SystemStartBar
-
-       melismaBusyProperties = #default-melisma-properties
-       
-       clefGlyph = #"clefs-G"
-       clefPosition = #-2
-       centralCPosition = #-6
-       
-       defaultBarType = #"|"
-       barNumberVisibility = #default-bar-number-visibility
-       automaticBars = ##t
-       
-       explicitClefVisibility = #all-visible
-       explicitKeySignatureVisibility = #all-visible
-       autoBeamSettings = #default-auto-beam-settings
-       autoBeaming = ##t
-       scriptDefinitions = #default-script-alist
-
-       verticalAlignmentChildCallback = #Align_interface::alignment_callback
-
-       pedalSustainStrings = #'("Ped." "*Ped." "*")
-       pedalSustainStyle = #'text
-       pedalUnaCordaStrings = #'("una corda" "" "tre corde")
-       pedalUnaCordaStyle = #'text
-
-       %% These are in ordinary italic font, including the *,
-       %% but they are unlikely to be used, 
-       %% as the default pedal-style for SostenutoPedal is 'mixed':
-       %% i.e.  Sost. Ped_____________________ 
-       pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
-       pedalSostenutoStyle = #'mixed
-
-       fingeringOrientations = #'(up down)
-       tupletNumberFormatFunction = #denominator-tuplet-formatter
-       markFormatter = #format-mark-letters
-       rehearsalMark = #1 
-       subdivideBeams = ##f
-       allowBeamBreak = ##f
-       extraNatural = ##t
-       autoAccidentals = #'(Staff (same-octave . 0))
-       autoCautionaries = #'()  
-
-       keyAccidentalOrder = #`(
-         (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
-        (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
-         (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
-         (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
-        )
-       breakAlignOrder = #'(
-         instrument-name
-         left-edge
-         ambitus
-         breathing-sign
-         clef
-         rehearsal-mark
-         staff-bar
-         key-signature
-         time-signature
-         custos
-       )
-       barCheckSynchronize = ##f
-       
-       %% chord names:
-       chordNameFunction = #ignatzek-chord-names
-       majorSevenSymbol = #whiteTriangleMarkup
-       chordNameSeparator = #(make-simple-markup  "/")
-       chordNameExceptions = #ignatzekExceptions
-       chordNoteNamer = #'()
-       chordRootNamer = #note-name->markup
-
-       chordNameExceptionsFull = #fullJazzExceptions
-       chordNameExceptionsPartial = #partialJazzExceptions
-       
-       %% tablature:
-       stringOneTopmost = ##t
-       highStringOne = ##t
-
-       %% One may change the strings tuning as following :
-       %% The lenght of the list must be equal to the number of string
-       stringTunings   = #guitar-tunings
-       tablatureFormat = #fret-number-tablature-format
-
-       %%
-       bassFigureFormatFunction = #make-bass-figure-markup
-       metronomeMarkFormatter = #format-metronome-markup
-       graceSettings = #`#(
-                (Voice Stem direction 1)
-
-                ;; TODO: should take from existing definition.
-                ;; c&p from define-grobs.scm
-                
-                (Voice Stem lengths ,(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0)))
-                (Voice Stem stem-shorten (0.4 0))
-                (Voice Stem  font-size -3)
-                (Voice NoteHead  font-size -3)
-                (Voice Dots  font-size -3)
-                (Voice Stem beamed-lengths  
-                 ,(map (lambda (x) (* 0.8 x)) '(3.26)))
-                (Voice Stem beamed-minimum-free-lengths  
-                 ,(map (lambda (x) (* 0.8 x)) '(2.5 2.0 1.5)))
-                (Voice Stem beamed-extreme-minimum-free-lengths  
-                 ,(map (lambda (x) (* 0.8 x)) '(1.83 1.5)))
-
-                (Voice Stem no-stem-extend #t)
-                (Voice Beam thickness 0.384)
-                (Voice Beam space-function ,(lambda (beam mult)
-                                               (* 0.8 (Beam::space_function
-                                                       beam mult))))
-                (Voice Beam position-callbacks (,Beam::least_squares
-                                                   ,Beam::check_concave
-                                                   ,Beam::slope_damping))
-                (Staff Accidental font-size -4)
-                (Voice Slur direction -1)
-       )
+    %% TODO? add this alias from Timing_engraver::initialize() ? 
+    \consists "Timing_engraver"
+    \alias "Timing"
+    
+    \consists "Output_property_engraver"
+    \consists "System_start_delimiter_engraver"
+    \consists "Mark_engraver"  
+    \consists "Metronome_mark_engraver"        
+    \consists "Break_align_engraver"
+    \consists "Spacing_engraver"
+    \consists "Vertical_align_engraver"
+    \consists "Lyric_phrasing_engraver"
+    \consists "Bar_number_engraver"
+    \consists "Span_arpeggio_engraver"
+
+    \accepts "Staff"
+    \accepts "TabStaff"
+    \accepts "VaticanaStaff"
+    \accepts "GregorianTranscriptionStaff"
+    \accepts "StaffGroup"
+    \accepts "RhythmicStaff"
+    \accepts "DrumStaff"
+    \accepts "Lyrics"
+    \accepts "ChordNames"
+    \accepts "GrandStaff"
+    \accepts "ChoirStaff"
+    \accepts "PianoStaff"
+    \accepts "Devnull"
+    \accepts "NoteNames"
+    \accepts "FiguredBass"
+
+    soloText = #"Solo"
+    soloIIText = #"Solo II"
+    aDueText = #"a2"
+    soloADue = ##t
+    systemStartDelimiter =#'SystemStartBar
+
+    drumStyleTable = #drums-style
+    
+    melismaBusyProperties = #default-melisma-properties
+    
+    clefGlyph = #"clefs-G"
+    clefPosition = #-2
+    centralCPosition = #-6
+    
+    defaultBarType = #"|"
+    barNumberVisibility = #default-bar-number-visibility
+    automaticBars = ##t
+    
+    explicitClefVisibility = #all-visible
+    explicitKeySignatureVisibility = #all-visible
+    autoBeamSettings = #(cons default-auto-beam-settings '())
+    autoBeaming = ##t
+    scriptDefinitions = #default-script-alist
+
+    verticalAlignmentChildCallback = #Align_interface::alignment_callback
+
+    pedalSustainStrings = #'("Ped." "*Ped." "*")
+    pedalSustainStyle = #'text
+    pedalUnaCordaStrings = #'("una corda" "" "tre corde")
+    pedalUnaCordaStyle = #'text
+
+    %% These are in ordinary italic font, including the *,
+    %% but they are unlikely to be used, 
+    %% as the default pedal-style for SostenutoPedal is 'mixed':
+    %% i.e.  Sost. Ped_____________________ 
+    pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
+    pedalSostenutoStyle = #'mixed
+
+    fingeringOrientations = #'(up down)
+    tupletNumberFormatFunction = #denominator-tuplet-formatter
+    markFormatter = #format-mark-letters
+    rehearsalMark = #1 
+    subdivideBeams = ##f
+    allowBeamBreak = ##f
+    extraNatural = ##t
+    autoAccidentals = #'(Staff (same-octave . 0))
+    autoCautionaries = #'()  
+
+    keyAccidentalOrder = #`(
+       (6 . ,FLAT) (2  . ,FLAT) (5 . ,FLAT ) (1  . ,FLAT) (4  . ,FLAT) (0  . ,FLAT) (3  . ,FLAT)
+       (3  . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP) (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
+       (6 . ,DOUBLE-FLAT) (2  . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1  . ,DOUBLE-FLAT) (4  . ,DOUBLE-FLAT) (0  . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
+       (3  . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
+    )
+    breakAlignOrder = #'(
+    instrument-name
+    left-edge
+    ambitus
+    breathing-sign
+    clef
+    rehearsal-mark
+    staff-bar
+    key-signature
+    time-signature
+    custos
+    )
+    barCheckSynchronize = ##f
+    
+    %% chord names:
+    chordNameFunction = #ignatzek-chord-names
+    majorSevenSymbol = #whiteTriangleMarkup
+    chordNameSeparator = #(make-simple-markup  "/")
+    chordNameExceptions = #ignatzekExceptions
+    chordNoteNamer = #'()
+    chordRootNamer = #note-name->markup
+    chordNameExceptionsFull = #fullJazzExceptions
+    chordNameExceptionsPartial = #partialJazzExceptions
+    
+    %% tablature:
+    stringOneTopmost = ##t
+    highStringOne = ##t
+
+    %% One may change the strings tuning as following :
+    %% The lenght of the list must be equal to the number of string
+    stringTunings   = #guitar-tunings
+    tablatureFormat = #fret-number-tablature-format
+
+    %%
+    bassFigureFormatFunction = #make-bass-figure-markup
+    metronomeMarkFormatter = #format-metronome-markup
+    graceSettings = #`#(
+       (Voice Stem direction 1)
+
+       ;; TODO: should take from existing definition.
+       ;; c&p from define-grobs.scm
        
-       \grobdescriptions #all-grob-descriptions
+       (Voice Stem lengths ,(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0)))
+       (Voice Stem stem-shorten (0.4 0))
+       (Voice Stem  font-size -3)
+       (Voice NoteHead  font-size -3)
+       (Voice Dots  font-size -3)
+       (Voice Stem beamed-lengths  
+        ,(map (lambda (x) (* 0.8 x)) '(3.26)))
+       (Voice Stem beamed-minimum-free-lengths  
+        ,(map (lambda (x) (* 0.8 x)) '(2.5 2.0 1.5)))
+       (Voice Stem beamed-extreme-minimum-free-lengths  
+        ,(map (lambda (x) (* 0.8 x)) '(1.83 1.5)))
+
+       (Voice Stem no-stem-extend #t)
+       (Voice Beam thickness 0.384)
+       (Voice Beam space-function ,(lambda (beam mult)
+                                    (* 0.8 (Beam::space_function
+                                            beam mult))))
+       (Voice Beam position-callbacks (,Beam::least_squares
+                                       ,Beam::check_concave
+                                       ,Beam::slope_damping))
+       (Staff Accidental font-size -4)
+       (Voice Slur direction -1)
+    )
+    
+    \grobdescriptions #all-grob-descriptions
 }
 
 OrchestralScoreContext = \translator {
@@ -562,7 +565,7 @@ OrchestralScoreContext = \translator {
 
 EasyNotation = \translator {
        \ScoreContext
-       NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
+       NoteHead \override #'print-function = #Note_head::brew_ez_stencil
        NoteHead \override #'Y-extent-callback = #'()
        NoteHead \override #'X-extent-callback = #'()
 }
@@ -595,14 +598,14 @@ EasyNotation = \translator {
 \translator {
       \VoiceContext
       \name "TabVoice"
-      \denies "Thread"
       \consists "Tab_note_heads_engraver"
+      \remove "Note_heads_engraver"
       \remove "Fingering_engraver"
       \remove "New_fingering_engraver"
 
       \description "Context for drawing notes in a Tab staff. "
       Slur \override #'font-family       = #'roman
-      Slur \override #'molecule-callback = #hammer-molecule-callback
+      Slur \override #'print-function = #hammer-print-function
       Slur \override #'direction    = #-1
 
       % Draws all stems/beams out of the staff (and not in the middle of the staff !)
@@ -663,26 +666,8 @@ EasyNotation = \translator {
   \alias "Voice"
   \description "Same as @code{Voice} context, except that it is accommodated for tyepsetting Gregorian Chant in the notational style of Editio Vaticana."
 
-  % We can not remove Slur_engraver, since \addlyrics depends on it.
-  % Instead, we make the grob transparent.
-  % Unfortunately, this gives us a lot of warnings ("Degenerate bow:
-  % infinite steepness reqd"), since in ligatures, all note heads are in
-  % the same paper column such that the (transparent) slurs eventually may
-  % start and end in the same column.
-  Slur \override #'transparent = ##t
-
-  % We can not remove Stem_engraver, since slurs depend on stems.  If
-  % we try anyway, lily will crash in slur.scm:16:6: "Wrong type argument
-  % in position 1 (expecting grob): ()".
-  % As a workaround, we make the grob transparent.
-  Stem \set #'transparent = ##t
-
-  % Since we do not remove stems, but only make it transparent, we have
-  % to set the length to 0.0.  Otherwise, articulation marks (such as
-  % ictus, circulus or accentus) may be vertically placed quite away from
-  % the note head.
-  Stem \set #'length = #'0.0
-
+  \remove "Slur_engraver"
+  \remove "Stem_engraver"
   \remove "Ligature_bracket_engraver"
   \consists "Vaticana_ligature_engraver"
 
@@ -755,26 +740,6 @@ EasyNotation = \translator {
   % transparent instead.
   LigatureBracket \set #'transparent = ##t
 
-  % We can not remove Slur_engraver, since \addlyrics depends on it.
-  % Instead, we make the grob transparent.
-  % Unfortunately, this gives us a lot of warnings ("Degenerate bow:
-  % infinite steepness reqd"), since in ligatures, all note heads are in
-  % the same paper column such that the (transparent) slurs eventually may
-  % start and end in the same column.
-  Slur \override #'transparent = ##t
-
-  % We can not remove Stem_engraver, since slurs depend on stems.  If
-  % we try anyway, lily will crash in slur.scm:16:6: "Wrong type argument
-  % in position 1 (expecting grob): ()".
-  % As a workaround, we make the grob transparent.
-  Stem \set #'transparent = ##t
-
-  % Since we do not remove stems, but only make it transparent, we have
-  % to set the length to 0.0.  Otherwise, articulation marks (such as
-  % ictus, circulus or accentus) may be vertically placed quite away from
-  % the note head.
-  Stem \set #'length = #'0.0
-
   % Put some space before and after divisiones.
   % FIXME: This does not seem to show any effect.
   Script \set #'padding = #0.5