]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/engraver.ly
release: 1.3.70
[lilypond.git] / ly / engraver.ly
index cb548ddceda9acc52fdd25df12dfb01dbfae882f..da81fa71ef47c2062146e0e8f325e8225bc89d09 100644 (file)
@@ -403,6 +403,7 @@ ScoreContext = \translator {
        
        basicBarProperties = #`(
                (break-align-symbol . Staff_bar)
+               (barsize-procedure . ,Bar::get_staff_bar_size)
                (molecule-callback . ,Bar::brew_molecule)          
                (visibility-lambda . ,begin-of-line-invisible)
                (breakable . #t)
@@ -414,6 +415,8 @@ ScoreContext = \translator {
                (thin-kern . 3.0)
                (hair-thickness . 1.6)
                (thick-thickness . 6.0)
+
+               (interfaces . (bar-interface staff-bar-interface))              
        )
 
        basicBarNumberProperties = #`(
@@ -426,22 +429,28 @@ ScoreContext = \translator {
                (molecule-callback . ,Beam::brew_molecule)
                (beam-thickness . 0.42) ; interline
                (before-line-breaking-callback . ,Beam::before_line_breaking)
-               (after-line-breaking-callback . ,Beam::after_line_breaking)                             
+               (after-line-breaking-callback . ,Beam::after_line_breaking)
+               (default-neutral-direction . 1)
+               (interfaces . (beam-interface))
+               (damping . 1)
        )
 
        basicBreakAlignProperties = #`(
                (breakable . #t)
-               (before-line-breaking-callback . ,Break_align_item::before_line_breaking)
-)
-
-       
+               (interfaces . (break-align-interface))
+               (stacking-dir . 1)
+               (axes 0)
+       )
+       basicBreakAlignGroupProperties = #`(
+               (interfaces . (axis-group-interface))
+               (axes  . (0))
+       )
        basicBreathingSignProperties = #`(
                (break-align-symbol . Breathing_sign)
-               (after-line-breaking-callback . ,Breathing_sign::after_line_breaking)
                (breakable . #t )
                (molecule-callback . ,Breathing_sign::brew_molecule)
                (visibility-lambda . ,begin-of-line-invisible)
-
+               (interfaces . (breathing-sign-interface))
        )
         basicClefItemProperties = #`(
           (molecule-callback . ,Score_element::brew_molecule)
@@ -449,32 +458,36 @@ ScoreContext = \translator {
           (breakable . #t)
           (break-align-symbol . Clef_item)
           (visibility-lambda . ,begin-of-line-visible)
-          (clef-interface . #t)
+          (interfaces .  (clef-interface))
         )
        basicChordNameProperties = #`(
                (molecule-callback . ,Chord_name::brew_molecule)
+               (interfaces . (chord-name-interface))
        )
        basicCollisionProperties = #`(
                (axes 0 1)
+               (interfaces . (collision-interface))
        )
        basicCrescendoProperties = #`(
                (molecule-callback . ,Crescendo::brew_molecule)
+               (interfaces . (crescendo-interface dynamic-interface))
        )
        basicDotColumnProperties = #`(
-               (dot-column-interface . #t)
+               (interfaces . (dot-column-interface axis-group-interface ))
+               (axes 0 )
        )
        basicDotsProperties = #`(
                (molecule-callback . ,Dots::brew_molecule)
                (dot-count . 1)
-               (dots-interface . #t)
+               (interfaces . (dot-interface))
        )
        basicDynamicLineSpannerProperties = #`(
-               (dynamic-interface . #t)
+               (interfaces (dynamic-interface axis-group-interface))
                (axes . ( 1))
        )
        basicDynamicTextProperties       = # `(
                (style . "dynamic")
-               (dynamic-interface . #t)
+               (interface (dynamic-interface))
                (molecule-callback . ,Text_item::brew_molecule)
                (script-priority . 100)
                (self-alignment-Y . 0)
@@ -485,10 +498,12 @@ ScoreContext = \translator {
        )
        basicGraceAlignItemProperties = #`(
                (axes . (0))
+               (interfaces . (axis-group-interface align-interface))
                (before-line-breaking-callback . ,Grace_align_item::before_line_breaking)
        )
        basicHaraKiriVerticalGroupspannerProperties = #`(
