+1.3.112.jcn2
+============
+
+* Fixed stem-tremolo (caching problem).
+
1.3.112.jcn1
============
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.
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);
};
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);
;; - 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))
- )
- )
-
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)
(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)
(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)
))
-(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))
- )
- )