From 7791a639ba982382683b1d2e8ecd4b5fb8a280d9 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 29 Nov 2000 14:42:49 +0100 Subject: [PATCH] patch::: 1.3.112.jcn2 1.3.112.jcn2 ============ * Fixed stem-tremolo (caching problem). --- CHANGES | 5 ++++ VERSION | 2 +- lily/include/stem-tremolo.hh | 5 ++-- lily/stem-tremolo.cc | 14 +++++++++++ scm/beam.scm | 23 ------------------ scm/element-descriptions.scm | 45 ++++++++++++++++++++++++++++++++++-- scm/slur.scm | 22 ------------------ 7 files changed, 66 insertions(+), 50 deletions(-) diff --git a/CHANGES b/CHANGES index 3ca97f927a..f1dbe42f42 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +1.3.112.jcn2 +============ + +* Fixed stem-tremolo (caching problem). + 1.3.112.jcn1 ============ diff --git a/VERSION b/VERSION index 7cadd3f2dd..97c76d3de2 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=112 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/include/stem-tremolo.hh b/lily/include/stem-tremolo.hh index e093b3a497..adfdf739d1 100644 --- a/lily/include/stem-tremolo.hh +++ b/lily/include/stem-tremolo.hh @@ -18,8 +18,9 @@ class Stem_tremolo public: static void set_interface (Grob*); static bool has_interface (Grob*); - DECLARE_SCHEME_CALLBACK(dim_callback, (SCM smob, SCM axis)); - DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM )); + DECLARE_SCHEME_CALLBACK (dim_callback, (SCM smob, SCM axis)); + DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM )); + DECLARE_SCHEME_CALLBACK (height, (SCM,SCM)); static void set_stem (Grob*me, Grob *st); }; diff --git a/lily/stem-tremolo.cc b/lily/stem-tremolo.cc index 689d24e71f..36cbc63f97 100644 --- a/lily/stem-tremolo.cc +++ b/lily/stem-tremolo.cc @@ -48,6 +48,20 @@ Stem_tremolo::dim_callback (SCM e, SCM ) return ly_interval2scm ( Interval (-space, space)); } +/* + ugh ? --from Slur + */ +MAKE_SCHEME_CALLBACK (Stem_tremolo, height, 2); +SCM +Stem_tremolo::height (SCM smob, SCM ax) +{ + Axis a = (Axis)gh_scm2int (ax); + Grob * me = unsmob_grob (smob); + assert ( a == Y_AXIS); + + SCM mol = me->get_uncached_molecule (); + return ly_interval2scm (unsmob_molecule (mol)->extent (a)); +} MAKE_SCHEME_CALLBACK(Stem_tremolo,brew_molecule,1); diff --git a/scm/beam.scm b/scm/beam.scm index 9e7005e31f..8ae7f30044 100644 --- a/scm/beam.scm +++ b/scm/beam.scm @@ -122,26 +122,3 @@ ;; - take #forced stems into account (now done in C++)? ;; - take y-position of chord or beam into account -; -; todo: clean this up a bit: the list is getting rather long. -; -(define basic-beam-properties - `( - (molecule-callback . ,Beam::brew_molecule) - (thickness . 0.42) ; in staff-space, should use stafflinethick? - (before-line-breaking-callback . ,Beam::before_line_breaking) - (after-line-breaking-callback . ,Beam::after_line_breaking) - (default-neutral-direction . 1) - (dir-function . ,beam-dir-majority) - (height-quants . ,default-beam-dy-quants) - (vertical-position-quant-function . ,default-beam-y-quants) - (beamed-stem-shorten . (0.5)) - (outer-stem-length-limit . 0.2) - (slope-limit . 0.2) - (flag-width-function . ,default-beam-flag-width-function) - (space-function . ,default-beam-space-function) - (damping . 1) - (meta . ,(element-description "Beam" beam-interface)) - ) - ) - diff --git a/scm/element-descriptions.scm b/scm/element-descriptions.scm index f656d5b197..15e9b9ff67 100644 --- a/scm/element-descriptions.scm +++ b/scm/element-descriptions.scm @@ -46,7 +46,25 @@ text-interface font-interface break-aligned-interface)) )) - (Beam . ,basic-beam-properties) + (Beam . ( + ;; todo: clean this up a bit: the list is getting + ;; rather long. + (molecule-callback . ,Beam::brew_molecule) + (thickness . 0.42) ; in staff-space, should use stafflinethick? + (before-line-breaking-callback . ,Beam::before_line_breaking) + (after-line-breaking-callback . ,Beam::after_line_breaking) + (default-neutral-direction . 1) + (dir-function . ,beam-dir-majority) + (height-quants . ,default-beam-dy-quants) + (vertical-position-quant-function . ,default-beam-y-quants) + (beamed-stem-shorten . (0.5)) + (outer-stem-length-limit . 0.2) + (slope-limit . 0.2) + (flag-width-function . ,default-beam-flag-width-function) + (space-function . ,default-beam-space-function) + (damping . 1) + (meta . ,(element-description "Beam" beam-interface)) + )) (BreakAlignment . ( (breakable . #t) @@ -367,7 +385,27 @@ (meta . ,(element-description "ScriptColumn" script-column-interface)) )) - (Slur . ,default-basic-slur-properties) + (Slur . ( + (molecule-callback . ,Slur::brew_molecule) + (thickness . 1.2) + (spacing-procedure . ,Slur::set_spacing_rods) + (minimum-length . 1.5) + (after-line-breaking-callback . ,Slur::after_line_breaking) + (extremity-rules . ,default-slur-extremity-rules) + (extremity-offset-alist . ,default-slur-extremity-offset-alist) + (de-uglify-parameters . ( 1.5 0.8 -2.0)) + (Y-extent-callback . ,Slur::height) + (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) + (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006) + (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2) + (bezier-area-steps . 1.0))) + (beautiful . 0.5) + (y-free . 0.75) + (attachment-offset . ((0 . 0) . (0 . 0))) + (slope-limit . 0.8) + (meta . ,(element-description "Slur" slur-interface)) + )) + (SpacingSpanner . ( (spacing-procedure . ,Spacing_spanner::set_springs) (stem-spacing-correction . 0.5) @@ -449,6 +487,9 @@ (StemTremolo . ( (molecule-callback . ,Stem_tremolo::brew_molecule) + (Y-extent-callback . ,Stem_tremolo::height) + (X-extent-callback . #f) + (beam-width . 2.0) ; staff-space (beam-thickness . 0.42) ; staff-space (beam-space-function . ,default-beam-space-function) diff --git a/scm/slur.scm b/scm/slur.scm index a91bc2f04e..02e4642f0e 100644 --- a/scm/slur.scm +++ b/scm/slur.scm @@ -107,25 +107,3 @@ )) -(define default-basic-slur-properties - `( - (molecule-callback . ,Slur::brew_molecule) - (thickness . 1.2) - (spacing-procedure . ,Slur::set_spacing_rods) - (minimum-length . 1.5) - (after-line-breaking-callback . ,Slur::after_line_breaking) - (extremity-rules . ,default-slur-extremity-rules) - (extremity-offset-alist . ,default-slur-extremity-offset-alist) - (de-uglify-parameters . ( 1.5 0.8 -2.0)) - (Y-extent-callback . ,Slur::height) - (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) - (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006) - (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2) - (bezier-area-steps . 1.0))) - (beautiful . 0.5) - (y-free . 0.75) - (attachment-offset . ((0 . 0) . (0 . 0))) - (slope-limit . 0.8) - (meta . ,(element-description "Slur" slur-interface)) - ) - ) -- 2.39.2