-               (after-line-breaking-callback . ,Hara_kiri_group_spanner::after_line_breaking)
+               (interfaces . (hara-kiri-interface))
+               (axes 1)
        )
        basicHyphenSpannerProperties = #`(
                (thickness . 1.0)
@@ -498,6 +513,7 @@ ScoreContext = \translator {
        )
        basicKeyProperties = #`(
          (molecule-callback . ,Key_item::brew_molecule)
+         (interfaces . (key-item-interface))
          (break-align-symbol . Key_item)
          (visibility-lambda . ,begin-of-line-visible)
          (breakable . #t)
@@ -506,6 +522,11 @@ ScoreContext = \translator {
                (molecule-callback . ,Local_key_item::brew_molecule)
                (left-padding . 0.2)
                (right-padding . 0.4)
+               (interfaces . (accidentals-interface ))
+       )
+       basicLineOfScoreProperties = #`(
+               (axes . (0 1))
+               (interfaces . (axis-group-interface))
        )
        basicLyricExtenderProperties = #`(
                (molecule-callback . ,Lyric_extender::brew_molecule)
@@ -514,23 +535,25 @@ ScoreContext = \translator {
                (molecule-callback . ,Text_item::brew_molecule)
                (self-alignment-X . 0)
                (non-rhythmic . #t)
-               (text-item-interface . #t)
+               (interfaces .  (text-item-interface))
        )
        basicMarkProperties = #`(
          (molecule-callback . ,Text_item::brew_molecule)       
          (breakable . #t)
+         (interfaces . (mark-interface))
          (visibility-lambda . ,end-of-line-invisible)
        )
        basicMultiMeasureRestProperties = #`(
+               (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)             
                (molecule-callback . ,Multi_measure_rest::brew_molecule)
                (staff-position . 0)
-
        )
        basicNoteColumnProperties = #`(
                (axes 0 1)
+               (interfaces . (axis-group-interface note-column-interface))
        )
        basicNoteHeadProperties = #`(
-               (note-head-interface . #t)
+               (interfaces . (note-head-interface rhythmic-head-interface))
                (molecule-callback . ,Note_head::brew_molecule)
        )
        basicNoteNameProperties = #`(
@@ -543,6 +566,11 @@ ScoreContext = \translator {
                (molecule-callback . ,Text_item::brew_molecule)
                (style . "italic")
        )
+       basicPaperColumnProperties = #`(
+               (interfaces . (paper-column-interface axis-group-interface))
+               (axes 0)
+               (rank . -1)
+       )
        basicPedalProperties = #`(
                (molecule-callback . ,Text_item::brew_molecule)
                (style . "italic")
@@ -552,29 +580,37 @@ ScoreContext = \translator {
        )
        basicTextProperties = #`( )
        basicRestProperties = #`(
-               (rest-interface . #t)   
+               (interfaces . (rest-interface rhythmic-head-interface)) 
                (molecule-callback . ,Rest::brew_molecule)
                (minimum-beam-collision-distance . 1.5)
        )
        
        basicRestCollisionProperties = #`(
                (minimum-distance . 0.75)
+               (interfaces . (rest-collision-interface))
        )
        basicScriptProperties    = #`(
                (molecule-callback . ,Script::brew_molecule)
+               (interface . (script-interface))
+       )
+       basicScriptColumnProperties = #`(
+               (before-line-breaking-callback . ,Script_column::before_line_breaking)
        )
-               
        basicSlurProperties = #`(
                (molecule-callback . ,Slur::brew_molecule)
+               (spacing-procedure . ,Slur::set_spacing_rods)           
                (after-line-breaking-callback . ,Slur::after_line_breaking) 
        )
+       basicSpacingSpannerProperties =#`(
+               (spacing-procedure . ,Spacing_spanner::set_springs)
+       )
        basicSpanBarProperties = #`(
                (break-align-symbol . Staff_bar)
