]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
* lily/beam.cc (set_beaming): don't clip edges.
[lilypond.git] / scm / define-grobs.scm
index 6d88d7820342932a8fa17a334ef1807b80fd7111..40ab72ddfa4a7b4991acb7177f9ba249588c444d 100644 (file)
@@ -20,7 +20,7 @@
     (Accidental
      . (
        (print-function . ,Accidental_interface::print)
-       (inside-slur . #t)
+       (avoid-slur . inside)
        (cautionary-style . parentheses)
        (after-line-breaking-callback . ,Accidental_interface::after_line_breaking)
        (meta . ((class . Item)
                                bass-figure-interface
                                self-alignment-interface
                                font-interface))))))
+
+    (NewBassFigure
+     . (
+       (print-function . ,Text_interface::print)
+       (font-size . -2)
+       (meta . ((class . Item)
+                (interfaces . (text-interface
+                               rhythmic-grob-interface
+                               bass-figure-interface
+                               font-interface))))))
+    (BassFigureBracket
+     . ((print-function . ,Enclosing_bracket::print)
+       (edge-height . (0.2 . 0.2))
+       (meta . ((class . Item)
+                (interfaces . (enclosing-bracket-interface)) ))
+       ))
+    (BassFigureContinuation
+     . (
+       (print-function . ,Figured_bass_continuation::print)
+       (Y-offset-callbacks . (,Figured_bass_continuation::center_on_figures))
+       (meta . ((class . Spanner)
+                (interfaces . (figured-bass-continuation-interface))
+                ))))
+    (BassFigureLine
+     . (
+       (axes . (,Y))
+       (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+       (meta . ((class . Spanner)
+                (interfaces . (axis-group-interface
+                               ))))))
+
+    (BassFigureAlignment
+     . (
+       (axes . (,Y))
+       (threshold . (2 . 1000))
+       (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+       (stacking-dir . -1)
+       (meta . ((class . Spanner)
+                (interfaces . (align-interface
+                               axis-group-interface))))))
+    
     (Beam
      . (
        ;; todo: clean this up a bit: the list is getting
                                break-aligned-interface
                                percent-repeat-interface))))))
 
+    (DoublePercentRepeatCounter
+     . ((print-function . ,Text_interface::print)
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
+                              ,Self_alignment_interface::centered_on_other_axis_parent))
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (font-encoding . fetaNumber)
+       (self-alignment-X . 0)
+       (font-size . -2) 
+       (direction . 1)
+       (padding . 0.2)
+       (staff-padding . 0.25)
+       (meta . ((class . Item)
+                (interfaces . (side-position-interface
+                               self-alignment-interface
+                               percent-repeat-interface
+                               font-interface
+                               text-interface))))))
     (DynamicLineSpanner
      . (
        (axes . (1))
        (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+       (X-extent-callback . ,Axis_group_interface::group_extent_callback)
        (Y-offset-callbacks . (,Side_position_interface::aligned_side))
        (staff-padding . 0.1)
        (padding . 0.6)
+       (avoid-slur . outside)
        (slur-padding . 0.3)
        (minimum-space . 1.2)
        (direction . -1)
      . (
        (print-function . ,Text_interface::print)
 
-                                       ; sync with TextScript (?)
+       ;; sync with TextScript (?)
+
        (padding . 0.5)
+       (avoid-slur . around)
        (slur-padding . 0.2)
        (staff-padding . 0.5)
        (self-alignment-X . 0)
                 (interfaces . (key-signature-interface
                                font-interface
                                break-aligned-interface))))))
