+2006-11-07 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/break-substitution.cc:
+ * lily/dynamic-text-spanner.cc:
+ nitpicks.
+
+ * lily/engraver.cc:
+ * lily/grob-property.cc:
+ use SCM_ASSERT_TYPE for graphing functions.
+
+ * lily/cluster.cc:
+ formatting.
+
+ * lily/all-font-metrics.cc:
+ excise cmr10
+
+ * input/regression/collision-heads.ly:
+ trim example.
+
+ * lily/note-collision.cc:
+ * input/regression/collision-merge-differently-headed.ly:
+ Examine Stem::duration_log() for preventing merge of quarter and
+ halfnote. Fixes collision-heads.ly. Add separate regtest for that.
+
+ * scripts/lilypond-invoke-editor.scm:
+ don't use guile -e main execution.
+
+ * scm/define-grobs.scm:
+ use stem::calc-duration-log for rest.
+
+ * scm/define-markup-commands.scm:
+ another (sign dir) fix for note markup
+
+ * scm/define-markup-commands.scm:
+ use (sign dir) for computing attachment points.
+
+ * buildscripts/git-update-changelog.py:
+ run cvs up before patching.
+
+2006-11-06 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/note-head.cc:
+ trim note-head.cc includes.
+
+ * lily/easy-notation.cc:
+ * lily/mensural-ligature-engraver.cc:
+ * lily/note-collision.cc:
+ * lily/note-head.cc:
+ * scm/define-grobs.scm:
+ * scm/output-lib.scm:
+ use Rhythmic_head::duration_log() iso. Note_head::get_balltype().
+
+ * buildscripts/git-update-changelog.py:
+ also barf if file doesn't exist.
+
2006-11-07 Erlend Aasland <erlenda@gmail.com>
* scm/music-function.scm (add-ballon-text): add FIXME comment.
* scm/define-music-types.scm:
* scm/output-lib.scm:
* lily/balloon-engraver.cc:
- rewrite balloon-text support. This is now a separate grob, with itsvictim as the parent. This involves addingBalloon_engraver, AnnotateOutputEvent, annotate-output-event,\balloonText, \balloonGrobText, and modifying Balloon_interface::print.
+ rewrite balloon-text support. This is now a separate grob, with
+ itsvictim as the parent. This involves addingBalloon_engraver,
+ AnnotateOutputEvent, annotate-output-event,\balloonText,
+ \balloonGrobText, and modifying Balloon_interface::print.
* lily/paper-score.cc:
remove progress again
/*
Cache binom(3,j) t^j (1-t)^{3-j}
*/
-static struct Polynomial bezier_term_cache[4];
-static bool done_cache_init;
+struct Polynomial_cache {
+ Polynomial terms_[4];
+ Polynomial_cache ()
+ {
+ for (int j = 0; j <= 3; j++)
+ terms_[j]
+ = binomial_coefficient_3[j]
+ * Polynomial::power (j, Polynomial (0, 1))
+ * Polynomial::power (3 - j, Polynomial (1, -1));
+ }
+};
-void
-init_polynomial_cache ()
-{
- for (int j = 0; j <= 3; j++)
- bezier_term_cache[j]
- = binomial_coefficient_3[j]
- * Polynomial::power (j, Polynomial (0, 1))
- * Polynomial::power (3 - j, Polynomial (1, -1));
- done_cache_init = true;
-}
+static Polynomial_cache poly_cache;
Polynomial
Bezier::polynomial (Axis a) const
{
- if (!done_cache_init)
- init_polynomial_cache ();
-
Polynomial p (0.0);
Polynomial q;
for (int j = 0; j <= 3; j++)
{
- q = bezier_term_cache[j];
+ q = poly_cache.terms_[j];
q *= control_[j][a];
p += q;
}
+++ /dev/null
-%
-% feta-beum.mf -- implement runtime MF beams
-%
-% source file of LilyPond's pretty-but-neat music font
-%
-% (c) 1997--2006 Jan Nieuwenhuizen <janneke@gnu.org>
-%
-mode_setup;
-
-def drawbeam(expr widths,slope,thicks) =
- beginchar(0,0,0,0) "Embedded mf";
- width#:=widths*1pt#;
- thick#:=thicks*1pt#;
- height#:=slope*width#;
- % do separately, to identify "value too large"
- define_pixels(height);
- define_pixels(thick);
- define_pixels(width);
- fill (0, - thick/2)--(width,height - thick/2)--(width,height+thick/2)--(0,thick/2)
- -- cycle;
- endchar;
- enddef;
-