From 1922d0676cafafe07e9b613a9788ebc3032837f1 Mon Sep 17 00:00:00 2001 From: Maximilian Albert Date: Fri, 28 Nov 2008 00:46:16 +0100 Subject: [PATCH] If articulation is over the stem, it should be centered on it (fixes bug #218) --- lily/script-engraver.cc | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index d0d713b..6ba1072 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -167,11 +167,18 @@ Script_engraver::process_music () void Script_engraver::acknowledge_stem (Grob_info info) { + Grob *stem = info.grob(); + int stem_dir = robust_scm2int(stem->get_property("direction"), 0); int script_count = scripts_.size (); for (int i = 0; i < script_count; i++) { Grob *e = scripts_[i].script_; + /* If articulation is above the stem, it should be centered on it */ + int script_dir = robust_scm2int(e->get_property("direction"), 0); + if (stem_dir == script_dir) + e->translate_axis(stem->relative_coordinate(e, X_AXIS), X_AXIS); + if (to_dir (e->get_property ("side-relative-direction"))) e->set_object ("direction-source", info.grob ()->self_scm ()); -- 1.5.4.3