;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--20.301 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;; distances are given in stafflinethickness (thicknesses) and
;;;; staffspace (distances)
;;;; WARNING: the meta field should be the last one.
+;;;; WARNING: don't use anonymous functions for initialization.
;; TODO: junk the meta field in favor of something more compact?
-(define all-grob-descriptions
+(define-public all-grob-descriptions
`(
(Accidental
. (
(molecule-callback . ,Accidental_interface::brew_molecule)
(font-family . music)
- (cautionary-style . smaller)
+ (cautionary-style . parentheses)
(after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface accidental-interface font-interface))))
))
(AccidentalPlacement
(custos . (minimum-space . 2.0))
(clef . (minimum-space . 1.0))
(first-note . (extra-space . 1.3))
+ (right-edge . (extra-space . 0.0))
))
;;
(BassFigure
. (
- (molecule-callback . ,brew-bass-figure)
+ (molecule-callback . ,brew-new-markup-molecule)
(Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
- (direction . 0)
+ (direction . 1)
(font-family . number)
(font-relative-size . -1)
- (padding . 0.1)
(kern . 0.2)
- (thickness . 1.0)
- (meta . ((interfaces . (text-interface bass-figure-interface item-interface self-alignment-interface font-interface))))
+ (meta . ((interfaces . (text-interface rhythmic-grob-interface
+ bass-figure-interface item-interface
+ self-alignment-interface font-interface))))
))
(Beam
. (
(outer-stem-length-limit . 0.2)
(slope-limit . 0.2)
- (flag-width-function . ,default-beam-flag-width-function)
+ (flag-width-function . ,beam-flag-width-function)
(damping . 1)
(auto-knee-gap . 5.5)
(font-name . "cmr10")
(breakable . #t)
(space-alist . (
(ambitus . (extra-space . 2.0))
+ (custos . (minimum-space . 1.0))
(key-signature . (minimum-space . 1.5))
(staff-bar . (minimum-space . 1.5))
(clef . (minimum-space . 2.0))
(first-note . (minimum-space . 1.0))
+ (right-edge . (extra-space . 0.1))
))
- (molecule-callback . ,Text_item::brew_molecule)
+ (molecule-callback . ,Breathing_sign::brew_molecule)
(lookup . name)
(font-family . music)
(text . "scripts-rcomma")
(key-signature . (minimum-space . 4.0))
(time-signature . (minimum-space . 4.2))
(first-note . (minimum-space . 5.0))
- (next-note . (extra-space . 0.5))
+ (next-note . (extra-space . 0.5))
+ (right-edge . (extra-space . 0.5))
))
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(meta . ((interfaces . (clef-interface staff-symbol-referencer-interface font-interface break-aligned-interface item-interface ))))
))
+ (Cluster
+ . (
+ (molecule-callback . ,Cluster::brew_molecule)
+ (spacing-procedure . ,Spanner::set_spacing_rods)
+ (minimum-length . 0.0)
+ (padding . 0.25)
+ (shape . leftsided-stairs)
+ (meta . ((interfaces . (cluster-interface spanner-interface))))
+ ))
+
(ChordName
. (
- (molecule-callback . ,Chord_name::brew_molecule)
+ (molecule-callback . ,new-chord-name-brew-molecule)
(after-line-breaking-callback . ,Chord_name::after_line_breaking)
- (chord-name-function . ,default-chord-name-function)
+ (word-space . 1.0)
(font-family . roman)
- (meta . ((interfaces . (font-interface text-interface chord-name-interface item-interface ))))
+ (meta . ((interfaces . (font-interface rhythmic-grob-interface
+ text-interface chord-name-interface item-interface ))))
))
(Custos
(neutral-direction . -1)
(adjust-if-on-staffline . #t)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
- (font-family . ancient)
(space-alist . (
(first-note . (minimum-space . 0.0))
+ (right-edge . (extra-space . 0.1))
))
- (meta . ((interfaces . (custos-interface staff-symbol-referencer-interface break-aligned-interface item-interface ))))
+ (meta . ((interfaces
+ . (custos-interface staff-symbol-referencer-interface
+ font-interface
+ break-aligned-interface item-interface ))))
))
(font-family . dynamic)
(font-shape . italic)
(self-alignment-Y . 0)
- (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface item-interface ))))
+ (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface script-interface item-interface ))))
))
(DynamicLineSpanner
(LeftEdge
. (
(break-align-symbol . left-edge)
- (X-offset-callbacks . (,Break_align_interface::alignment_callback))
(X-extent-callback . ,Grob::point_dimension_callback)
(breakable . #t)
(space-alist . (
(staff-bar . (extra-space . 0.0))
(breathing-sign . (minimum-space . 0.0))
(clef . (extra-space . 1.0))
- (first-note . (extra-space . 0.0))
+ (first-note . (extra-space . 1.0))
+ (right-edge . (extra-space . 0.0))
(key-signature . (extra-space . 0.0))
))
(meta . ((interfaces . (break-aligned-interface item-interface ))))
(Fingering
. (
(molecule-callback . ,Text_item::brew_molecule)
- (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent
- ,Self_alignment_interface::aligned_on_self))
(padding . 0.6)
;; (direction . -1)
(self-alignment-X . 0)
(meta . ((interfaces . (hairpin-interface self-alignment-interface dynamic-interface spanner-interface))))
))
+ (HorizontalBracket
+ . (
+ (thickness . 1.0)
+ (molecule-callback . ,Horizontal_bracket::brew_molecule)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (padding . 0.2)
+ (direction . -1)
+ (meta . ((interfaces . (horizontal-bracket-interface side-position-interface spanner-interface))))
+ ))
(InstrumentName
. (
(breakable . #t)
(space-alist . (
(time-signature . (extra-space . 1.25))
(staff-bar . (extra-space . 1.1))
+ (right-edge . (extra-space . 0.5))
(first-note . (extra-space . 2.5))
))
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(meta . ((interfaces . (key-signature-interface font-interface break-aligned-interface item-interface ))))
))
- (Ligature
- . (
- (molecule-callback . ,Ligature_bracket::brew_molecule)
- (meta . ((interfaces . (ligature-interface))))
- ))
-
(LigatureBracket
. (
- (width . 0.75)
- (height . 0.5)
(ligature-primitive-callback . ,Note_head::brew_molecule)
- (molecule-callback . ,Ligature_bracket::brew_molecule)
- (meta . ((interfaces . (ligature-bracket-interface spanner-interface))))
- ))
-
- (LigatureHead
- . (
- (ligature-primitive-callback . ,Note_head::brew_molecule)
- (molecule-callback . ,Ligature_head::brew_molecule)
- (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
- (stem-attachment-function . ,note-head-style->attachment-coordinates)
- (font-family . ancient)
- (style . mensural)
- (meta . ((interfaces . (ligature-head-interface rhythmic-head-interface note-head-interface staff-symbol-referencer-interface))))
+ (direction . 1)
+ (gap . 0.0)
+ (padding . 2.0)
+ (thickness . 1.6)
+ (edge-widen . (0.0 . 0.0))
+ (edge-height . (0.7 . 0.7))
+ (shorten-pair . (-0.2 . -0.2))
+ (before-line-breaking-callback . ,Tuplet_bracket::before_line_breaking)
+ (after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking)
+ (molecule-callback . ,Tuplet_bracket::brew_molecule)
+ (meta . ((interfaces . (tuplet-bracket-interface spanner-interface))))
))
(LyricHyphen
(font-shape . upright)
;; duh, side-position-interface?
- (meta . ((interfaces . (lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface ))))
+ (meta . ((interfaces . (rhythmic-grob-interface lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface ))))
))
(MensuralLigature
(flexa-width . 2.0)
(ligature-primitive-callback . ,Mensural_ligature::brew_ligature_primitive)
(molecule-callback . ,Mensural_ligature::brew_molecule)
- (font-family . ancient)
- (meta . ((interfaces . (mensural-ligature-interface))))
- ))
-
- (Porrectus
- . (
- (style . mensural)
- (auto-properties . #f)
- (solid . #f)
- (width . 2.4)
- (thickness . 1.0)
- (add-stem . #t)
- (direction . 1)
- (molecule-callback . ,Porrectus::brew_molecule)
- (meta . ((interfaces . (porrectus-interface))))
+ (meta . ((interfaces . (mensural-ligature-interface font-interface))))
))
(RehearsalMark
. (
- (molecule-callback . ,Text_item::brew_molecule)
+ (molecule-callback . ,brew-new-markup-molecule)
(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
(self-alignment-X . 0)
-
+ (break-align-symbol . time-signature)
(direction . 1)
(breakable . #t)
(font-family . roman)
(padding . 0.8)
(meta . ((interfaces . (text-interface side-position-interface font-interface mark-interface self-alignment-interface item-interface ))))
))
-
+ (MetronomeMark
+ . (
+ (molecule-callback . ,brew-new-markup-molecule)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (direction . 1)
+ (breakable . #t)
+ (font-family . roman)
+ (break-visibility . ,end-of-line-invisible)
+ (padding . 0.8)
+ (meta . ((interfaces . (text-interface side-position-interface font-interface metronome-mark-interface item-interface))))
+ ))
+ (MeasureGrouping
+ . (
+ (Y-offset-callbacks . (,Side_position_interface::out_of_staff
+ ,Side_position_interface::aligned_side))
+ (molecule-callback . ,Measure_grouping::brew_molecule)
+ (padding . 2)
+ (direction . 1)
+ (thickness . 1)
+ (height . 2.0)
+ (staff-padding . 3)
+ (meta . ((interfaces . (spanner-interface side-position-interface measure-grouping-interface))))
+ ))
(MultiMeasureRest
. (
(spacing-procedure . ,Multi_measure_rest::set_spacing_rods)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(staff-position . 0)
(expand-limit . 10)
- (number-threshold . 1)
+ (thick-thickness . 6.6)
+ (hair-thickness . 2.0)
(padding . 1)
- (thickness . 6.6)
+ (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface))))
+ ))
+
+ (MultiMeasureRestNumber
+ . (
+ (molecule-callback . ,brew-new-markup-molecule)
+ (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 . 2)
(font-family . number)
- (padding . 1)
- (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface spanner-interface))))
+ (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface))))
))
-
- (NoteCollision
+ (MultiMeasureRestText
+ . (
+ (molecule-callback . ,brew-new-markup-molecule)
+ (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 . 2)
+ (font-family . roman)
+ (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface))))
+ ))
+ (NoteCollision
. (
(axes . (0 1))
;; Ugh, should not be hard-coded.
. (
(style . default)
(molecule-callback . ,Note_head::brew_molecule)
+ (ligature-primitive-callback . ,Note_head::brew_molecule)
+ (glyph-name-procedure . ,find-notehead-symbol)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
(stem-attachment-function . ,note-head-style->attachment-coordinates)
- (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface ))))
+ (meta . ((interfaces . (rhythmic-grob-interface rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface ))))
))
(Glissando
. (
(type . line)
(gap . 0.5)
+ (zigzag-width . 0.75)
(breakable . #t)
(X-extent-callback . #f)
(Y-extent-callback . #f)
(Y-extent-callback . ,Rest::extent_callback)
(molecule-callback . ,Rest::brew_molecule)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
- (minimum-beam-collision-distance . 1.5)
+ (minimum-beam-collision-distance . 0.75)
(meta . (
(interfaces . (font-interface
rhythmic-head-interface
+ rhythmic-grob-interface
+
staff-symbol-referencer-interface
rest-interface item-interface ))
))))
(grace-space-factor . 0.6)
(shortest-duration-space . 2.0)
(spacing-increment . 1.2)
- (base-shortest-duration . ,(make-moment 1 8))
+ (base-shortest-duration . ,(ly:make-moment 1 8))
(meta . ((interfaces . (spacing-interface spacing-spanner-interface spanner-interface))))
))
(thin-kern . 3.0)
(hair-thickness . 1.6)
(thick-thickness . 6.0)
- (meta . ((interfaces . (span-bar-interface bar-line-interface item-interface ))))
+ (meta . ((interfaces . (span-bar-interface font-interface
+ bar-line-interface item-interface ))))
))
(StanzaNumber
. (
(axes . (1))
(Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+
(padding . 1.2)
(minimum-space . 1.0)
(SustainPedalLineSpanner
. (
(axes . (1))
- (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
(padding . 1.2)
(minimum-space . 1.0)
(style . default)
(molecule-callback . ,tablature-molecule-callback)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (extra-offset . (0 . -0.65)) ;; UGH! TODO: Clean this up!
(stem-attachment-function . ,tablature-stem-attachment-function)
- (meta . ((interfaces . (rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface ))))
+ (meta . ((interfaces
+ . (rhythmic-head-interface
+ font-interface
+ note-head-interface staff-symbol-referencer-interface
+ text-interface item-interface ))))
))
(break-visibility . ,all-visible)
(space-alist . (
(first-note . (extra-space . 2.0))
+ (right-edge . (extra-space . 0.5))
(staff-bar . (minimum-space . 2.0))
))
(breakable . #t)
. (
(axes . (1))
(Y-extent-callback . ,Axis_group_interface::group_extent_callback)
+ (Y-offset-callbacks . (,Side_position_interface::aligned_side))
+
(padding . 1.2)
(minimum-space . 1.0)
(direction . -1)
(meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface))))
))
+ (VaticanaLigature
+ . (
+ (thickness . 1.0)
+ (flexa-width . 2.0)
+ (ligature-primitive-callback . ,Vaticana_ligature::brew_ligature_primitive)
+ (molecule-callback . ,Vaticana_ligature::brew_molecule)
+ (meta . ((interfaces . (vaticana-ligature-interface font-interface))))
+ ))
+
(VoltaBracket
. (
(molecule-callback . ,Volta_bracket_interface::brew_molecule)
(define (completize-grob-entry x)
"transplant assoc key into 'name entry of 'meta of X
"
-
(let* ((name-sym (car x))
(grob-entry (cdr x))
(metaentry (cdr (assoc 'meta grob-entry)))