From 65cda8fe768cd2d0917ef1ef829e338ad3f45a83 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 20:09:29 +0000 Subject: [PATCH] lilypond-0.1.55 --- lily/script.cc | 4 +++- lily/staff-side.cc | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lily/script.cc b/lily/script.cc index 4e57c3ddf5..491e6d655f 100644 --- a/lily/script.cc +++ b/lily/script.cc @@ -99,7 +99,9 @@ Script::brew_molecule_p() const Real dx = paper()->note_width()/2; Molecule*out = new Molecule (specs_l_->get_atom (paper(), dir_)); - out->translate_axis (y_, Y_AXIS); + // ugh, staccato dots are not centred between stafflines (how?)? + Real correct = - (Real)dir_ * 2.0 * paper ()->rule_thickness (); + out->translate_axis (y_ + correct, Y_AXIS); out->translate_axis (dx, X_AXIS); // FIXME! ugh return out; } diff --git a/lily/staff-side.cc b/lily/staff-side.cc index b380e1feb8..0e8b9c7cde 100644 --- a/lily/staff-side.cc +++ b/lily/staff-side.cc @@ -63,11 +63,18 @@ Staff_side::get_position_f () const } - Real y=0; + Real y = 0; Real inter_f = paper()-> internote_f (); - Interval v= support_height(); - y = v[dir_] + 1 * dir_ * inter_f; // ugh + Interval v = support_height(); + + // ugh, dim[y] = PT over here + y = v[dir_] + 1 * dir_ * inter_f; + + int y_i = (int)rint (y / inter_f); + // ugh: 5 -> staff_lines + if ((abs (y_i) < 5) && !(abs (y_i) % 2)) + y += (Real)dir_ * inter_f; return y; } -- 2.39.5