+    (LaissezVibrerTie
+     . (
+       (print-function  . ,Laissez_vibrer_tie::print)
+       (details . ((ratio . 0.333)
+                   (height-limit . 1.0)))
+       (thickness . 1.0)
+       (meta . ((class . Item)
+                (interfaces . (laissez-vibrer-tie-interface))
+                ))
+       ))
+    
+    (LaissezVibrerTieColumn
+     . (
+       (X-extent-callback . #f)
+       (Y-extent-callback . #f)
+       (meta . ((class . Item)
+                (interfaces . (laissez-vibrer-tie-column-interface))
+                ))
+       ))
+    
     (LedgerLineSpanner
      . (
        (print-function . ,Ledger_line_spanner::print)
                                measure-grouping-interface))))))
     (MultiMeasureRest
      . (
-       (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
        (print-function . ,Multi_measure_rest::print)
        (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
        (staff-position . 0)
     (MultiMeasureRestNumber
      . (
        (print-function . ,Text_interface::print)
+       (spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
        (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
                               ,Self_alignment_interface::centered_on_other_axis_parent))
        (Y-offset-callbacks . (,Side_position_interface::aligned_side))
                                self-alignment-interface
                                font-interface
                                text-interface))))))
+    
     (MultiMeasureRestText
      . (
        (print-function . ,Text_interface::print)
      . (
        (self-alignment-X . 0)
        (break-visibility . ,begin-of-line-visible)
-       (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self))
+       (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent
+                              ,Self_alignment_interface::aligned_on_self))
        (Y-offset-callbacks . (,Side_position_interface::aligned_side))
        (print-function . ,Text_interface::print)
 
        (X-extent-callback . ,Axis_group_interface::group_extent_callback)
 
        ;; debugging
-       ;;              (print-function . ,Paper_column::print) (font-size . -6) (font-name . "sans") (Y-extent-callback . #f)
+;;                     (print-function . ,Paper_column::print) (font-size . -6) (font-name . "sans") (Y-extent-callback . #f)
        (meta . ((class . Paper_column)
                 (interfaces . (paper-column-interface
                                axis-group-interface
        (breakable . #t)
 
        ;; debugging stuff: print column number.
-       ;;      (print-function . ,Paper_column::print) (font-size . -6) (font-name . "sans")   (Y-extent-callback . #f)
+;;             (print-function . ,Paper_column::print) (font-size . -6) (font-name . "sans")   (Y-extent-callback . #f)
 
        (meta . ((class . Paper_column)
                 (interfaces . (paper-column-interface
                 (interfaces . (multi-measure-rest-interface
                                font-interface
                                percent-repeat-interface))))))
+    (PercentRepeatCounter
+     . ((print-function . ,Text_interface::print)
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
+                              ,Self_alignment_interface::centered_on_other_axis_parent))
+       (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+       (self-alignment-X . 0)
+       (direction . 1)
+       (padding . 0.2)
+       (staff-padding . 0.25)
+       (font-size . -2) 
+       (font-encoding . fetaNumber)
+       (meta . ((class . Spanner)
+                (interfaces . (side-position-interface
+                               self-alignment-interface
+                               percent-repeat-interface
+                               font-interface
+                               text-interface))))))
 
     ;; an example of a text spanner
     (PianoPedalBracket
        ;; space a away.
        (padding . 0.20)
        (staff-padding . 0.25)
-       (slur-padding . 0.5)
        ;; (script-priority . 0) priorities for scripts, see script.scm
        (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent))
        (before-line-breaking-callback . ,Script_interface::before_line_breaking)
        (X-offset-callbacks . (,(lambda (g a) -0.8)))
        (print-function . ,System_start_delimiter::print)
        (glyph . "bracket")
-       (collapse-height . 1)
+       (collapse-height . 5.0)
        (thickness . 0.45)
        (meta . ((class . Spanner)
                 (interfaces . (font-interface
        (padding . 0.5)
        (staff-padding . 0.5)
        (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+       (avoid-slur . around)
        (slur-padding . 0.5)
        (script-priority . 200)
        ;; todo: add X self alignment?
     (Tie
      . (
        (print-function . ,Tie::print)
-       (spacing-procedure . ,Spanner::set_spacing_rods)
-       (staffline-clearance . 0.35)
        (details . ((ratio . 0.333) (height-limit . 1.0)))
        (thickness . 1.0)
-       (x-gap . -0.1)
-       (y-offset . 0.6)
-       (minimum-length . 2.5)
        (meta . ((class . Spanner)
                 (interfaces . (tie-interface))))))