X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=3c52b6854662c152721d6ef48bda647c7d431363;hb=851252089ef752254c4ff464aa39aefce252bf3a;hp=c4981cb439974fc0f2c5795bb3fa79b54f2190a5;hpb=c5cda88f8464c8d94f18ead05131b53278af4f57;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index c4981cb439..3c52b68546 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1,11 +1,11 @@ -;;;; grob-description.scm -- part of generated backend documentation +;;;; define-grobs.scm -- ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2003 Han-Wen Nienhuys +;;;; (c) 1998--2004 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen -;;;; distances are given in stafflinethickness (thicknesses) and +;;;; distances are given in linethickness (thicknesses) and ;;;; staffspace (distances) ;;;; WARNING: the meta field should be the last one. @@ -16,15 +16,16 @@ `( (Accidental . ( - (molecule-callback . ,Accidental_interface::brew_molecule) + (print-function . ,Accidental_interface::print) (font-family . music) (cautionary-style . parentheses) (after-line-breaking-callback . ,Accidental_interface::after_line_breaking) (meta . ((interfaces . (item-interface accidental-interface font-interface)))) )) + (AccidentalPlacement . ( (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (left-padding . 0.3) + (left-padding . 0.2) ;; this is quite small, but it is very ugly to have ;; accs closer to the previous note than to the next one. @@ -36,17 +37,17 @@ . ( (breakable . #t) (break-align-symbol . ambitus) - (molecule-callback . ,Ambitus::brew_molecule) + (print-function . ,Ambitus::print) (font-family . music) (note-head-style . "noteheads-2") - (visibility-lambda . ,begin-of-line-visible) + (break-visibility . ,begin-of-line-visible) (join-heads . #t) (space-alist . ( (clef . (extra-space . 0.0)) (key-signature . (extra-space . 0.0)) (staff-bar . (extra-space . 0.0)) (time-signature . (extra-space . 0.0)) - (first-note . (extra-space . 0.0)) + (first-note . (fixed-space . 0.0)) )) (meta . ((interfaces . (ambitus-interface staff-symbol-referencer-interface break-aligned-interface item-interface font-interface)))) )) @@ -55,10 +56,11 @@ . ( (X-extent-callback . ,Arpeggio::width_callback) (Y-extent-callback . #f) - (molecule-callback . ,Arpeggio::brew_molecule) + (print-function . ,Arpeggio::print) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (X-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . -1) + (padding . 0.5) (staff-position . 0.0) (meta . ((interfaces . (arpeggio-interface staff-symbol-referencer-interface side-position-interface item-interface font-interface)))) )) @@ -69,7 +71,7 @@ (glyph . "|") (break-glyph-function . ,default-break-barline) (bar-size-procedure . ,Bar_line::get_staff_bar_size) - (molecule-callback . ,Bar_line::brew_molecule) + (print-function . ,Bar_line::print) (break-visibility . ,all-visible) (breakable . #t) (before-line-breaking-callback . ,Bar_line::before_line_breaking) @@ -77,7 +79,9 @@ (time-signature . (extra-space . 0.75)) (custos . (minimum-space . 2.0)) (clef . (minimum-space . 1.0)) - (first-note . (extra-space . 1.3)) + (key-signature . (extra-space . 1.0)) + (first-note . (fixed-space . 1.3)) + (next-note . (semi-fixed-space . 1.3)) (right-edge . (extra-space . 0.0)) )) @@ -94,16 +98,18 @@ (BarNumber . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (breakable . #t) (break-visibility . ,begin-of-line-visible) (padding . 1.0) (direction . 1) (font-family . roman) - (font-relative-size . -1) + (font-size . -2) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (self-alignment-X . 1) + + ;; hmm. why did we do this: ? (extra-offset . (1.3 . 0)) (meta . ((interfaces . (side-position-interface @@ -115,11 +121,14 @@ (BassFigure . ( - (molecule-callback . ,brew-new-markup-molecule) + (print-function . ,Text_item::print) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . 1) (font-family . number) - (font-relative-size . -1) + + ;; We must do this, other BFs in + ;; paper16 become too small. + (font-size . -4) (kern . 0.2) (meta . ((interfaces . (text-interface rhythmic-grob-interface bass-figure-interface item-interface @@ -129,10 +138,10 @@ . ( ;; todo: clean this up a bit: the list is getting ;; rather long. - (molecule-callback . ,Beam::brew_molecule) - (concaveness-gap . 2.0) - (concaveness-threshold . 0.08) - + (print-function . ,Beam::print) + (concaveness-gap . 1.85) + (concaveness-threshold . 0.26) + (gap . 0.8) (positions . (#f . #f)) (position-callbacks . (,Beam::least_squares ,Beam::check_concave @@ -164,14 +173,13 @@ ;; sadly possibly breaking patterns with high order beams. (beamed-stem-shorten . (1.0 0.5 0.25)) - (outer-stem-length-limit . 0.2) (slope-limit . 0.2) (flag-width-function . ,beam-flag-width-function) (damping . 1) (auto-knee-gap . 5.5) ;; only for debugging. -; (font-name . "cmr10") + (font-family . roman) (space-function . ,Beam::space_function) (meta . ((interfaces . (staff-symbol-referencer-interface beam-interface spanner-interface)))) @@ -204,13 +212,11 @@ (key-signature . (minimum-space . 1.5)) (staff-bar . (minimum-space . 1.5)) (clef . (minimum-space . 2.0)) - (first-note . (minimum-space . 1.0)) + (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)) )) - (molecule-callback . ,Breathing_sign::brew_molecule) - (lookup . name) - (font-family . music) - (text . "scripts-rcomma") + (print-function . ,Text_item::print) + (text . ,(make-musicglyph-markup "scripts-rcomma")) (Y-offset-callbacks . (,Breathing_sign::offset_callback)) (break-visibility . ,begin-of-line-invisible) (meta . ((interfaces . (break-aligned-interface breathing-sign-interface text-interface font-interface item-interface )))) @@ -218,41 +224,47 @@ (Clef . ( - (molecule-callback . ,Clef::brew_molecule) + (print-function . ,Clef::print) (before-line-breaking-callback . ,Clef::before_line_breaking) (breakable . #t) (font-family . music) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) - (space-alist . ( - (ambitus . (extra-space . 2.0)) - (staff-bar . (minimum-space . 3.7)) + (space-alist . ((ambitus . (extra-space . 2.0)) + (staff-bar . (extra-space . 0.7)) (key-signature . (minimum-space . 4.0)) (time-signature . (minimum-space . 4.2)) - (first-note . (minimum-space . 5.0)) + (first-note . (minimum-fixed-space . 5.0)) (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 + + (ClusterSpannerBeacon . ( - (molecule-callback . ,Cluster::brew_molecule) + (print-function . #f) + (meta . ((interfaces . (cluster-beacon-interface item-interface)))) + )) + + (ClusterSpanner + . ( + (print-function . ,Cluster::print) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 0.0) (padding . 0.25) - (shape . leftsided-stairs) + (style . ramp) (meta . ((interfaces . (cluster-interface spanner-interface)))) )) (ChordName . ( - (molecule-callback . ,new-chord-name-brew-molecule) + (print-function . ,Text_item::print) (after-line-breaking-callback . ,Chord_name::after_line_breaking) - (word-space . 1.0) - (font-family . roman) + (word-space . 0.0) + (font-family . sans) + (font-size . 1.5) (meta . ((interfaces . (font-interface rhythmic-grob-interface text-interface chord-name-interface item-interface )))) )) @@ -261,7 +273,7 @@ . ( (break-align-symbol . custos) (breakable . #t) - (molecule-callback . ,Custos::brew_molecule) + (print-function . ,Custos::print) (break-visibility . ,end-of-line-visible) (style . vaticana) (neutral-position . 0) @@ -269,7 +281,7 @@ (adjust-if-on-staffline . #t) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (space-alist . ( - (first-note . (minimum-space . 0.0)) + (first-note . (minimum-fixed-space . 0.0)) (right-edge . (extra-space . 0.1)) )) (meta . ((interfaces @@ -282,7 +294,7 @@ (DotColumn . ( (axes . (0)) - (direction . 1) + (direction . ,RIGHT) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (X-offset-callbacks . (,Dot_column::side_position)) (meta . ((interfaces . (dot-column-interface axis-group-interface item-interface )))) @@ -290,15 +302,14 @@ (Dots . ( - (molecule-callback . ,Dots::brew_molecule) + (print-function . ,Dots::print) (dot-count . 1) - (Y-offset-callbacks . (,Dots::quantised_position_callback ,Staff_symbol_referencer::callback)) (meta . ((interfaces . (font-interface staff-symbol-referencer-interface dots-interface item-interface )))) )) (DoublePercentRepeat . ( - (molecule-callback . ,Percent_repeat_item_interface::double_percent) + (print-function . ,Percent_repeat_item_interface::double_percent) (breakable . #t) (slope . 1.0) (font-family . music) @@ -314,7 +325,7 @@ (DynamicText . ( (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Self_alignment_interface::centered_on_parent)) (self-alignment-X . 0) @@ -324,7 +335,7 @@ (font-family . dynamic) (font-shape . italic) (self-alignment-Y . 0) - (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface script-interface item-interface )))) + (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface script-interface item-interface)))) )) (DynamicLineSpanner @@ -332,6 +343,7 @@ (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (staff-padding . 0.1) (padding . 0.6) (minimum-space . 1.2) (direction . -1) @@ -341,7 +353,7 @@ (LeftEdge . ( (break-align-symbol . left-edge) - (X-extent-callback . ,Grob::point_dimension_callback) + (X-extent . (0 . 0)) (breakable . #t) (space-alist . ( (custos . (extra-space . 0.0)) @@ -349,8 +361,8 @@ (time-signature . (extra-space . 0.0)) (staff-bar . (extra-space . 0.0)) (breathing-sign . (minimum-space . 0.0)) - (clef . (extra-space . 1.0)) - (first-note . (extra-space . 1.0)) + (clef . (extra-space . 0.85)) + (first-note . (fixed-space . 1.0)) (right-edge . (extra-space . 0.0)) (key-signature . (extra-space . 0.0)) )) @@ -359,48 +371,45 @@ (Fingering . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (padding . 0.6) - ;; (direction . -1) + (staff-padding . 0.6) (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) (font-family . number) - (font-relative-size . -3) + (font-size . -5) ; don't overlap when next to heads. (font-shape . upright) (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) )) - (HaraKiriVerticalGroup + (RemoveEmptyVerticalGroup . ( (Y-offset-callbacks . (,Hara_kiri_group_spanner::force_hara_kiri_callback)) (Y-extent-callback . ,Hara_kiri_group_spanner::y_extent) + (remove-first . #t) (axes . (1)) (meta . ((interfaces . (axis-group-interface hara-kiri-group-interface item-interface spanner-interface)))) )) (Hairpin . ( - (molecule-callback . ,Hairpin::brew_molecule) + (print-function . ,Hairpin::print) (thickness . 1.0) (height . 0.6666) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 2.0) (if-text-padding . 1.0) - (width-correct . -1.0) - - (dash-thickness . 1.2) - (dash-length . 4.0) (self-alignment-Y . 0) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (meta . ((interfaces . (hairpin-interface self-alignment-interface dynamic-interface spanner-interface)))) + (meta . ((interfaces . (hairpin-interface line-interface self-alignment-interface dynamic-interface spanner-interface)))) )) (HorizontalBracket . ( (thickness . 1.0) - (molecule-callback . ,Horizontal_bracket::brew_molecule) + (print-function . ,Horizontal_bracket::print) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (padding . 0.2) (direction . -1) @@ -411,29 +420,48 @@ (breakable . #t) (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self ,Side_position_interface::aligned_on_support_refpoints)) - ;; huh? what's this for? + ;; This direction is for aligned_on_support_refpoints + ;; (?) --hwn (direction . 0) (space-alist . ( (left-edge . (extra-space . 1.0)) )) (self-alignment-Y . 0) - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (break-align-symbol . instrument-name) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) (font-family . roman) (meta . ((interfaces . (font-interface self-alignment-interface side-position-interface text-interface break-aligned-interface item-interface )))) )) + + (VocalName + . ( + (breakable . #t) + (Y-offset-callbacks . (,Side_position_interface::aligned_on_support_refpoints)) + (direction . 0) + (space-alist . ((left-edge . (extra-space . 1.0)) + )) + (print-function . ,Text_item::print) + (break-align-symbol . clef) + (break-visibility . ,begin-of-line-visible) + (baseline-skip . 2) + (font-family . roman) + (meta . ((interfaces . (font-interface + self-alignment-interface + side-position-interface text-interface + break-aligned-interface item-interface )))) + )) (KeySignature . ( - (molecule-callback . ,Key_signature_interface::brew_molecule) + (print-function . ,Key_signature_interface::print) (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)) + (first-note . (fixed-space . 2.5)) )) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (break-align-symbol . key-signature) @@ -444,54 +472,51 @@ (LigatureBracket . ( - (ligature-primitive-callback . ,Note_head::brew_molecule) + (ligature-primitive-callback . ,Note_head::print) (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) + (print-function . ,Tuplet_bracket::print) (meta . ((interfaces . (tuplet-bracket-interface spanner-interface)))) )) (LyricHyphen . ( - (thickness . 1.0) - (height . 0.4) - (minimum-length . 0.5) - (maximum-length . 100) - (molecule-callback . ,Hyphen_spanner::brew_molecule) - (Y-extent-callback . ,Grob::point_dimension_callback) - (meta . ((interfaces . (lyric-hyphen-interface spanner-interface)))) + (thickness . 1.3) + (height . 0.42) + (dash-period . 10.0) + (length . 0.66) + (spacing-procedure . ,Hyphen_spanner::set_spacing_rods) + (print-function . ,Hyphen_spanner::print) + (Y-extent . (0 . 0)) + (meta . ((interfaces . (lyric-interface lyric-hyphen-interface + spanner-interface)))) )) (LyricExtender . ( - (molecule-callback . ,Lyric_extender::brew_molecule) - (height . 0.8) ; stafflinethickness; - (right-trim-amount . 0.5) - (Y-extent-callback . ,Grob::point_dimension_callback) - (meta . ((interfaces . (lyric-extender-interface spanner-interface)))) + (print-function . ,Lyric_extender::print) + (thickness . 0.8) ; linethickness + (minimum-length . 1.5) + (Y-extent . (0 . 0)) + (meta . ((interfaces . (lyric-interface + lyric-extender-interface spanner-interface)))) )) (LyricText - . ( - (molecule-callback . ,Text_item::brew_molecule) - (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent - ,Self_alignment_interface::aligned_on_self)) + . ((print-function . ,Text_item::print) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent)) (self-alignment-X . 0) (word-space . 0.6) - (ignore-length-mismatch . #f) - (begin-alignment . 4) - (end-alignment . 2) (font-family . roman) + (font-series . bold-narrow) (font-shape . upright) - - ;; duh, side-position-interface? + (font-size . 1.0) (meta . ((interfaces . (rhythmic-grob-interface lyric-syllable-interface self-alignment-interface text-interface font-interface item-interface )))) )) @@ -500,19 +525,20 @@ (thickness . 1.4) (flexa-width . 2.0) (ligature-primitive-callback . ,Mensural_ligature::brew_ligature_primitive) - (molecule-callback . ,Mensural_ligature::brew_molecule) + (print-function . ,Mensural_ligature::print) (meta . ((interfaces . (mensural-ligature-interface font-interface)))) )) (RehearsalMark . ( - (molecule-callback . ,brew-new-markup-molecule) + (print-function . ,Text_item::print) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (after-line-breaking-callback . ,shift-right-at-line-begin) (self-alignment-X . 0) - (break-align-symbol . time-signature) (direction . 1) (breakable . #t) + (font-size . 2) (font-family . roman) (baseline-skip . 2) (break-visibility . ,end-of-line-invisible) @@ -521,7 +547,7 @@ )) (MetronomeMark . ( - (molecule-callback . ,brew-new-markup-molecule) + (print-function . ,Text_item::print) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (direction . 1) (breakable . #t) @@ -532,9 +558,8 @@ )) (MeasureGrouping . ( - (Y-offset-callbacks . (,Side_position_interface::out_of_staff - ,Side_position_interface::aligned_side)) - (molecule-callback . ,Measure_grouping::brew_molecule) + (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (print-function . ,Measure_grouping::print) (padding . 2) (direction . 1) (thickness . 1) @@ -545,45 +570,45 @@ (MultiMeasureRest . ( (spacing-procedure . ,Multi_measure_rest::set_spacing_rods) - (molecule-callback . ,Multi_measure_rest::brew_molecule) + (print-function . ,Multi_measure_rest::print) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (staff-position . 0) (expand-limit . 10) (thick-thickness . 6.6) (hair-thickness . 2.0) (padding . 1) - (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface)))) + (meta . ((interfaces . (multi-measure-rest-interface multi-measure-interface rest-interface font-interface staff-symbol-referencer-interface)))) )) (MultiMeasureRestNumber . ( - (molecule-callback . ,brew-new-markup-molecule) + (print-function . ,Text_item::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 . 2) + (padding . 1.3) + (staff-padding . 1.3) (font-family . number) - (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface)))) + (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (MultiMeasureRestText . ( - (molecule-callback . ,brew-new-markup-molecule) + (print-function . ,Text_item::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 . 2) + (padding . 1.5) + (staff-padding . 1.5) (font-family . roman) - (meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface)))) + (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (NoteCollision . ( (axes . (0 1)) - ;; Ugh, should not be hard-coded. - (note-width . 1.321) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) (meta . ((interfaces . (note-collision-interface axis-group-interface item-interface )))) @@ -600,9 +625,11 @@ (NoteHead . ( (style . default) - (molecule-callback . ,Note_head::brew_molecule) - (ligature-primitive-callback . ,Note_head::brew_molecule) + (print-function . ,Note_head::print) + (ligature-primitive-callback . ,Note_head::print) (glyph-name-procedure . ,find-notehead-symbol) + (X-extent-callback . ,Note_head::extent) + (Y-extent-callback . ,Note_head::extent) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (stem-attachment-function . ,note-head-style->attachment-coordinates) (meta . ((interfaces . (rhythmic-grob-interface rhythmic-head-interface font-interface note-head-interface staff-symbol-referencer-interface item-interface )))) @@ -610,45 +637,48 @@ (Glissando . ( - (type . line) + (style . line) (gap . 0.5) (zigzag-width . 0.75) (breakable . #t) (X-extent-callback . #f) (Y-extent-callback . #f) - (molecule-callback . ,Line_spanner::brew_molecule) + (after-line-breaking-callback . ,Line_spanner::after_line_breaking) + (print-function . ,Line_spanner::print) (meta . ((interfaces . (line-spanner-interface spanner-interface)))) )) (VoiceFollower . ( - (type . line) + (style . line) (gap . 0.5) (breakable . #t) (X-extent-callback . #f) (Y-extent-callback . #f) - (molecule-callback . ,Line_spanner::brew_molecule) + (print-function . ,Line_spanner::print) + (after-line-breaking-callback . ,Line_spanner::after_line_breaking) (meta . ((interfaces . (line-spanner-interface spanner-interface)))) )) (NoteName . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (font-family . roman) - (meta . ((interfaces . (note-name-interface text-interface font-interface item-interface )))) + (meta . ((interfaces . (note-name-interface + text-interface font-interface item-interface )))) )) (OctavateEight . ( (self-alignment-X . 0) - (text . "8") (break-visibility . ,begin-of-line-visible) (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent ,Self_alignment_interface::aligned_on_self)) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (font-shape . italic) (padding . 0.4) - (font-relative-size . -2) + (staff-padding . 0.2) + (font-size . -4) (font-family . roman) (meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface )))) )) @@ -659,18 +689,18 @@ (before-line-breaking-callback . ,Paper_column::before_line_breaking) (X-extent-callback . ,Axis_group_interface::group_extent_callback) -; (molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8") (Y-extent-callback . #f) +; (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f) (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface )))) )) (PhrasingSlur . ( - (molecule-callback . ,Slur::brew_molecule) + (print-function . ,Slur::print) (thickness . 1.2) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 1.5) (after-line-breaking-callback . ,Slur::after_line_breaking) - (extremity-rules . ,default-slur-extremity-rules) + (extremity-function . ,calc-slur-extremity) (extremity-offset-alist . ,default-phrasing-slur-extremity-offset-alist) (de-uglify-parameters . (1.5 0.8 -2.0)) (Y-extent-callback . ,Slur::height) @@ -693,8 +723,9 @@ (axes . (0)) (X-extent-callback . ,Axis_group_interface::group_extent_callback) (before-line-breaking-callback . ,Paper_column::before_line_breaking) + (breakable . #t) ;; debugging stuff: print column number. -; (molecule-callback . ,Paper_column::brew_molecule) (font-name . "cmr8") (Y-extent-callback . #f) +; (print-function . ,Paper_column::print) (font-name . "cmr8") (Y-extent-callback . #f) (meta . ((interfaces . (paper-column-interface axis-group-interface spaceable-grob-interface item-interface )))) @@ -703,33 +734,30 @@ (PercentRepeat . ( (spacing-procedure . ,Multi_measure_rest::set_spacing_rods) - (molecule-callback . ,Multi_measure_rest::percent) + (print-function . ,Multi_measure_rest::percent) (slope . 1.0) (thickness . 0.48) - (minimum-width . 12.5) ; staffspace (font-family . music) (meta . ((interfaces . (multi-measure-rest-interface spanner-interface font-interface percent-repeat-interface)))) )) (PianoPedalBracket ;; an example of a text spanner . ( - (molecule-callback . ,Text_spanner::brew_molecule) + (print-function . ,Piano_pedal_bracket::print) (font-family . roman) - (type . line) + (style . line) (if-text-padding . 1.0) - (width-correct . 0) - (enclose-bounds . #t) (direction . -1) - (edge-widen . (0.5 . 0.5)) + (bracket-flare . (0.5 . 0.5)) (edge-height . (1.0 . 1.0)) (shorten-pair . (0.0 . 0.0)) (thickness . 1.0) - (meta . ((interfaces . (text-spanner-interface piano-pedal-interface spanner-interface)))) + (meta . ((interfaces . (line-interface piano-pedal-interface piano-pedal-bracket-interface spanner-interface)))) )) (RepeatSlash . ( - (molecule-callback . , Percent_repeat_item_interface::beat_slash) + (print-function . ,Percent_repeat_item_interface::beat_slash) (thickness . 0.48) (slope . 1.7) (meta . ((interfaces . (percent-repeat-interface item-interface )))) @@ -739,14 +767,15 @@ (after-line-breaking-callback . ,Rest::after_line_breaking) (X-extent-callback . ,Rest::extent_callback) (Y-extent-callback . ,Rest::extent_callback) - (molecule-callback . ,Rest::brew_molecule) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (minimum-beam-collision-distance . 0.75) + (print-function . ,Rest::print) + (Y-offset-callbacks . (,Staff_symbol_referencer::callback + ,Rest::polyphonic_offset_callback + )) + (minimum-distance . 0.25) (meta . ( (interfaces . (font-interface rhythmic-head-interface - rhythmic-grob-interface - + rhythmic-grob-interface staff-symbol-referencer-interface rest-interface item-interface )) )))) @@ -760,11 +789,12 @@ (Script . ( ;; don't set direction here: it breaks staccato. - (molecule-callback . ,Script_interface::brew_molecule) + (print-function . ,Script_interface::print) ;; This value is sensitive: if too large, staccato dots will move a ;; space a away. (padding . 0.25) + (staff-padding . 0.25) ;; (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) @@ -780,12 +810,12 @@ (Slur . ( - (molecule-callback . ,Slur::brew_molecule) + (print-function . ,Slur::print) (thickness . 1.2) (spacing-procedure . ,Spanner::set_spacing_rods) (minimum-length . 1.5) (after-line-breaking-callback . ,Slur::after_line_breaking) - (extremity-rules . ,default-slur-extremity-rules) + (extremity-function . ,calc-slur-extremity) (extremity-offset-alist . ,default-slur-extremity-offset-alist) (de-uglify-parameters . (1.5 0.8 -2.0)) (Y-extent-callback . ,Slur::height) @@ -817,12 +847,11 @@ . ( (break-align-symbol . staff-bar) (bar-size-procedure . ,Span_bar::get_bar_size) - (molecule-callback . ,Span_bar::brew_molecule) + (print-function . ,Span_bar::print) (break-visibility . ,begin-of-line-invisible) (X-extent-callback . ,Span_bar::width_callback) (Y-extent-callback . ()) (breakable . #t) - (glyph . "|") (before-line-breaking-callback . ,Span_bar::before_line_breaking) ;; ugh duplication! @@ -838,45 +867,49 @@ )) (StanzaNumber - . ( - (breakable . #t) - (molecule-callback . ,Text_item::brew_molecule) - (break-align-symbol . clef) - (break-visibility . ,begin-of-line-visible) + . ((print-function . ,Text_item::print) (font-family . roman) - (meta . ((interfaces . (break-aligned-interface text-interface font-interface item-interface )))) + (font-series . bold) + (padding . 1.0) + (X-offset-callbacks . (,Side_position_interface::aligned_side)) + (direction . ,LEFT) + (meta . ((interfaces . (side-position-interface stanza-number-interface text-interface font-interface item-interface )))) )) (StaffSpacing . ( (breakable . #t) (stem-spacing-correction . 0.4) - (knee-spacing-correction . 0.75) + (meta . ((interfaces . (spacing-interface staff-spacing-interface item-interface )))) )) (NoteSpacing . ( (stem-spacing-correction . 0.5) - (knee-spacing-correction . 0.75) + + ;; Changed this from 0.75. + ;; If you ever change this back, please document! --hwn + (knee-spacing-correction . 1.0) + (meta . ((interfaces . (spacing-interface note-spacing-interface item-interface )))) )) (StaffSymbol . ( - (molecule-callback . ,Staff_symbol::brew_molecule) + (print-function . ,Staff_symbol::print) (line-count . 5) + (ledger-line-thickness . (1.0 . 0.1)) (layer . 0) (meta . ((interfaces . (staff-symbol-interface spanner-interface)))) )) (SostenutoPedal . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (direction . 1) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (no-spacing-rods . #t) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner - (pedal-type . mixed) (font-family . roman) (font-shape . italic) (self-alignment-X . 0) @@ -901,7 +934,7 @@ ;; this list is rather long. Trim --hwn (before-line-breaking-callback . ,Stem::before_line_breaking) - (molecule-callback . ,Stem::brew_molecule) + (print-function . ,Stem::print) (thickness . 1.3) ;; 3.5 (or 3 measured from note head) is standar length @@ -915,36 +948,27 @@ ;; default stem direction for note on middle line (neutral-direction . -1) - - ;; [Wanske]: standard length (but no shorter than minimum). - ;; (beamed-lengths . (3.5)) - + + + ;; FIXME. 3.5 yields too long beams (according to Ross and ;; looking at Baerenreiter examples) for a number of common ;; boundary cases. Subtracting half a beam thickness fixes ;; this, but the bug may well be somewhere else. - (beamed-lengths . (3.26)) - ;; [Wanske] lists three sets of minimum lengths. One - ;; set for the nomal case, and one set for beams with `der - ;; Balkenendpunkt weiter "uber bzw. unter die Systemgrenze - ;; hinaus (bei Gruppen mit grossem Tonumfang)' and the extreme - ;; case. + ;; FIXME this should come from 'lengths - ;; Note that Wanske lists numbers lengths starting from top of - ;; head, so we must add half a staff space. +; (beamed-lengths . (3.26 3.26 1.5)) + (beamed-lengths . (3.5 3.5 3.5 4.5 5.0)) ;; We use the normal minima as minimum for the ideal lengths, ;; and the extreme minima as abolute minimum length. ;; The 'normal' minima - (beamed-minimum-free-lengths . (2.5 2.0 1.5)) - - ;; The 'far outside staff' minima, not used - ;(beamed-far-minimum-free-lengths . (1.83)) + (beamed-minimum-free-lengths . (1.83 1.5 1.25)) ;; The 'extreme case' minima - (beamed-extreme-minimum-free-lengths . (1.83 1.5)) + (beamed-extreme-minimum-free-lengths . (2.0 1.25)) (X-offset-callbacks . (,Stem::off_callback)) (X-extent-callback . ,Stem::dim_callback) @@ -952,14 +976,12 @@ (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (adjust-if-on-staffline . #t) (font-family . music) - (avoid-note-head . #f) - (up-to-staff . #f) (meta . ((interfaces . (stem-interface font-interface item-interface )))) )) (StemTremolo . ( - (molecule-callback . ,Stem_tremolo::brew_molecule) + (print-function . ,Stem_tremolo::print) (Y-extent-callback . ,Stem_tremolo::height) (X-extent-callback . #f) @@ -970,23 +992,24 @@ (SeparationItem . ( + (X-extent-callback . #f) + (Y-extent-callback . #f) (meta . ((interfaces . (spacing-interface separation-item-interface item-interface )))) )) (SeparatingGroupSpanner . ( (spacing-procedure . ,Separating_group_spanner::set_spacing_rods) - (meta . ((interfaces . (spacing-interface separation-spanner-interface spanner-interface)))) + (meta . ((interfaces . (only-prebreak-interface spacing-interface separation-spanner-interface spanner-interface)))) )) (SustainPedal . ( (no-spacing-rods . #t) - (molecule-callback . ,Sustain_pedal::brew_molecule) + (print-function . ,Sustain_pedal::print) (self-alignment-X . 0) (direction . 1) (padding . 0.0) ;; padding relative to SustainPedalLineSpanner - (pedal-type . text) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (meta . ((interfaces . (piano-pedal-interface text-spanner-interface text-interface self-alignment-interface font-interface item-interface)))) )) @@ -998,6 +1021,7 @@ (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (padding . 1.2) + (staff-padding . 1.2) (minimum-space . 1.0) (direction . -1) (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) @@ -1014,7 +1038,7 @@ (SystemStartBrace . ( (glyph . "brace") - (molecule-callback . ,System_start_delimiter::brew_molecule) + (print-function . ,System_start_delimiter::print) (collapse-height . 5.0) (font-family . braces) (Y-extent-callback . #f) @@ -1024,13 +1048,13 @@ (SystemStartBracket . ( (Y-extent-callback . #f) - (molecule-callback . ,System_start_delimiter::brew_molecule) + (print-function . ,System_start_delimiter::print) (glyph . "bracket") (arch-height . 1.5) (arch-angle . 50.0) (arch-thick . 0.25) (arch-width . 1.5) - (bracket-collapse-height . 1) + (collapse-height . 1) (thickness . 0.25) (meta . ((interfaces . (system-start-delimiter-interface spanner-interface)))) )) @@ -1038,7 +1062,7 @@ (SystemStartBar . ( (Y-extent-callback . #f) - (molecule-callback . ,System_start_delimiter::brew_molecule) + (print-function . ,System_start_delimiter::print) (glyph . "bar-line") (thickness . 1.6) (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking) @@ -1047,50 +1071,74 @@ (TextScript . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (no-spacing-rods . #t) (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (direction . -1) (padding . 0.5) + (staff-padding . 0.5) (script-priority . 200) ;; todo: add X self alignment? (baseline-skip . 2) (font-family . roman) (meta . ((interfaces . (text-script-interface text-interface side-position-interface font-interface item-interface )))) )) - + (CombineTextScript + . ( + (print-function . ,Text_item::print) + (no-spacing-rods . #t) + (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (direction . 1) + (extra-offset . (-1 . 0)) + (padding . 0.5) + (staff-padding . 0.5) + (script-priority . 200) + ;; todo: add X self alignment? + (baseline-skip . 2) + (font-family . roman) + (font-series . bold) + (meta . ((interfaces . (text-script-interface text-interface side-position-interface font-interface item-interface )))) + )) (TextSpanner . ( - (molecule-callback . ,Text_spanner::brew_molecule) + (print-function . ,Text_spanner::print) (font-family . roman) - (type . line) - + (font-shape . italic) + (style . dashed-line) + (staff-padding . 0.1) + ;; urg, only for (de)cresc. text spanners (if-text-padding . 1.0) - (width-correct . -1) - + (dash-fraction . 0.2) + (dash-period . 3.0) (direction . 1) (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) )) - (OttavaSpanner + (OttavaBracket . ( (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (molecule-callback . ,Text_spanner::brew_molecule) + (print-function . ,Ottava_bracket::print) + (font-shape . italic) (font-family . roman) - (enclose-bounds . #t) - (width-correct . 0.0) - (type . dashed-line) - (edge-height . (0 . 1.5)) + (shorten-pair . (0.0 . -0.6)) + (staff-padding . 1.0) + (padding . 0.5) + (minimum-length . 1.0) + (dash-fraction . 0.3) + (edge-height . (0 . 1.2)) (direction . 1) - (meta . ((interfaces . (text-spanner-interface side-position-interface font-interface spanner-interface)))) + (meta . ((interfaces . (ottava-bracket-interface + line-interface side-position-interface + font-interface text-interface spanner-interface)))) )) (TabNoteHead . ( (font-family . roman) (style . default) - (molecule-callback . ,tablature-molecule-callback) + (print-function . ,Text_item::print) (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (extra-offset . (0 . -0.65)) ;; UGH! TODO: Clean this up! (stem-attachment-function . ,tablature-stem-attachment-function) @@ -1104,7 +1152,7 @@ (Tie . ( - (molecule-callback . ,Tie::brew_molecule) + (print-function . ,Tie::print) (spacing-procedure . ,Spanner::set_spacing_rods) (staffline-clearance . 0.35) (details . ((ratio . 0.333) (height-limit . 1.0))) @@ -1118,54 +1166,55 @@ (TieColumn . ( (after-line-breaking-callback . ,Tie_column::after_line_breaking) - (X-extent-callback . ()) - (Yoo-extent-callback . ()) + (X-extent-callback . #f) + (Y-extent-callback . #f) (meta . ((interfaces . (tie-column-interface spanner-interface)))) )) (TimeSignature . ( - (molecule-callback . ,Time_signature::brew_molecule) + (print-function . ,Time_signature::print) +; (print-function . ,Text_item::print) (break-align-symbol . time-signature) (break-visibility . ,all-visible) (space-alist . ( - (first-note . (extra-space . 2.0)) + (first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) (staff-bar . (minimum-space . 2.0)) )) (breakable . #t) (style . C) +; (text . (,time-signature-glue-markup)) (font-family . number) (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface item-interface )))) )) (TupletBracket . ( - (gap . 2.0) - (padding . 0.9) + (gap . 1.5) + (padding . 1.1) (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) + (print-function . ,Tuplet_bracket::print) (font-family . roman) (font-shape . italic) + (font-series . bold) - (font-relative-size . -1) - (meta . ((interfaces . (text-interface tuplet-bracket-interface font-interface spanner-interface)))) + (font-size . -2) + (meta . ((interfaces . (text-interface line-interface tuplet-bracket-interface font-interface spanner-interface)))) )) (UnaCordaPedal . ( - (molecule-callback . ,Text_item::brew_molecule) + (print-function . ,Text_item::print) (font-family . roman) (font-shape . italic) (no-spacing-rods . #t) (self-alignment-X . 0) (direction . 1) - (pedal-type . text) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) (meta . ((interfaces . (text-interface self-alignment-interface font-interface item-interface )))) @@ -1176,8 +1225,8 @@ (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (padding . 1.2) + (staff-padding . 1.2) (minimum-space . 1.0) (direction . -1) (meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface)))) @@ -1185,32 +1234,33 @@ (VaticanaLigature . ( - (thickness . 1.0) + (thickness . 0.6) (flexa-width . 2.0) (ligature-primitive-callback . ,Vaticana_ligature::brew_ligature_primitive) - (molecule-callback . ,Vaticana_ligature::brew_molecule) + (print-function . ,Vaticana_ligature::print) (meta . ((interfaces . (vaticana-ligature-interface font-interface)))) )) (VoltaBracket . ( - (molecule-callback . ,Volta_bracket_interface::brew_molecule) + (print-function . ,Volta_bracket_interface::print) (direction . 1) (padding . 1) - (font-style . volta) + (font-family . number) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (thickness . 1.6) ; stafflinethickness + (thickness . 1.6) ; linethickness (height . 2.0) ; staffspace; (minimum-space . 5) (font-family . number) - (font-relative-size . -2) - (meta . ((interfaces . (volta-bracket-interface text-interface side-position-interface font-interface spanner-interface)))) + (font-size . -4) + (meta . ((interfaces . (volta-bracket-interface line-interface text-interface side-position-interface font-interface spanner-interface)))) )) (VerticalAlignment . ( (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) (stacking-dir . -1) (meta . ((interfaces . (align-interface axis-group-interface spanner-interface)))) )) @@ -1219,6 +1269,7 @@ . ( (axes . (1)) (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent-callback . ,Axis_group_interface::group_extent_callback) (meta . ((interfaces . (axis-group-interface spanner-interface)))) ))