* input/regression/stem-direction-context.ly: new file.
* lily/relocate.cc (set_relocation): add PANGO_PREFIX
* lily/melody-spanner.cc (calc_neutral_stem_direction):
* lily/melody-spanner.cc: new file. Interpolate stem directions.
* lily/slur-engraver.cc (acknowledge_extra_object): remove
DynamicText hardcoding.
2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * Documentation/topdocs/NEWS.tely (Top): document new feature.
+
+ * input/regression/stem-direction-context.ly: new file.
+
+ * lily/relocate.cc (set_relocation): add PANGO_PREFIX
+
* lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
on rest.
@item
Stem direction on the center staff line are now interpolated between
neighbors. This results in less stem direction changes, leading to a
-more even typography. For example,
+more even appearance. For example,
-
+@lilypond[raggedright]
+\relative c'' {
+ c4 b c b
+ c c c r
+ b a b a
+}
+@end lilypond
+
+This feature was sponsored by Mike Rolish and Basil Crow.
@item
Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
SPONSORS
+
Aaron Mehl
+Basil Crow
Bertalan Fodor
Christian Ebert
Henrik Frisk
Kieren MacMillan
Kris Shaffer
Mark van den Borre
+Mike Rolish
Nancho Alvarez
Nicolas Sceaux
Sean Reed
--- /dev/null
+\header {
+
+ texidoc = "Stem directions for notes on the middle staff line are
+ determined by the directions of their neighbors."
+
+}
+
+\version "2.7.25"
+
+
+\relative c'' \new Voice {
+ c4 b c b
+ c c c r
+ b a b a
+}
+
+
{
Grob *stem = unsmob_grob (smob);
Grob *me = unsmob_grob (stem->get_object ("melody-spanner"));
-
+ if (!me || !me->is_live ())
+ return SCM_UNSPECIFIED;
+
extract_grob_set (me, "stems", stems);
Array<Direction> dirs;
+ to_string ("/guile/%d.%d",
SCM_MAJOR_VERSION, SCM_MINOR_VERSION));
set_env_file ("PANGO_RC_FILE", sysconfdir + "/pango/pangorc");
+ set_env_file ("PANGO_PREFIX", prefix);
+
prepend_env_path ("PATH", bindir);
}
/* properties */
+ "avoid-slur " // UGH.
"control-points "
"dash-fraction "
"dash-period "
+
Grob *me = unsmob_grob (smob);
extract_grob_set (me, "note-columns", columns);
- if (columns.is_empty())
- {
- me->suicide ();
- return scm_cons (scm_from_double (0),
- scm_from_double (0));
- }
-
Direction dir = get_grob_direction (me);
bool equally_long = false;
Grob *par_beam = parallel_beam (me, columns, &equally_long);