X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grobs.scm;h=f4ac31d2586c7df85b431e7680019cf523b1775c;hb=5983075187669cba3eea0268b9eeda69f7ed2e94;hp=e13a5c5768e6ebbcb2258acc8a67f440ff659337;hpb=c2389d605aaaf3b3e8c416428d4b4088e4b049ca;p=lilypond.git diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index e13a5c5768..f4ac31d258 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -21,27 +21,31 @@ . ( (avoid-slur . inside) (cautionary-style . parentheses) - (callbacks . ((stencil . ,Accidental_interface::print) - (after-line-breaking . ,Accidental_interface::after_line_breaking))) - + + (stencil . ,Accidental_interface::print) + (after-line-breaking + . ,Accidental_interface::after_line_breaking) + (meta . ((class . Item) (interfaces . (accidental-interface font-interface)))))) (AccidentalSuggestion . ( - - (callbacks . ((stencil . ,Accidental_interface::print))) - (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent - ,Self_alignment_interface::aligned_on_self)) + (stencil . ,Accidental_interface::print) + (X-offset . ,(ly:make-simple-closure + `(,+ + ,(ly:make-simple-closure (list Self_alignment_interface::centered_on_x_parent)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self))))) (self-alignment-X . ,CENTER) (cautionary . #t) (cautionary-style . smaller) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (Y-offset . ,Side_position_interface::y_aligned_side) (cautionary-style . parentheses) (direction . ,UP) (staff-padding . 0.25) (script-priority . 0) + (side-axis . ,X) (meta . ((class . Item) (interfaces . (side-position-interface script-interface @@ -50,10 +54,12 @@ self-alignment-interface font-interface)))))) (AccidentalPlacement - . ((X-extent-callback . ,Axis_group_interface::group_extent_callback) + . ( (left-padding . 0.2) - (callbacks . ((positioning-done . ,Accidental_placement::calc_positioning_done) - )) + + (positioning-done . ,Accidental_placement::calc_positioning_done) + (X-extent . ,Axis_group_interface::width) + ;; this is quite small, but it is very ugly to have ;; accs closer to the previous note than to the next one. (right-padding . 0.15) @@ -62,8 +68,9 @@ (Ambitus . ( (axes . (0 1)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent . ,Axis_group_interface::width) + (X-extent . ,Axis_group_interface::height) + (space-alist . ( (clef . (extra-space . 0.5)) (key-signature . (extra-space . 0.0)) @@ -80,10 +87,12 @@ (AmbitusLine . ( - (callbacks . ( (stencil . ,Ambitus::print))) + + (stencil . ,Ambitus::print) + (join-heads . #t) (thickness . 2) - (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent)) + (X-offset . ,Self_alignment_interface::centered_on_x_parent) (meta . ((class . Item) (interfaces . (ambitus-interface @@ -93,12 +102,14 @@ . ( (font-family . music) (padding . 0.5) - (X-offset-callbacks . (,Side_position_interface::aligned_side)) + (X-offset . ,Side_position_interface::x_aligned_side) (direction . -1) (cautionary-style . parentheses) - (callbacks . ((stencil . ,Accidental_interface::print) - (after-line-breaking . ,Accidental_interface::after_line_breaking) - )) + + (stencil . ,Accidental_interface::print) + (after-line-breaking . ,Accidental_interface::after_line_breaking) + (side-axis . ,X) + (meta . ((class . Item) (interfaces . (item-interface accidental-interface @@ -109,10 +120,11 @@ (AmbitusNoteHead . ( (duration-log . 2) - (callbacks . ((stencil . ,Note_head::print) - (glyph-name . ,note-head::calc-glyph-name) - )) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + + (stencil . ,Note_head::print) + (glyph-name . ,note-head::calc-glyph-name) + + (Y-offset . ,Staff_symbol_referencer::callback) (meta . ((class . Item) (interfaces . (font-interface note-head-interface @@ -123,12 +135,15 @@ (Arpeggio . ( - (X-extent-callback . ,Arpeggio::width_callback) - (callbacks . ( (stencil . ,Arpeggio::print))) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (X-offset-callbacks . (,Side_position_interface::aligned_side)) + + (X-extent . ,Arpeggio::width) + (stencil . ,Arpeggio::print) + + (Y-offset . ,Staff_symbol_referencer::callback) + (X-offset . ,Side_position_interface::x_aligned_side) (direction . -1) (padding . 0.5) + (side-axis . ,X) (staff-position . 0.0) (meta . ((class . Item) (interfaces . (arpeggio-interface @@ -143,10 +158,11 @@ (layer . 0) (break-visibility . ,all-visible) (breakable . #t) - (callbacks . ((stencil . ,Bar_line::print) - (glyph-name . ,bar-line::calc-glyph-name) - (bar-size . ,Bar_line::calc_bar_size) - )) + + (stencil . ,Bar_line::print) + (glyph-name . ,bar-line::calc-glyph-name) + (bar-size . ,Bar_line::calc_bar_size) + (space-alist . ( (time-signature . (extra-space . 0.75)) (custos . (minimum-space . 2.0)) @@ -173,15 +189,16 @@ (BarNumber . ( - (callbacks . ((stencil . ,Text_interface::print))) + (stencil . ,Text_interface::print) (breakable . #t) (break-visibility . ,begin-of-line-visible) (padding . 1.0) (direction . 1) (font-family . roman) (font-size . -2) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (self-alignment-X . 1) (meta . @@ -195,47 +212,38 @@ (BassFigure . ( - (callbacks . ((stencil . ,Text_interface::print))) - (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (direction . 1) - (font-family . number) - - ;; We must do this, other BFs in - ;; layout16 become too small. - (font-size . -4) - (kern . 0.2) - (meta . ((class . Item) - (interfaces . (text-interface - rhythmic-grob-interface - bass-figure-interface - self-alignment-interface - font-interface)))))) + ; + (stencil . ,Text_interface::print) - (NewBassFigure - . ( - (callbacks . ( (stencil . ,Text_interface::print))) (meta . ((class . Item) (interfaces . (text-interface rhythmic-grob-interface bass-figure-interface font-interface)))))) (BassFigureBracket - . ((callbacks . ((stencil . ,Enclosing_bracket::print))) + . ( + ; + (stencil . ,Enclosing_bracket::print) + (edge-height . (0.2 . 0.2)) (meta . ((class . Item) (interfaces . (enclosing-bracket-interface)) )) )) (BassFigureContinuation . ( - (callbacks . ( (stencil . ,Figured_bass_continuation::print))) - (Y-offset-callbacks . (,Figured_bass_continuation::center_on_figures)) + + (stencil . ,Figured_bass_continuation::print) + + (Y-offset . ,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) + + (Y-extent . ,Axis_group_interface::height) + (meta . ((class . Spanner) (interfaces . (axis-group-interface )))))) @@ -244,28 +252,37 @@ . ( (axes . (,Y)) (threshold . (2 . 1000)) - (callbacks . ((positioning-done . ,Align_interface::calc_positioning_done) - )) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + + (positioning-done . ,Align_interface::calc_positioning_done) + (Y-extent . ,Axis_group_interface::height) + (stacking-dir . -1) (meta . ((class . Spanner) (interfaces . (align-interface axis-group-interface)))))) - + (Beam . ( ;; todo: clean this up a bit: the list is getting ;; rather long. (gap . 0.8) - (position-callbacks . (,Beam::least_squares - ,Beam::check_concave - ,Beam::slope_damping - ,Beam::shift_region_to_valid - ,Beam::quanting)) - (callbacks . ((positions . ,Beam::calc_positions) - (direction . ,Beam::calc_direction) - (stencil . ,Beam::print) - )) + (positions . ,(ly:make-simple-closure + (ly:make-simple-closure + (list chain-grob-member-functions + `(,cons 0 0) + Beam::calc_least_squares_positions + Beam::slope_damping + Beam::shift_region_to_valid + Beam::quanting + )))) + + ;; this is a hack to set stem lengths, if positions is set. + (quantized-positions . ,Beam::set_stem_lengths) + (concaveness . ,Beam::calc_concaveness) + (direction . ,Beam::calc_direction) + (shorten . ,Beam::calc_stem_shorten) + (beaming . ,Beam::calc_beaming) + (stencil . ,Beam::print) ;; TODO: should be in SLT. (thickness . 0.48) ; in staff-space @@ -299,8 +316,10 @@ . ( (breakable . #t) (stacking-dir . 1) - (callbacks . ((positioning-done . ,Break_align_interface::calc_positioning_done) - )) + + (positioning-done . ,Break_align_interface::calc_positioning_done) + (X-extent . ,Axis_group_interface::width) + (break-align-orders . ;; end of line #((instrument-name left-edge @@ -324,7 +343,7 @@ key-signature staff time-signature custos) - + ;; begin of line (instrument-name left-edge @@ -337,7 +356,6 @@ time-signature custos))) (axes . (0)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) (meta . ((class . Item) (interfaces . (break-alignment-interface axis-group-interface)))))) @@ -345,7 +363,9 @@ (BreakAlignGroup . ( (axes . (0)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) + + (X-extent . ,Axis_group_interface::width) + (meta . ((class . Item) (interfaces . (break-aligned-interface axis-group-interface)))))) @@ -358,13 +378,16 @@ (ambitus . (extra-space . 2.0)) (custos . (minimum-space . 1.0)) (key-signature . (minimum-space . 1.5)) + (time-signature . (minimum-space . 1.5)) (staff-bar . (minimum-space . 1.5)) (clef . (minimum-space . 2.0)) (first-note . (fixed-space . 1.0)) ;huh? (right-edge . (extra-space . 0.1)))) - (callbacks . ((stencil . ,Text_interface::print))) + + (stencil . ,Text_interface::print) + (text . ,(make-musicglyph-markup "scripts.rcomma")) - (Y-offset-callbacks . (,Breathing_sign::offset_callback)) + (Y-offset . ,Breathing_sign::offset_callback) (break-visibility . ,begin-of-line-invisible) (meta . ((class . Item) (interfaces . (break-aligned-interface @@ -374,22 +397,23 @@ (Clef . ( - (callbacks . ((stencil . ,Clef::print) - (glyph-name . ,Clef::calc_glyph_name) - )) + + (stencil . ,Clef::print) + (glyph-name . ,Clef::calc_glyph_name) + (breakable . #t) (font-family . music) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) (space-alist . ((ambitus . (extra-space . 2.0)) (staff-bar . (extra-space . 0.7)) - (key-cancellation . (minimum-space . 4.0)) - (key-signature . (minimum-space . 4.0)) + (key-cancellation . (minimum-space . 3.5)) + (key-signature . (minimum-space . 3.5)) (time-signature . (minimum-space . 4.2)) (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)) + (Y-offset . ,Staff_symbol_referencer::callback) (meta . ((class . Item) (interfaces . (clef-interface staff-symbol-referencer-interface @@ -398,15 +422,19 @@ (ClusterSpannerBeacon . ( - (Y-extent-callback . ,Cluster_beacon::height) + + (Y-extent . ,Cluster_beacon::height) + (meta . ((class . Item) (interfaces . (cluster-beacon-interface)))))) (ClusterSpanner . ( - (callbacks . ((springs-and-rods . ,Spanner::set_spacing_rods) - (stencil . ,Cluster::print))) - + + (springs-and-rods . ,Spanner::set_spacing_rods) + (stencil . ,Cluster::print) + + (minimum-length . 0.0) (padding . 0.25) (style . ramp) @@ -415,9 +443,10 @@ (ChordName . ( - (callbacks . ((stencil . ,Text_interface::print) - (after-line-breaking . ,Chord_name::after_line_breaking) - )) + + (stencil . ,Text_interface::print) + (after-line-breaking . ,Chord_name::after_line_breaking) + (word-space . 0.0) (font-family . sans) (font-size . 1.5) @@ -430,16 +459,19 @@ (CombineTextScript . ( - (callbacks . ((stencil . ,Text_interface::print))) + + (stencil . ,Text_interface::print) + (no-spacing-rods . #t) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (Y-offset . ,Side_position_interface::y_aligned_side) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (direction . 1) (padding . 0.5) (staff-padding . 0.5) (script-priority . 200) ;; todo: add X self alignment? (baseline-skip . 2) + (side-axis . ,Y) (font-series . bold) (meta . ((class . Item) (interfaces . (text-script-interface @@ -451,11 +483,13 @@ . ( (break-align-symbol . custos) (breakable . #t) - (callbacks . ((stencil . ,Custos::print))) + + (stencil . ,Custos::print) + (break-visibility . ,end-of-line-visible) (style . vaticana) (neutral-direction . -1) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (Y-offset . ,Staff_symbol_referencer::callback) (space-alist . ( (first-note . (minimum-fixed-space . 0.0)) (right-edge . (extra-space . 0.1)))) @@ -470,17 +504,20 @@ . ( (axes . (0)) (direction . ,RIGHT) - (callbacks . ((positioning-done . ,Dot_column::calc_positioning_done) - )) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (X-offset-callbacks . (,Dot_column::side_position)) + + (positioning-done . ,Dot_column::calc_positioning_done) + (X-extent . ,Axis_group_interface::width) + + (X-offset . ,Dot_column::side_position) (meta . ((class . Item) (interfaces . (dot-column-interface axis-group-interface)))))) (Dots . ( - (callbacks . ((stencil . ,Dots::print))) + + (stencil . ,Dots::print) + (dot-count . 1) (meta . ((class . Item) (interfaces . (font-interface @@ -489,7 +526,7 @@ (DoublePercentRepeat . ( - (callbacks . ((stencil . ,Percent_repeat_item_interface::double_percent))) + (stencil . ,Percent_repeat_item_interface::double_percent) (breakable . #t) (slope . 1.0) (font-encoding . fetaMusic) @@ -504,16 +541,18 @@ (DoublePercentRepeatCounter . ( - (callbacks . ((stencil . ,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)) + + (stencil . ,Text_interface::print) + (X-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::centered_on_y_parent)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self))))) + (Y-offset . ,Side_position_interface::y_aligned_side) (font-encoding . fetaNumber) (self-alignment-X . 0) (font-size . -2) (direction . 1) (padding . 0.2) (staff-padding . 0.25) + (side-axis . ,Y) (meta . ((class . Item) (interfaces . (side-position-interface self-alignment-interface @@ -523,15 +562,18 @@ (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)) + (Y-offset . ,Side_position_interface::y_aligned_side) (staff-padding . 0.1) (padding . 0.6) (avoid-slur . outside) (slur-padding . 0.3) (minimum-space . 1.2) (direction . -1) + (side-axis . ,Y) + + (Y-extent . ,Axis_group_interface::height) + (X-extent . ,Axis_group_interface::width) + (meta . ((class . Spanner) (interfaces . (axis-group-interface @@ -541,13 +583,15 @@ (DynamicText . ( - + ;; todo. - (callbacks . ((stencil . ,Text_interface::print) - (direction . ,Script_interface::calc_direction))) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + + (stencil . ,Text_interface::print) + (direction . ,Script_interface::calc_direction) + + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (self-alignment-X . 0) - (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (Y-offset . ,Self_alignment_interface::y_aligned_on_self) (self-alignment-Y . 0) (font-series . bold) (font-encoding . fetaDynamic) @@ -563,7 +607,9 @@ (DynamicTextSpanner . ( - (callbacks . ((stencil . ,Dynamic_text_spanner::print))) + + (stencil . ,Dynamic_text_spanner::print) + ;; rather ugh with NCSB ;; (font-series . bold) (font-shape . italic) @@ -593,8 +639,10 @@ (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) - (callbacks . ((stencil . ,Text_interface::print) - (direction . ,Script_interface::calc_direction))) + + (stencil . ,Text_interface::print) + (direction . ,Script_interface::calc_direction) + (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. (meta . ((class . Item) @@ -611,12 +659,13 @@ (gap . 0.5) (zigzag-width . 0.75) (breakable . #t) - (X-extent-callback . #f) - (Y-extent-callback . #f) - (callbacks . ((stencil . ,Line_spanner::print) - (after-line-breaking . ,Line_spanner::after_line_breaking) - )) + (X-extent . #f) + (Y-extent . #f) + + (stencil . ,Line_spanner::print) + (after-line-breaking . ,Line_spanner::after_line_breaking) + (meta . ((class . Spanner) (interfaces . (line-interface line-spanner-interface)))))) @@ -630,11 +679,14 @@ (GridLine . ( - (callbacks . (stencil . ,Grid_line_interface::print)) - (X-extent-callback . ,Grid_line_interface::width_callback) + + (X-extent . ,Grid_line_interface::width) + (stencil . ,Grid_line_interface::print) + (self-alignment-X . ,CENTER) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self - ,Self_alignment_interface::centered_on_parent)) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::centered_on_x_parent)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self))))) (layer . 0) (meta . ((class . Item) (interfaces . (self-alignment-interface @@ -642,16 +694,18 @@ (Hairpin . ( - - (callbacks . ((stencil . ,Hairpin::print) - (springs-and-rods . ,Spanner::set_spacing_rods) - (after-line-breaking . ,Hairpin::after_line_breaking))) + + + (stencil . ,Hairpin::print) + (springs-and-rods . ,Spanner::set_spacing_rods) + (after-line-breaking . ,Hairpin::after_line_breaking) + (thickness . 1.0) (height . 0.6666) (minimum-length . 2.0) (bound-padding . 1.0) (self-alignment-Y . 0) - (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (Y-offset . ,Self_alignment_interface::y_aligned_on_self) (meta . ((class . Spanner) (interfaces . (hairpin-interface line-interface @@ -662,11 +716,12 @@ (HorizontalBracket . ( (thickness . 1.0) - (callbacks . ((stencil . ,Horizontal_bracket::print))) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (stencil . ,Horizontal_bracket::print) + (Y-offset . ,Side_position_interface::y_aligned_side) (padding . 0.2) (staff-padding . 0.2) (direction . -1) + (side-axis . ,Y) (bracket-flare . (0.5 . 0.5)) (meta . ((class . Spanner) (interfaces . (horizontal-bracket-interface @@ -676,8 +731,9 @@ (InstrumentName . ( (breakable . #t) - (Y-offset-callbacks . (,Self_alignment_interface::aligned_on_self - ,Side_position_interface::aligned_on_support_refpoints)) + (Y-offset . ,(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::y_aligned_on_self)) + ,(ly:make-simple-closure (list Side_position_interface::y_aligned_on_support_refpoints))))) + ;; This direction is for aligned_on_support_refpoints ;; (?) --hwn (direction . 0) @@ -685,10 +741,11 @@ (left-edge . (extra-space . 1.0)))) (self-alignment-Y . 0) - (callbacks . ((stencil . ,Text_interface::print))) + (stencil . ,Text_interface::print) (break-align-symbol . instrument-name) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) + (side-axis . ,X) (meta . ((class . Item) (interfaces . (font-interface self-alignment-interface @@ -698,14 +755,16 @@ (KeyCancellation . ( - (callbacks . ((stencil . ,Key_signature_interface::print))) + + (stencil . ,Key_signature_interface::print) + (space-alist . ( (time-signature . (extra-space . 1.25)) (staff-bar . (extra-space . 0.6)) (key-signature . (extra-space . 0.5)) (right-edge . (extra-space . 0.5)) (first-note . (fixed-space . 2.5)))) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (Y-offset . ,Staff_symbol_referencer::callback) (break-align-symbol . key-cancellation) (break-visibility . ,begin-of-line-invisible) (breakable . #t) @@ -716,13 +775,15 @@ break-aligned-interface)))))) (KeySignature . ( - (callbacks . ((stencil . ,Key_signature_interface::print))) + + (stencil . ,Key_signature_interface::print) + (space-alist . ( - (time-signature . (extra-space . 1.25)) + (time-signature . (extra-space . 1.15)) (staff-bar . (extra-space . 1.1)) (right-edge . (extra-space . 0.5)) (first-note . (fixed-space . 2.5)))) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (Y-offset . ,Staff_symbol_referencer::callback) (break-align-symbol . key-signature) (break-visibility . ,begin-of-line-visible) (breakable . #t) @@ -733,10 +794,11 @@ break-aligned-interface)))))) (LaissezVibrerTie . ( - (callbacks . ((stencil . ,Tie::print) - (control-points . ,Laissez_vibrer_tie::calc_control_points) - (direction . ,Laissez_vibrer_tie::calc_direction) - )) + + (stencil . ,Tie::print) + (control-points . ,Laissez_vibrer_tie::calc_control_points) + (direction . ,Laissez_vibrer_tie::calc_direction) + (details . ((ratio . 0.333) (height-limit . 1.0))) (thickness . 1.0) @@ -744,25 +806,28 @@ (interfaces . (laissez-vibrer-tie-interface)) )) )) - + (LaissezVibrerTieColumn . ( - (X-extent-callback . #f) - (Y-extent-callback . #f) - (callbacks . ((positioning-done . ,Laissez_vibrer_tie_column::calc_positioning_done) - )) + (X-extent . #f) + (Y-extent . #f) + + (positioning-done . ,Laissez_vibrer_tie_column::calc_positioning_done) + (meta . ((class . Item) (interfaces . (laissez-vibrer-tie-column-interface)) )) )) - + (LedgerLineSpanner . ( - (callbacks . ((springs-and-rods . ,Ledger_line_spanner::set_spacing_rods) - - (stencil . ,Ledger_line_spanner::print))) - (X-extent-callback . #f) - (Y-extent-callback . #f) + + (springs-and-rods . ,Ledger_line_spanner::set_spacing_rods) + + (stencil . ,Ledger_line_spanner::print) + + (X-extent . #f) + (Y-extent . #f) (minimum-length-fraction . 0.25) (length-fraction . 0.25) (layer . 0) @@ -792,20 +857,17 @@ (LigatureBracket . ( - (ligature-primitive-callback . ,Note_head::print) - ;; ugh. A ligature bracket is totally different from ;; a tuplet bracket. - (callbacks . ((direction . ,Tuplet_bracket::calc_direction) - (positions . ,Tuplet_bracket::calc_positions) - (stencil . ,Tuplet_bracket::print) - )) - (direction . 1) - (gap . 0.0) + (padding . 2.0) (thickness . 1.6) (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) + (direction . 1) + (positions . ,Tuplet_bracket::calc_positions) + (stencil . ,Tuplet_bracket::print) + (meta . ((class . Spanner) (interfaces . (tuplet-bracket-interface line-interface)))))) @@ -818,8 +880,10 @@ (length . 0.66) (minimum-length . 0.3) (padding . 0.07) - ; (springs-and-rods . ,Hyphen_spanner::set_spacing_rods) - (callbacks . ((stencil . ,Hyphen_spanner::print))) + ;; (springs-and-rods . ,Hyphen_spanner::set_spacing_rods) + + (stencil . ,Hyphen_spanner::print) + (Y-extent . (0 . 0)) (meta . ((class . Spanner) (interfaces . (lyric-interface @@ -828,7 +892,9 @@ (LyricExtender . ( - (callbacks . ((stencil . ,Lyric_extender::print))) + + (stencil . ,Lyric_extender::print) + (thickness . 0.8) ; linethickness (minimum-length . 1.5) (Y-extent . (0 . 0)) @@ -837,8 +903,11 @@ lyric-extender-interface)))))) (LyricText - . ((callbacks . ((stencil . ,Text_interface::print))) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_parent)) + . ( + + (stencil . ,Text_interface::print) + + (X-offset . ,Self_alignment_interface::aligned_on_x_parent) (self-alignment-X . 0) (word-space . 0.6) (font-series . bold-narrow) @@ -854,27 +923,34 @@ . ( (thickness . 1.4) (flexa-width . 2.0) - (ligature-primitive-callback . ,Mensural_ligature::brew_ligature_primitive) - (callbacks . ((stencil . ,Mensural_ligature::print))) + (stencil . ,Mensural_ligature::print) + (meta . ((class . Spanner) (interfaces . (mensural-ligature-interface font-interface)))))) (MetronomeMark . ( - (callbacks . ((stencil . ,Text_interface::print))) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + + (stencil . ,Text_interface::print) + + (Y-offset . ,Side_position_interface::y_aligned_side) (direction . 1) (padding . 0.8) + (side-axis . ,Y) (meta . ((class . Item) (interfaces . (text-interface side-position-interface font-interface metronome-mark-interface)))))) + (MeasureGrouping . ( - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (callbacks . ((stencil . ,Measure_grouping::print))) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) + + (stencil . ,Measure_grouping::print) + (padding . 2) (direction . 1) (thickness . 1) @@ -883,10 +959,13 @@ (meta . ((class . Spanner) (interfaces . (side-position-interface measure-grouping-interface)))))) + (MultiMeasureRest . ( - (callbacks . ((stencil . ,Multi_measure_rest::print))) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + + (stencil . ,Multi_measure_rest::print) + + (Y-offset . ,Staff_symbol_referencer::callback) (staff-position . 0) (expand-limit . 10) (thick-thickness . 6.6) @@ -899,13 +978,17 @@ font-interface staff-symbol-referencer-interface)))))) + (MultiMeasureRestNumber . ( - (callbacks . ((springs-and-rods . ,Multi_measure_rest::set_spacing_rods) - (stencil . ,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)) + (springs-and-rods . ,Multi_measure_rest::set_spacing_rods) + (stencil . ,Text_interface::print) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_centered_on_y_parent))))) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) + (self-alignment-X . 0) (direction . 1) (padding . 0.4) @@ -916,14 +999,17 @@ multi-measure-interface self-alignment-interface font-interface - text-interface)))))) - + text-interface)))) + )) + (MultiMeasureRestText . ( - (callbacks . ((stencil . ,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)) + (stencil . ,Text_interface::print) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::x_centered_on_y_parent)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self))))) + + (Y-offset . ,Side_position_interface::y_aligned_side) (self-alignment-X . 0) (direction . 1) (padding . 0.2) @@ -938,10 +1024,11 @@ (NoteCollision . ( (axes . (0 1)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (callbacks . ((positioning-done . ,Note_collision_interface::calc_positioning_done) - )) + + (X-extent . ,Axis_group_interface::width) + (Y-extent . ,Axis_group_interface::height) + (positioning-done . ,Note_collision_interface::calc_positioning_done) + (meta . ((class . Item) (interfaces . (note-collision-interface axis-group-interface)))))) @@ -949,23 +1036,21 @@ (NoteColumn . ( (axes . (0 1)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent . ,Axis_group_interface::width) + (Y-extent . ,Axis_group_interface::height) + (meta . ((class . Item) (interfaces . (axis-group-interface note-column-interface)))))) (NoteHead . ( - (callbacks . ((stencil . ,Note_head::print) - (stem-attachment . ,Note_head::calc_stem_attachment) - (glyph-name . ,note-head::calc-glyph-name) - )) - ;; WTF is this? - (ligature-primitive-callback . ,Note_head::print) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) - (X-offset-callbacks . (,Note_head::stem_x_shift)) + (stencil . ,Note_head::print) + (stem-attachment . ,Note_head::calc_stem_attachment) + (glyph-name . ,note-head::calc-glyph-name) + (Y-offset . ,Staff_symbol_referencer::callback) + (X-offset . ,Note_head::stem_x_shift) (meta . ((class . Item) (interfaces . (rhythmic-grob-interface rhythmic-head-interface @@ -988,7 +1073,9 @@ (NoteName . ( - (callbacks . ((stencil . ,Text_interface::print))) + + (stencil . ,Text_interface::print) + (meta . ((class . Item) (interfaces . (note-name-interface text-interface @@ -998,10 +1085,14 @@ . ( (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)) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (callbacks . ((stencil . ,Text_interface::print))) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self)) + ,(ly:make-simple-closure (list Self_alignment_interface::centered_on_x_parent))))) + + (Y-offset . ,Side_position_interface::y_aligned_side) + + (stencil . ,Text_interface::print) + ;; no Y dimensions, because of lyrics under tenor clef. (Y-extent . (0 . 0)) @@ -1017,8 +1108,10 @@ (OttavaBracket . ( - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (callbacks . ((stencil . ,Ottava_bracket::print))) + (Y-offset . ,Side_position_interface::y_aligned_side) + + (stencil . ,Ottava_bracket::print) + (font-shape . italic) (shorten-pair . (0.0 . -0.6)) (staff-padding . 1.0) @@ -1038,13 +1131,14 @@ (PaperColumn . ( (axes . (0)) - (callbacks . ((before-line-breaking . ,Paper_column::before_line_breaking) - ;; (stencil . ,Paper_column::print) - )) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) + + (before-line-breaking . ,Paper_column::before_line_breaking) + ;; (stencil . ,Paper_column::print) + (X-extent . ,Axis_group_interface::width) + ;; debugging - ;; (font-size . -6) (font-name . "sans") (Y-extent-callback . #f) + ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) (meta . ((class . Paper_column) (interfaces . (paper-column-interface axis-group-interface @@ -1052,15 +1146,16 @@ (PhrasingSlur . ((slur-details . ,default-slur-details) - (callbacks . ((control-points . ,Slur::calc_control_points) - (direction . ,Slur::calc_direction) - (springs-and-rods . ,Spanner::set_spacing_rods) - (stencil . ,Slur::print) - )) + + (control-points . ,Slur::calc_control_points) + (direction . ,Slur::calc_direction) + (springs-and-rods . ,Spanner::set_spacing_rods) + (Y-extent . ,Slur::height) + (stencil . ,Slur::print) + (thickness . 1.1) (minimum-length . 1.5) - (Y-extent-callback . ,Slur::height) (height-limit . 2.0) (ratio . 0.333) (meta . ((class . Spanner) @@ -1069,14 +1164,15 @@ (NonMusicalPaperColumn . ( (axes . (0)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (callbacks . ((before-line-breaking . ,Paper_column::before_line_breaking) - ;; (stencil . ,Paper_column::print) - )) + + (before-line-breaking . ,Paper_column::before_line_breaking) + (X-extent . ,Axis_group_interface::width) + ;; (stencil . ,Paper_column::print) + (breakable . #t) ;; debugging stuff: print column number. - ;; (font-size . -6) (font-name . "sans") (Y-extent-callback . #f) + ;; (font-size . -6) (font-name . "sans") (Y-extent . #f) (meta . ((class . Paper_column) (interfaces . (paper-column-interface @@ -1085,8 +1181,10 @@ (PercentRepeat . ( - (callbacks . ((springs-and-rods . ,Multi_measure_rest::set_spacing_rods) - (stencil . ,Multi_measure_rest::percent))) + + (springs-and-rods . ,Multi_measure_rest::set_spacing_rods) + (stencil . ,Multi_measure_rest::percent) + (slope . 1.0) (thickness . 0.48) (font-encoding . fetaMusic) @@ -1095,10 +1193,12 @@ font-interface percent-repeat-interface)))))) (PercentRepeatCounter - . ((callbacks . ((stencil . ,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)) + . ( + (stencil . ,Text_interface::print) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure (list Self_alignment_interface::x_centered_on_y_parent)) + ,(ly:make-simple-closure (list Self_alignment_interface::x_aligned_on_self))))) + (Y-offset . ,Side_position_interface::y_aligned_side) (self-alignment-X . 0) (direction . 1) (padding . 0.2) @@ -1115,7 +1215,9 @@ ;; an example of a text spanner (PianoPedalBracket . ( - (callbacks . ((stencil . ,Piano_pedal_bracket::print))) + + (stencil . ,Piano_pedal_bracket::print) + (style . line) (bound-padding . 1.0) (direction . -1) @@ -1130,10 +1232,14 @@ (RehearsalMark . ( - (callbacks . ((stencil . ,Text_interface::print))) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - (callbacks . ((after-line-breaking . ,shift-right-at-line-begin))) + (stencil . ,Text_interface::print) + (X-offset . ,(ly:make-simple-closure + `(,+ ,(ly:make-simple-closure + `(,Self_alignment_interface::x_aligned_on_self)) + ,(ly:make-simple-closure + `(,Self_alignment_interface::centered_on_x_parent))) + )) + (Y-offset . ,Side_position_interface::y_aligned_side) (self-alignment-X . 0) (direction . 1) (breakable . #t) @@ -1148,34 +1254,22 @@ mark-interface self-alignment-interface)))))) - (RemoveEmptyVerticalGroup - . ( - (Y-offset-callbacks . (,Hara_kiri_group_spanner::force_hara_kiri_callback)) - (Y-extent-callback . ,Hara_kiri_group_spanner::y_extent) - (axes . (1)) - (meta . ((class . Spanner) - (interfaces . (axis-group-interface - vertically-spaceable-interface - hara-kiri-group-interface - spanner-interface)))))) (RepeatSlash . ( - (callbacks . ((stencil . ,Percent_repeat_item_interface::beat_slash))) + + (stencil . ,Percent_repeat_item_interface::beat_slash) + (thickness . 0.48) (slope . 1.7) (meta . ((class . Item) (interfaces . (percent-repeat-interface)))))) (Rest . ( - (X-extent-callback . ,Rest::extent_callback) - (Y-extent-callback . ,Rest::extent_callback) - (callbacks . ((stencil . ,Rest::print))) - (Y-offset-callbacks . ( - ,Staff_symbol_referencer::callback - ,Rest::polyphonic_offset_callback - ,Rest::y_offset_callback - )) + (stencil . ,Rest::print) + (X-extent . ,Rest::width) + (Y-extent . ,Rest::height) + (Y-offset . ,Rest::y_offset_callback) (minimum-distance . 0.25) (meta . ((class . Item) (interfaces . (font-interface @@ -1187,8 +1281,8 @@ (RestCollision . ( (minimum-distance . 0.75) - (callbacks . ((positioning-done . ,Rest_collision::calc_positioning_done) - )) + (positioning-done . ,Rest_collision::calc_positioning_done) + (meta . ((class . Item) (interfaces . (rest-collision-interface)))))) @@ -1201,9 +1295,12 @@ (padding . 0.20) (staff-padding . 0.25) ;; (script-priority . 0) priorities for scripts, see script.scm - (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent)) - (callbacks . ((stencil . ,Script_interface::print) - (direction . ,Script_interface::calc_direction))) + (X-offset . , Self_alignment_interface::centered_on_x_parent) + + + (stencil . ,Script_interface::print) + (direction . ,Script_interface::calc_direction) + (font-encoding . fetaMusic) (meta . ((class . Item) (interfaces . (script-interface @@ -1212,22 +1309,25 @@ (ScriptColumn . ( - (callbacks . ((before-line-breaking . ,Script_column::before_line_breaking))) + + (before-line-breaking . ,Script_column::before_line_breaking) + (meta . ((class . Item) (interfaces . (script-column-interface)))))) (SeparationItem . ( - (X-extent-callback . #f) - (Y-extent-callback . #f) + (X-extent . #f) + (Y-extent . #f) (meta . ((class . Item) (interfaces . (spacing-interface separation-item-interface)))))) (SeparatingGroupSpanner . ( - (callbacks . ((springs-and-rods . ,Separating_group_spanner::set_spacing_rods) - )) + + (springs-and-rods . ,Separating_group_spanner::set_spacing_rods) + (meta . ((class . Spanner) (interfaces . (only-prebreak-interface spacing-interface @@ -1235,14 +1335,15 @@ (Slur . ((slur-details . ,default-slur-details) - (callbacks . ((control-points . ,Slur::calc_control_points) - (direction . ,Slur::calc_direction) - (springs-and-rods . ,Spanner::set_spacing_rods) - (stencil . ,Slur::print) - )) + + (control-points . ,Slur::calc_control_points) + (direction . ,Slur::calc_direction) + (springs-and-rods . ,Spanner::set_spacing_rods) + (Y-extent . ,Slur::height) + (stencil . ,Slur::print) + (thickness . 1.0) (minimum-length . 1.5) - (Y-extent-callback . ,Slur::height) ; Slur::height) (height-limit . 2.0) (ratio . 0.25) @@ -1251,7 +1352,9 @@ (SpacingSpanner . ( - (callbacks . ((springs-and-rods . ,Spacing_spanner::set_springs))) + + (springs-and-rods . ,Spacing_spanner::set_springs) + (average-spacing-wishes . #t) (grace-space-factor . 0.6) (shortest-duration-space . 2.0) (spacing-increment . 1.2) @@ -1263,14 +1366,16 @@ (SpanBar . ( (break-align-symbol . staff-bar) - (X-extent-callback . ,Span_bar::width_callback) - (Y-extent-callback . ()) + (Y-extent . ()) (layer . 0) (breakable . #t) - (callbacks . ((stencil . ,Span_bar::print) - (bar-size . ,Span_bar::calc_bar_size) - (glyph-name . ,Span_bar::calc_glyph_name) - (before-line-breaking . ,Span_bar::before_line_breaking))) + + (stencil . ,Span_bar::print) + (bar-size . ,Span_bar::calc_bar_size) + (X-extent . ,Span_bar::width) + (glyph-name . ,Span_bar::calc_glyph_name) + (before-line-breaking . ,Span_bar::before_line_breaking) + ;; ugh duplication! ;; @@ -1286,10 +1391,13 @@ bar-line-interface)))))) (StanzaNumber - . ((callbacks . ((stencil . ,Text_interface::print))) + . ( + (stencil . ,Text_interface::print) + (font-series . bold) (padding . 1.0) - (X-offset-callbacks . (,Side_position_interface::aligned_side)) + (X-offset . ,Side_position_interface::x_aligned_side) + (side-axis . ,X) (direction . ,LEFT) (meta . ((class . Item) (interfaces . (side-position-interface @@ -1299,7 +1407,9 @@ (StringNumber . ( - (callbacks . ((stencil . ,print-circled-text-callback))) + + (stencil . ,print-circled-text-callback) + (padding . 0.5) (staff-padding . 0.5) (self-alignment-X . 0) @@ -1326,9 +1436,11 @@ (SostenutoPedal . ( - (callbacks . ((stencil . ,Text_interface::print))) + + (stencil . ,Text_interface::print) + (direction . 1) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (no-spacing-rods . #t) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner (font-shape . italic) @@ -1341,8 +1453,11 @@ (SostenutoPedalLineSpanner . ( (axes . (1)) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + + (X-extent . ,Axis_group_interface::height) + + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) (padding . 1.2) (minimum-space . 1.0) @@ -1354,7 +1469,9 @@ (StaffSymbol . ( - (callbacks . ((stencil . ,Staff_symbol::print))) + + (stencil . ,Staff_symbol::print) + (line-count . 5) (ledger-line-thickness . (1.0 . 0.1)) (layer . 0) @@ -1363,14 +1480,15 @@ (Stem . ( - ;; this list is rather long. Trim --hwn - (callbacks . ((direction . ,Stem::calc_direction) - (stem-end-position . ,Stem::calc_stem_end_position) - (stem-info . ,Stem::calc_stem_info) - (positioning-done . ,Stem::calc_positioning_done) - (stencil . ,Stem::print) - (length . ,Stem::calc_length) - )) + (direction . ,Stem::calc_direction) + (stem-end-position . ,Stem::calc_stem_end_position) + (stem-info . ,Stem::calc_stem_info) + (positioning-done . ,Stem::calc_positioning_done) + (stencil . ,Stem::print) + (X-extent . ,Stem::width) + (Y-extent . ,Stem::height) + (length . ,Stem::calc_length) + (thickness . 1.3) (details @@ -1400,7 +1518,7 @@ (stem-shorten . (1.0 0.5)) )) - + ;; default stem direction for note on middle line (neutral-direction . -1) @@ -1408,20 +1526,17 @@ ;; We use the normal minima as minimum for the ideal lengths, ;; and the extreme minima as abolute minimum length. - (X-offset-callbacks . (,Stem::offset_callback)) - (X-extent-callback . ,Stem::width_callback) - (Y-extent-callback . ,Stem::height) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (X-offset . ,Stem::offset_callback) + (Y-offset . ,Staff_symbol_referencer::callback) (meta . ((class . Item) (interfaces . (stem-interface font-interface)))))) (StemTremolo . ( - (callbacks . ((stencil . ,Stem_tremolo::print))) - (Y-extent-callback . ,Stem_tremolo::height) - (X-extent-callback . #f) - + (Y-extent . ,Stem_tremolo::height) + (stencil . ,Stem_tremolo::print) + (X-extent . #f) (beam-width . 1.6) ; staff-space (beam-thickness . 0.48) ; staff-space (meta . ((class . Item) @@ -1430,11 +1545,11 @@ (SustainPedal . ( (no-spacing-rods . #t) - (callbacks . ((stencil . ,Sustain_pedal::print))) + (stencil . ,Sustain_pedal::print) (self-alignment-X . 0) (direction . 1) (padding . 0.0) ;; padding relative to SustainPedalLineSpanner - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (meta . ((class . Item) (interfaces . (piano-pedal-interface text-spanner-interface @@ -1445,9 +1560,9 @@ (SustainPedalLineSpanner . ( (axes . (1)) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) - + (X-extent . ,Axis_group_interface::height) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) (padding . 1.2) (staff-padding . 1.2) (minimum-space . 1.0) @@ -1460,56 +1575,80 @@ (System . ( (axes . (0 1)) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) + (X-extent . ,Axis_group_interface::width) + (Y-extent . ,Axis_group_interface::height) (meta . ((class . System) (interfaces . (system-interface axis-group-interface)))))) (SystemStartBrace . ( - (glyph . "brace") - (callbacks . ((stencil . ,System_start_delimiter::print))) + (style . brace) + (padding . 0.3) + (stencil . ,System_start_delimiter::print) (collapse-height . 5.0) + (X-offset . ,Side_position_interface::x_aligned_side) + (direction . ,LEFT) (font-encoding . fetaBraces) - (Y-extent-callback . #f) + (Y-extent . #f) (meta . ((class . Spanner) (interfaces . (system-start-delimiter-interface + side-position-interface font-interface)))))) + (SystemStartSquare + . ( + (Y-extent . #f) + (X-offset . ,Side_position_interface::x_aligned_side) + (direction . ,LEFT) + (stencil . ,System_start_delimiter::print) + (style . line-bracket) + (thickness . 1.0) + (meta . ((class . Spanner) + (interfaces . (font-interface + side-position-interface + system-start-delimiter-interface)))))) (SystemStartBracket . ( - (Y-extent-callback . #f) - (X-offset-callbacks . (,(lambda (g a) -0.8))) - (callbacks . ((stencil . ,System_start_delimiter::print))) - (glyph . "bracket") + (Y-extent . #f) + (padding . 0.8) + (X-offset . ,Side_position_interface::x_aligned_side) + (direction . ,LEFT) + (stencil . ,System_start_delimiter::print) + (style . bracket) (collapse-height . 5.0) (thickness . 0.45) (meta . ((class . Spanner) (interfaces . (font-interface + side-position-interface system-start-delimiter-interface)))))) (SystemStartBar . ( - (Y-extent-callback . #f) - (glyph . "bar-line") + (Y-extent . #f) + (padding . 0.0) + (X-offset . ,Side_position_interface::x_aligned_side) + (direction . ,LEFT) + (style . bar-line) (thickness . 1.6) - (callbacks . ((stencil . ,System_start_delimiter::print) - )) + (stencil . ,System_start_delimiter::print) (meta . ((class . Spanner) - (interfaces . (system-start-delimiter-interface)))))) + (interfaces . (side-position-interface + system-start-delimiter-interface)))))) + (TabNoteHead . ( - (callbacks . ((stencil . ,Text_interface::print))) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + + (stencil . ,Text_interface::print) + (Y-offset . ,Staff_symbol_referencer::callback) (font-size . -2) (stem-attachment . (1.0 . 1.35)) (font-series . bold) (meta . ((class . Item) (interfaces . (rhythmic-head-interface - font-interface + font-interface rhythmic-grob-interface note-head-interface staff-symbol-referencer-interface text-interface)))))) @@ -1517,14 +1656,16 @@ (TextScript . ( (no-spacing-rods . #t) - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (direction . -1) ;; sync with Fingering ? (padding . 0.5) (staff-padding . 0.5) - (callbacks . ((stencil . ,Text_interface::print) - (direction . ,Script_interface::calc_direction))) + + (stencil . ,Text_interface::print) + (direction . ,Script_interface::calc_direction) + (avoid-slur . around) (slur-padding . 0.5) (script-priority . 200) @@ -1537,12 +1678,14 @@ (TextSpanner . ( - (callbacks .((stencil . ,Text_spanner::print))) + (stencil . ,Text_spanner::print) + (Y-offset . ,Side_position_interface::y_aligned_side) (font-shape . italic) (style . dashed-line) (staff-padding . 0.8) (dash-fraction . 0.2) (dash-period . 3.0) + (side-axis . ,Y) (direction . 1) (meta . ((class . Spanner) (interfaces . (text-spanner-interface @@ -1551,10 +1694,9 @@ (Tie . ( - (callbacks . ((control-points . ,Tie::calc_control_points) - (direction . ,Tie::calc_direction) - (stencil . ,Tie::print) - )) + (control-points . ,Tie::calc_control_points) + (direction . ,Tie::calc_direction) + (stencil . ,Tie::print) (details . ((ratio . 0.333) (height-limit . 1.0) (between-length-limit . 1.0))) @@ -1565,18 +1707,16 @@ (TieColumn . ( - (callbacks . ((positioning-done . ,Tie_column::calc_positioning_done) - (before-line-breaking . ,Tie_column::before_line_breaking) - )) - (X-extent-callback . #f) - (Y-extent-callback . #f) - + (positioning-done . ,Tie_column::calc_positioning_done) + (before-line-breaking . ,Tie_column::before_line_breaking) + (X-extent . #f) + (Y-extent . #f) (meta . ((class . Spanner) (interfaces . (tie-column-interface)))))) (TimeSignature . ( - (callbacks . ((stencil . ,Time_signature::print))) + (stencil . ,Time_signature::print) (break-align-symbol . time-signature) (break-visibility . ,all-visible) (space-alist . ( @@ -1592,25 +1732,27 @@ (TrillSpanner . ( - (callbacks . ((stencil . ,Dynamic_text_spanner::print))) + (stencil . ,Dynamic_text_spanner::print) (edge-text . ,(cons (make-musicglyph-markup "scripts.trill") "")) (style . trill) (staff-padding . 1.0) (padding . 0.5) (direction . 1) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) (meta . ((class . Spanner) (interfaces . (text-spanner-interface side-position-interface font-interface)))))) (TrillPitchAccidental - . ((X-offset-callbacks . (,Side_position_interface::aligned_side)) + . ((X-offset . ,Side_position_interface::x_aligned_side) (padding . 0.2) (direction . ,LEFT) (font-size . -4) - (callbacks . ((stencil . ,Accidental_interface::print))) + (side-axis . ,X) + (stencil . ,Accidental_interface::print) (meta . ((class . Item) (interfaces . (item-interface accidental-interface @@ -1618,11 +1760,12 @@ font-interface)))))) (TrillPitchGroup - . ((X-offset-callbacks . (,Side_position_interface::aligned_side)) + . ((X-offset . ,Side_position_interface::x_aligned_side) (axes . (,X)) (font-size . -4) - (callbacks . ((stencil . ,parenthesize-elements))) + (stencil . ,parenthesize-elements) (direction . ,RIGHT) + (side-axis . ,X) (padding . 0.3) (meta . ((class . Item) (interfaces . (side-position-interface @@ -1633,9 +1776,10 @@ axis-group-interface)))))) (TrillPitchHead - . ((callbacks . ((stencil . ,Note_head::print))) + . ( + (stencil . ,Note_head::print) (duration-log . 2) - (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) + (Y-offset . ,Staff_symbol_referencer::callback) (font-size . -4) (meta . ((class . Item) (interfaces . (item-interface @@ -1651,12 +1795,10 @@ (thickness . 1.6) (edge-height . (0.7 . 0.7)) (shorten-pair . (-0.2 . -0.2)) - (callbacks . ((direction . ,Tuplet_bracket::calc_direction) - (positions . ,Tuplet_bracket::calc_positions) - (stencil . ,Tuplet_bracket::print) - )) + (direction . ,Tuplet_bracket::calc_direction) + (positions . ,Tuplet_bracket::calc_positions) + (stencil . ,Tuplet_bracket::print) (font-shape . italic) - (font-size . -2) (meta . ((class . Spanner) (interfaces . (text-interface @@ -1666,13 +1808,13 @@ (UnaCordaPedal . ( - (callbacks . ((stencil . ,Text_interface::print))) + (stencil . ,Text_interface::print) (font-shape . italic) (no-spacing-rods . #t) (self-alignment-X . 0) (direction . 1) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner - (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self)) + (X-offset . ,Self_alignment_interface::x_aligned_on_self) (meta . ((class . Item) (interfaces . (text-interface self-alignment-interface @@ -1681,8 +1823,9 @@ (UnaCordaPedalLineSpanner . ( (axes . (1)) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (X-extent . ,Axis_group_interface::height) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) (padding . 1.2) (staff-padding . 1.2) (minimum-space . 1.0) @@ -1696,8 +1839,7 @@ . ( (thickness . 0.6) (flexa-width . 2.0) - (ligature-primitive-callback . ,Vaticana_ligature::brew_ligature_primitive) - (callbacks . ((stencil . ,Vaticana_ligature::print))) + (stencil . ,Vaticana_ligature::print) (meta . ((class . Spanner) (interfaces . (vaticana-ligature-interface font-interface)))))) @@ -1705,37 +1847,37 @@ (VerticalAlignment . ( (axes . (1)) - (callbacks . ((positioning-done . ,Align_interface::calc_positioning_done) - (after-line-breaking . ,Align_interface::stretch_after_break) - )) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) + (positioning-done . ,Align_interface::calc_positioning_done) + (after-line-breaking . ,Align_interface::stretch_after_break) + (Y-extent . ,Axis_group_interface::height) + (X-extent . ,Axis_group_interface::width) (stacking-dir . -1) (meta . ((class . Spanner) (interfaces . (align-interface axis-group-interface)))))) - (VerticalAxisGroup . ( (axes . (1)) - (Y-extent-callback . ,Axis_group_interface::group_extent_callback) - (X-extent-callback . ,Axis_group_interface::group_extent_callback) - + (Y-offset . ,Hara_kiri_group_spanner::force_hara_kiri_callback) + (Y-extent . ,Hara_kiri_group_spanner::y_extent) + (X-extent . ,Axis_group_interface::width) (meta . ((class . Spanner) (interfaces . (axis-group-interface + hara-kiri-group-interface vertically-spaceable-interface)))))) (VocalName . ( (breakable . #t) - (Y-offset-callbacks . (,Side_position_interface::aligned_on_support_refpoints)) + (Y-offset . ,Side_position_interface::y_aligned_on_support_refpoints) (direction . 0) (space-alist . ((left-edge . (extra-space . 1.0)))) (break-align-symbol . instrument-name) - (callbacks . ((stencil . ,Text_interface::print))) + (stencil . ,Text_interface::print) (break-align-symbol . clef) (break-visibility . ,begin-of-line-visible) (baseline-skip . 2) + (side-axis . ,Y) (meta . ((class . Item) (interfaces . (font-interface self-alignment-interface @@ -1745,12 +1887,13 @@ (VoltaBracket . ( - (callbacks . ((stencil . ,Volta_bracket_interface::print) - (after-line-breaking . ,Volta_bracket_interface::after_line_breaking))) + (stencil . ,Volta_bracket_interface::print) + (after-line-breaking . ,Volta_bracket_interface::after_line_breaking) (direction . ,UP) (padding . 1) (font-encoding . fetaNumber) - (Y-offset-callbacks . (,Side_position_interface::aligned_side)) + (Y-offset . ,Side_position_interface::y_aligned_side) + (side-axis . ,Y) (thickness . 1.6) ;; linethickness (edge-height . (2.0 . 2.0)) ;; staffspace; (minimum-space . 5) @@ -1761,22 +1904,25 @@ line-interface text-interface side-position-interface - font-interface)))))) + font-interface))) + ))) + - (VoiceFollower . ( (style . line) (gap . 0.5) (breakable . #t) - (X-extent-callback . #f) - (Y-extent-callback . #f) - - (callbacks . ((stencil . ,Line_spanner::print) - (after-line-breaking . ,Line_spanner::after_line_breaking))) + (X-extent . #f) + (Y-extent . #f) + (stencil . ,Line_spanner::print) + (after-line-breaking . ,Line_spanner::after_line_breaking) (meta . ((class . Spanner) (interfaces . (line-spanner-interface - line-interface)))))))) + line-interface)))) + )) + +)) (define (completize-grob-entry x) "Transplant assoc key into 'name entry of 'meta of X. Set interfaces for Item, Spanner etc.