+               (barsize-procedure . ,Span_bar::get_bar_size) 
                (molecule-callback . ,Bar::brew_molecule)
                (visibility-lambda . ,begin-of-line-invisible)
                (breakable . #t)
                (before-line-breaking-callback . ,Span_bar::before_line_breaking)
-               (after-line-breaking-callback . ,Span_bar::after_line_breaking)
 
                ;; ugh duplication! 
                
@@ -585,16 +621,17 @@ ScoreContext = \translator {
                (thin-kern . 3.0)
                (hair-thickness . 1.6)
                (thick-thickness . 6.0)
-
+               (interfaces . (bar-interface span-bar-interface))
        )
        basicSustainPedalProperties = #`(
                (no-spacing-rods . #t)
                (molecule-callback . ,Sustain_pedal::brew_molecule)
                (self-alignment-X . 0)
+               (interface . (sustain-pedal-interface))
        )       
        basicSystemStartDelimiterProperties = #`(
                (molecule-callback . ,System_start_delimiter::brew_molecule)
-               (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking) 
+               (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
                (collapse-height . 1.0)
                (thickness . 1.6)
                (arch-height . 1.5)
@@ -607,35 +644,46 @@ ScoreContext = \translator {
        basicStemProperties = #`(
                (before-line-breaking-callback . ,Stem::before_line_breaking)
                (molecule-callback . ,Stem::brew_molecule)
-               (stem-interface . #t)
+
+               ; if stem is on middle line, choose this direction.
+               (default-neutral-direction . 1)
+               (interfaces . (stem-interface))
        )
        staffSymbolBasicProperties = #`(
                (molecule-callback . ,Staff_symbol::brew_molecule)
-               (staff-space . 1.0 )
+               (staff-space . 1.0)
                (line-count . 5 )
+               (interfaces . (staff-symbol-interface ))
        )
        basicTextScriptProperties = #`(
                (molecule-callback . ,Text_item::brew_molecule)
                (no-spacing-rods . #t)
-       )
-       basicTimeSignatureProperties = #`(
-               (molecule-callback . ,Time_signature::brew_molecule)
-               (break-align-symbol . Time_signature)
-               (visibility-lambda . ,all-visible)
-               (breakable . #t)
+               (interfaces . (text-script-interface text-item-interface))
        )
        basicTieProperties = #`(
                (molecule-callback . ,Tie::brew_molecule)
-               (after-line-breaking-callback . ,Tie::after_line_breaking)              
+               (after-line-breaking-callback . ,Tie::after_line_breaking)
+               (spacing-procedure . ,Tie::set_spacing_rods)                            
+               (interfaces . (tie-interface))
        )
        basicTieColumnProperties = #`(
                (after-line-breaking-callback . ,Tie_column::after_line_breaking)
+               (interfaces . (tie-column-interface))
+       )
+       basicTimeSignatureProperties = #`(
+               (molecule-callback . ,Time_signature::brew_molecule)
+               (break-align-symbol . Time_signature)
+               (visibility-lambda . ,all-visible)
+               (breakable . #t)
+               (interfaces . (time-signature-interface))
        )
        basicTupletSpannerProperties = #`(
                (number-gap . 2.0)   
+               (delta-y . 0)
                (thick . 1.0)
                (after-line-breaking-callback . ,Tuplet_spanner::after_line_breaking)
                (molecule-callback . ,Tuplet_spanner::brew_molecule)
+               (interfaces . (tuplet-spanner-interface))
        )       
        basicStemTremoloProperties = #`(
                (molecule-callback . ,Stem_tremolo::brew_molecule)
@@ -643,8 +691,12 @@ ScoreContext = \translator {
                (beam-thickness . 0.42) ; interline!            
        )
 
-       basicSingleMaltGroupingItemProperties = #`(
-
+       basicSeparationItemProperties = #`(
+               (interfaces . (separation-item-interface))
+       )
+       basicSeparatingGroupSpannerProperties = #`(
+               (interfaces . (separation-spanner-interface))
+               (spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
        )
        basicInstrumentNameProperties = #`(
                (breakable . #t)
@@ -654,10 +706,11 @@ ScoreContext = \translator {
        )
        basicVerticalAxisGroupProperties = #`(
                (axes 1)
+               (interfaces . (axis-group-interface))
        )
        basicVoltaSpannerProperties = #`(
                (molecule-callback . ,Volta_spanner::brew_molecule)
-               (after-line-breaking-callback . ,Volta_spanner::after_line_breaking) 
+               (interfaces . (volta-spanner-interface))
        )
        
        \accepts "Staff";