]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver-init.ly
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / ly / engraver-init.ly
index c8ec356f527378c7b01178266a02a6dd6f873ce0..c195c75f972e4afbfe2b43fb0f9249e48dc58f11 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.146"
+\version "1.5.68"
 
 %
 % setup for Request->Element conversion. Guru-only
@@ -8,7 +8,6 @@ StaffContext=\translator {
        \type "Engraver_group_engraver"
        \name Staff 
        \consists "Output_property_engraver"    
-       Generic_property_list = #generic-staff-properties
        
        \consists "Bar_engraver"
  % Bar_engraver must be first so default bars aren't overwritten
@@ -18,8 +17,9 @@ StaffContext=\translator {
 %      \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"
 
        \consists "Clef_engraver"
        \consists "Key_engraver"
@@ -27,19 +27,21 @@ StaffContext=\translator {
        \consists "Staff_symbol_engraver"
        \consists "Collision_engraver"
        \consists "Rest_collision_engraver"
-       \consists "Local_key_engraver"
+       \consists "Accidental_engraver"
        \consists "Piano_pedal_engraver"
        \consists "Instrument_name_engraver"
-
+       \consists "Grob_pq_engraver"
+       \consists "Forbid_line_break_engraver"
        \consistsend "Axis_group_engraver"
-       
-       MinimumVerticalExtent = #'(-4 . 4)
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
+
+       minimumVerticalExtent = #'(-6 . 6)
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
+       localKeySignature = #'()
 
        % explicitly set instrument, so we don't get 
        % weird effects when doing instrument names for
-       % piano staffs
+       % piano staves
 
        instrument = ##f
        instr = ##f
@@ -51,10 +53,11 @@ StaffContext=\translator {
 StaffContainerContext = \translator {
        \type Engraver_group_engraver
        \consists "Axis_group_engraver"
-       MinimumVerticalExtent = ##f
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
-       
+       minimumVerticalExtent = ##f
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
+       localKeySignature = #'()
+
        \accepts Staff
        \name StaffContainer
 }
@@ -62,9 +65,10 @@ StaffContainerContext = \translator {
 InnerChoirStaffContext = \translator {
        \type "Engraver_group_engraver"
        \name InnerChoirStaff
-       alignmentReference = #0
+       %% alignmentReference = #0 FIXME
        \consists "System_start_delimiter_engraver"
-       SystemStartDelimiter \override #'glyph = #'bracket
+       systemStartDelimiter = #'SystemStartBracket
+       localKeySignature = #'()
 
        \accepts "Staff"
        \accepts "RhythmicStaff"
@@ -86,26 +90,31 @@ RhythmicStaffContext=\translator{
        
        \consists "Output_property_engraver"    
 
-       Generic_property_list = #generic-staff-properties
-       MinimumVerticalExtent = ##f
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
+
+       minimumVerticalExtent = ##f
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
+       localKeySignature = #'()
 
        \consists "Pitch_squash_engraver"
        \consists "Separating_line_group_engraver"      
        \name RhythmicStaff
        \alias "Staff"
        
-       Bar \override #'bar-size = #4
+       BarLine \override #'bar-size = #4
        VoltaBracket \override #'minimum-space =  #15  % urg, in \pt
        VoltaBracket \override #'padding =  #5  % urg, in \pt
        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"
 }
@@ -115,7 +124,8 @@ VoiceContext = \translator {
        \type "Engraver_group_engraver"
        \name Voice
 
-       Generic_property_list = #generic-voice-properties
+
+       localKeySignature = #'()
        \consists "Font_size_engraver"
        
        % must come before all
@@ -124,12 +134,14 @@ VoiceContext = \translator {
        \consists "Arpeggio_engraver"
        \consists "Multi_measure_rest_engraver"
        \consists "Text_spanner_engraver"
-       
+       \consists "Grob_pq_engraver"
+
+       \consists "Ligature_bracket_engraver"
        \consists "Breathing_sign_engraver"
        % \consists "Rest_engraver"
-       \consists "Dot_column_engraver"
        \consists "Stem_engraver"
        \consists "Beam_engraver"
+       \consists "Grace_beam_engraver"
        \consists "Auto_beam_engraver"
 
        \consists "Chord_tremolo_engraver"
@@ -140,8 +152,9 @@ VoiceContext = \translator {
  Must come before text_engraver, but after note_column engraver.
 
 %}
-       \consists "Dynamic_engraver"
        \consists "Text_engraver"
+       \consists "Dynamic_engraver"
+       \consists "Fingering_engraver"
 
        \consists "Script_engraver"
        \consists "Script_column_engraver"
@@ -149,6 +162,7 @@ VoiceContext = \translator {
        \consists "Phrasing_slur_engraver"
        \consists "Slur_engraver"
        \consists "Tie_engraver"
+       \consists "Porrectus_engraver"
        \consists "Tuplet_engraver"
        \consists "A2_engraver"
 
@@ -159,6 +173,7 @@ VoiceContext = \translator {
 ThreadContext = \translator{
        \type Engraver_group_engraver
        \name Thread
+       localKeySignature = #'()
 
        \consists "Font_size_engraver"  
        \consists "Thread_devnull_engraver"
@@ -166,52 +181,57 @@ ThreadContext = \translator{
        \consists "Rest_engraver"
        \consists "Note_head_line_engraver"
        \consists "Output_property_engraver"    
-       Generic_property_list = #generic-thread-properties
+
 }
 
+
+
 GrandStaffContext=\translator{
        \type "Engraver_group_engraver"
        \name GrandStaff
+       localKeySignature = #'()
        \consists "Span_bar_engraver"
        \consists "Span_arpeggio_engraver"
        \consists "System_start_delimiter_engraver"
-       SystemStartDelimiter \override #'glyph = #'brace
-       
-       Generic_property_list = #generic-grand-staff-properties
+       systemStartDelimiter = #'SystemStartBrace
+
        \accepts "Staff"
 }
 
 PianoStaffContext = \translator{
        \GrandStaffContext
        \name "PianoStaff"
+       \alias "GrandStaff"
+
+       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 = ##f
-       instr = ##f
+       instrument = #'()
+       instr = #'()
        
-       verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
-       VerticalAlignment \override #'forced-distance = #12
-       VerticalAlignment \override #'self-alignment-Y = #0
 %      \consistsend "Axis_group_engraver"
 }
 
 InnerStaffGroupContext= \translator {
        \type "Engraver_group_engraver"
        \name InnerStaffGroup
+       localKeySignature = #'()
 
        \consists "Span_bar_engraver"
        \consists "Span_arpeggio_engraver"
        \consists "Output_property_engraver"    
-       SystemStartDelimiter \override #'glyph = #'bracket
+       systemStartDelimiter = #'SystemStartBracket
 
        \consists "System_start_delimiter_engraver"
        \accepts "Staff"
        \accepts "RhythmicStaff"
        \accepts "GrandStaff"
        \accepts "PianoStaff"
-       
+       \accepts "TabStaff"     
        \accepts "Lyrics"
        \accepts "ChordNames"
 }
@@ -221,6 +241,7 @@ StaffGroupContext = \translator {
        \accepts "InnerChoirStaff"
        \accepts "ChoirStaff"
        \accepts "InnerStaffGroup"
+       \accepts "FiguredBass"
 }
 
 
@@ -228,15 +249,16 @@ StaffGroupContext = \translator {
 LyricsVoiceContext= \translator{
        \type "Engraver_group_engraver"
        \consistsend "Axis_group_engraver"
-       MinimumVerticalExtent = #(cons -1.2 1.2)
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
+       minimumVerticalExtent = #(cons -1.2 1.2)
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
        \name LyricsVoice 
        \consists "Separating_line_group_engraver"
        \consists "Lyric_engraver"
        \consists "Extender_engraver"
        \consists "Hyphen_engraver"
        \consists "Stanza_number_engraver"
+       \consists "Skip_req_swallow_translator"
        phrasingPunctuation = #".,:!?\""
        
 }
@@ -245,9 +267,9 @@ NoteNamesContext = \translator {
        \name NoteNames
        \consistsend "Axis_group_engraver"
 
-       MinimumVerticalExtent = ##f
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
+       minimumVerticalExtent = ##f
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
 
        
        \consists "Note_name_engraver"
@@ -258,12 +280,12 @@ LyricsContext = \translator {
        \type "Engraver_group_engraver"
        \name Lyrics
        \consists Vertical_align_engraver %need this for getting folded repeats right.
-       Generic_property_list = #generic-lyrics-properties
+
 
        \consistsend "Axis_group_engraver"
-       MinimumVerticalExtent = ##f
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
+       minimumVerticalExtent = ##f
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
        
        \accepts "LyricsVoice"
 }
@@ -273,7 +295,7 @@ ChordNamesContext = \translator {
        \type "Engraver_group_engraver"
        \name ChordNames
 
-       Generic_property_list = #generic-chord-staff-properties
+
 
 
        \consists "Output_property_engraver"    
@@ -281,12 +303,10 @@ ChordNamesContext = \translator {
        \consists "Chord_name_engraver"
        \consists "Skip_req_swallow_translator"
        \consistsend "Axis_group_engraver"
-       MinimumVerticalExtent = ##f
-       ExtraVerticalExtent = ##f
-       VerticalExtent = ##f 
-
-       VerticalAxisGroup \override #'invisible-staff = ##t
-       }
+       minimumVerticalExtent = ##f
+       extraVerticalExtent = ##f
+       verticalExtent = ##f 
+}
 
 
 
@@ -305,7 +325,11 @@ HaraKiriStaffContext = \translator {
        \consistsend "Hara_kiri_engraver"
        \consists "Instrument_name_engraver"
        \accepts "Voice"
+
+       % hara kiri & auto knee don't work together.
+       Beam \override #'auto-knee-gap = #'()
 }
+
 %{
   The HaraKiriStaffContexts doesn't override \name,
   so it is still named `Staff'.
@@ -319,22 +343,29 @@ HaraKiriStaffContext = \translator {
 ScoreContext = \translator {
        \type Score_engraver
        \name Score
+       localKeySignature = #'()
        
-
        \consists "Repeat_acknowledge_engraver"
+       \consists "Staff_collecting_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 "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 "StaffContainer"
        \accepts "StaffGroup"
        \accepts "RhythmicStaff"        
@@ -344,6 +375,7 @@ ScoreContext = \translator {
        \accepts "ChoirStaff"
        \accepts "PianoStaff"
        \accepts "NoteNames"
+       \accepts "FiguredBass"  
 
        soloText = #"Solo"
        soloIIText = #"Solo II"
@@ -351,9 +383,9 @@ ScoreContext = \translator {
        soloADue = ##t
        splitInterval = #'(0 . 1)
        changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
+       systemStartDelimiter =#'SystemStartBar
+
 
-       barAuto = ##t
-       voltaVisibility = ##t
        %  name, glyph id, clef position 
        % where is c0 in this clef?
 
@@ -362,40 +394,55 @@ ScoreContext = \translator {
        centralCPosition = #-6
        
         automaticPhrasing = ##t
-       alignmentReference = #-1   % \down
+       automaticMelismata = ##t
+       
        defaultBarType = #"|"
+       barNumberVisibility = #default-bar-number-visibility
 
        explicitClefVisibility = #all-visible
        explicitKeySignatureVisibility = #all-visible
-       
+       autoBeamSettings = #auto-beam-settings
+       autoBeaming = ##t
        scriptDefinitions = #default-script-alist
 
        verticalAlignmentChildCallback = #Align_interface::alignment_callback
 
        pedalSustainStrings = #'("Ped." "*Ped." "*")
        pedalUnaCordaStrings = #'("una corda" "" "tre corde")
-       pedalSostenutoStrings = #'()  % FIXME
+
+       %% 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." "*") 
 
        tupletNumberFormatFunction = #denominator-tuplet-formatter
        
+       subdivideBeams = ##f
+       extraNatural = ##t
+       autoAccidentals = #'(Staff (same-octave . 0))
+       autoCautionaries = #'()  
+
+
        keyAccidentalOrder = #'(
          (6 . -1) (2  . -1) (5 . -1 ) (1  . -1) (4  . -1) (0  . -1) (3  . -1)
         (3  . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
-       )
+         (6 . -2) (2  . -2) (5 . -2 ) (1  . -2) (4  . -2) (0  . -2) (3 . -2)
+         (3  . 2) (0 . 2) (4 . 2) (2 . 2) (5 . 2) (2 . 2) (6 . 2)
+        )
        breakAlignOrder = #'(
-         Instrument_name
-         Left_edge_item
-         Span_bar
-         Breathing_sign
-         Clef_item
-         Key_item
-         Staff_bar
-         Time_signature
-         Custos
+         instrument-name
+         left-edge
+         ambitus
+         span-bar
+         breathing-sign
+         clef
+         key-signature
+         staff-bar
+         time-signature
+         custos
        )
+       barCheckSynchronize = ##t
 
-
-       \elementdescriptions #all-grob-descriptions
+       \grobdescriptions #all-grob-descriptions
 }
 
 OrchestralScoreContext= \translator {
@@ -404,10 +451,69 @@ OrchestralScoreContext= \translator {
 EasyNotation =  \translator {
        \ScoreContext
        NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
-       easyPlay = ##t
 }
 
 % retain for compatibility reasons (FIXME: convert-ly)
 GraceContext = \translator {
        \type "Engraver_group_engraver"
 }
+
+FiguredBassContext = \translator {
+       \type "Engraver_group_engraver"
+       \name FiguredBass 
+       \consists "Figured_bass_engraver"       
+       \consistsend "Axis_group_engraver"
+}
+
+
+TabVoiceContext =   \translator {
+      \VoiceContext
+      \name "TabVoice"
+      \denies "Thread"
+      \consists "Tab_note_heads_engraver"
+
+      Slur \override #'font-family       = #'roman
+      Slur \override #'molecule-callback = #hammer-molecule-callback
+      Slur \override #'direction    = #-1
+
+      % Draws all stems/beams out of the staff (and not in the middle of the staff !)
+      % This feature is now disabled because most of the tab does not use it.
+      %Beam \override #'damping = #100000
+      %Stem \override #'up-to-staff = ##t
+
+      % No accidental in tablature !
+      \remove Accidental_engraver
+}
+
+TabStaffContext = \translator {
+      \StaffContext
+      \alias "Staff"
+      \name "TabStaff"
+      \denies "Voice"
+      \accepts "TabVoice"
+      
+      % 6 strings
+      StaffSymbol \override #'line-count  = #6
+      StaffSymbol \override #'staff-space = #1.5
+
+      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
+      %TabNoteHead \override #'string-tunings = #'(10 10 10 10 10 10)
+      
+      % Special "TAB" clef
+      clefGlyph = #"clefs-tab"
+      clefPosition = #0
+      
+      % Don't draw stems over the tablature figures !
+      Stem \override #'avoid-note-head = ##t
+      
+      % No accidental in tablature !
+      \remove Accidental_engraver
+      \remove Key_engraver
+      stringTunings   = #guitar-tunings
+      tablatureFormat = #fret-number-tablature-format
+}
+