]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Merge commit 'origin' into beamlets2
[lilypond.git] / scm / define-grobs.scm
index 89eecc2e04ce66d002cc448c42e57554eda72a4f..e32cd6a7218ce47a3cdb4ee2f37ce7f428a8f365 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
-;;;; (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 ;;;; distances are given in line-thickness (thicknesses) and
        (X-offset . ,(grob::calc-property-by-copy 'X-offset)) 
        (Y-offset . ,(grob::calc-property-by-copy 'Y-offset)) 
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (balloon-interface
+                               text-interface
                                font-interface))))))
     (BarLine
      . (
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
 
-       (self-alignment-X . 1)
+       (self-alignment-X . ,RIGHT)
 
        ;; want the bar number before the clef at line start. 
        (break-align-symbols . (left-edge staff-bar))
                 (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems))) 
                 (interfaces . (staff-symbol-referencer-interface
                                unbreakable-spanner-interface
-                               beam-interface))))))
+                               beam-interface
+                               font-interface))))))
 
     (BendAfter
      . (
                        (first-note . (minimum-fixed-space . 0.0))
                        (right-edge . (extra-space . 0.1))))
        (meta . ((class . Item)
-                (interfaces
-                 . (custos-interface
-                    staff-symbol-referencer-interface
-                    font-interface
-                    break-aligned-interface))))))
+                (interfaces  . (custos-interface
+                                staff-symbol-referencer-interface
+                                font-interface
+                                break-aligned-interface))))))
 
     (DotColumn
      . (
        (stencil . ,ly:percent-repeat-item-interface::double-percent)
        (non-musical . #t)
        (slope . 1.0)
+       (dot-negative-kern . 0.75)
+       (slash-negative-kern . 1.6)
        (font-encoding . fetaMusic)
        (width . 2.0)
        (thickness . 0.48)
        (shortest-duration-space . 1.6)
        (meta . ((class . Spanner)
                 (interfaces . (grace-spacing-interface
-                               
                                spacing-options-interface
                                spanner-interface))))))
+
     (GridPoint
      . (
        (X-extent . (0 . 0))
        (meta . ((class . Spanner)
                 (interfaces . (system-start-text-interface
                                side-position-interface
+                               self-alignment-interface
                                font-interface))))))
 
     (InstrumentSwitch
        (side-axis . ,Y)
        (self-alignment-X . ,LEFT)
        (outside-staff-priority . 500)
-       (extra-spacing-width . '(+inf.0 . -inf.0))
+       (extra-spacing-width . (+inf.0 . -inf.0))
        (meta . ((class . Item)
                 (interfaces . (side-position-interface
+                               self-alignment-interface
+                               text-interface
                                font-interface))))))
 
     
        (meta . ((class . Item)
                 (interfaces . (key-cancellation-interface
                                key-signature-interface
+                               staff-symbol-referencer-interface
                                font-interface
                                break-aligned-interface))))))
 
        (non-musical . #t)
        (meta . ((class . Item)
                 (interfaces . (key-signature-interface
+                               staff-symbol-referencer-interface
                                font-interface
                                break-aligned-interface))))))
     
                 (interfaces . (paper-column-interface
                                axis-group-interface
                                separation-item-interface
-                               spaceable-grob-interface))))))
+                               spaceable-grob-interface
+                               font-interface))))))
 
     (NoteCollision
      . (
                                font-interface
                                note-head-interface
                                ledgered-interface
-                               staff-symbol-referencer-interface))))))
+                               staff-symbol-referencer-interface
+                               gregorian-ligature-interface
+                               mensural-ligature-interface
+                               vaticana-ligature-interface))))))
 
     (NoteSpacing
      . (
                 (interfaces . (paper-column-interface
                                separation-item-interface
                                axis-group-interface
-                               spaceable-grob-interface))))))
+                               spaceable-grob-interface
+                               font-interface))))))
 
     (ParenthesesItem
      . ((stencil . ,parentheses-item::print)
        (stencil . ,ly:multi-measure-rest::percent)
        (slope . 1.0)
        (thickness . 0.48)
+       (dot-negative-kern . 0.75)
        (font-encoding . fetaMusic)
        (meta . ((class . Spanner)
                 (interfaces . (multi-measure-rest-interface
                                font-interface
-                               percent-repeat-interface
-                               ))))))
+                               percent-repeat-interface))))))
 
     (PercentRepeatCounter
      . (
        (horizontal-skylines . ,ly:separation-item::calc-skylines)
        (stencil . ,ly:separation-item::print)
        (meta . ((class . Item)
-                (interfaces . (
-                               separation-item-interface))))))
+                (interfaces . (separation-item-interface))))))
 
     (Slur
-     . ((details . ,default-slur-details)
+     . (
+       (details . ,default-slur-details)
        (control-points . ,ly:slur::calc-control-points)
        (direction . ,ly:slur::calc-direction)
        (springs-and-rods . ,ly:spanner::set-spacing-rods)
        
        (base-shortest-duration . ,(ly:make-moment 3 16))
        (meta . ((class . Spanner)
-                (interfaces . (
-                               spacing-options-interface                               
+                (interfaces . (spacing-options-interface
                                spacing-spanner-interface))))))
 
     (SpanBar
        (length . ,ly:stem::calc-length)
        (thickness . 1.3)
        (cross-staff . ,ly:stem::calc-cross-staff)
+       (flag . ,ly:stem::calc-flag)
+       (beamlet-default-length . (1.0 . 1.0))
+       (beamlet-max-length-proportion . (0.5 . 0.5))
        (details
         . (
            ;; 3.5 (or 3 measured from note head) is standard length
-           ;; 32nd, 64th flagged stems should be longer
-           (lengths . (3.5 3.5 3.5 4.5 5.0))
+           ;; 32nd, 64th, 128th flagged stems should be longer
+           (lengths . (3.5 3.5 3.5 4.5 5.0 6.0))
 
            ;; FIXME.  3.5 yields too long beams (according to Ross and
            ;; looking at Baerenreiter examples) for a number of common
        (self-alignment-X . ,CENTER)
        (self-alignment-Y . ,CENTER)
        (script-priority . 100)
+       (avoid-slur . around)
        (font-encoding . fetaNumber)
        (font-size . -5)                ; don't overlap when next to heads.
        (meta . ((class . Item)
        (stem-attachment . (0.0 . 1.35))
        (font-series . bold)
        (meta . ((class . Item)
-                (interfaces
-                 . (rhythmic-head-interface
-                    font-interface rhythmic-grob-interface
-                    note-head-interface
-                    staff-symbol-referencer-interface
-                    text-interface))))))
+                (interfaces  . (rhythmic-head-interface
+                                font-interface
+                                rhythmic-grob-interface
+                                note-head-interface
+                                staff-symbol-referencer-interface
+                                text-interface))))))
 
     (TextScript
      . (
        (meta . ((class . Item)
                 (interfaces . (text-script-interface
                                text-interface
+                               instrument-specific-markup-interface
                                side-position-interface
+                               self-alignment-interface
                                font-interface))))))
 
     (TextSpanner
                                   ))
                          (right . ((Y . 0)
                                    (padding . 0.25)
-                                  ))
+                                   ))
                          ))
        (stencil . ,ly:line-spanner::print)
 
        (meta . ((class . Spanner)
                 (interfaces . (line-spanner-interface
+                               line-interface
                                side-position-interface
                                font-interface))))))
 
                    (outer-tie-length-symmetry-penalty-factor . 10)
                    (vertical-distance-penalty-factor . 7)
                    (outer-tie-vertical-gap . 0.25)
-                   (multi-tie-region-size . 1)
+                   (multi-tie-region-size . 3)
                    (single-tie-region-size . 4)
                    (between-length-limit . 1.0)))
        
        (edge-height . (0.7 . 0.7))
        (shorten-pair . (-0.2 . -0.2))
        (staff-padding . 0.25)
+       (full-length-to-extent . #t)
        (direction  . ,ly:tuplet-bracket::calc-direction)
        (positions . ,ly:tuplet-bracket::calc-positions)
        (connect-to-neighbor . ,ly:tuplet-bracket::calc-connect-to-neighbors)
 
 (define pure-print-callbacks
   (list
+   fret-board::calc-stencil
    print-circled-text-callback
    lyric-text::print
    ly:arpeggio::print