From: fred Date: Sun, 24 Mar 2002 20:06:18 +0000 (+0000) Subject: lilypond-0.1.47 X-Git-Tag: release/1.5.59~3406 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f06fee4066d664075ea458056d9a7ac92c96634f;p=lilypond.git lilypond-0.1.47 --- diff --git a/lily/include/stem.hh b/lily/include/stem.hh index 8020d14f72..1a63a17eb0 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -29,7 +29,6 @@ */ class Stem : public Item { - Molecule abbrev_mol () const; Drul_array yextent_drul_; @@ -51,8 +50,6 @@ class Stem : public Item { Link_array rest_l_arr_; public: - /// abbrev flag? + count - int abbrev_flag_i_; /// how many abbrev beam don't reach stem? int beam_gap_i_; @@ -79,7 +76,8 @@ public: DECLARE_MY_RUNTIME_TYPEINFO; - Real hpos_f() const; + Real hpos_f () const; + Real chord_start_f () const; int type_i () const; diff --git a/lily/stem.cc b/lily/stem.cc index 5a74da6df8..c4c502d268 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -20,7 +20,7 @@ #include "beam.hh" #include "rest.hh" -const int STEMLEN=7; +const int STEMLEN = 7; IMPLEMENT_IS_TYPE_B1 (Stem,Item); @@ -29,7 +29,6 @@ Stem::Stem () /* TODO: staff-size */ - abbrev_flag_i_ = 0; beam_l_ = 0; beams_left_i_ = 0; beams_right_i_ = 0; @@ -60,7 +59,7 @@ void Stem::do_print () const { #ifndef NPRINT - DOUT << "flag "<< flag_i_ << "abbrev_flag_i_" << abbrev_flag_i_; + DOUT << "flag "<< flag_i_ ; if (beam_l_) DOUT << "beamed"; #endif @@ -78,6 +77,12 @@ Stem::stem_begin_f () const return yextent_drul_[Direction(-dir_)]; } +Real +Stem::chord_start_f () const +{ + return head_positions()[dir_] * paper ()->internote_f (); +} + Real Stem::stem_end_f () const { @@ -158,11 +163,6 @@ Stem::set_default_stemlen () Real len = STEMLEN; Real dy = paper ()->interbeam_f (); - // ugh, should get nice *rule* for this - if (abbrev_flag_i_ > 1) - len += (abbrev_flag_i_ - 1)* dy / 2; - - if (!dir_) set_default_dir (); @@ -252,11 +252,7 @@ Interval Stem::do_width () const { Interval r (0, 0); - if (abbrev_flag_i_) - { - r = abbrev_mol ().extent ().x (); - } - else if (beam_l_ || abs (flag_i_) <= 2) + if (beam_l_ || abs (flag_i_) <= 2) ; // TODO! else { @@ -269,44 +265,6 @@ Stem::do_width () const -Molecule -Stem::abbrev_mol () const -{ - Real dy = paper ()->interbeam_f (); - Real w = 1.5 * paper ()->lookup_l ()->ball (2).dim_.x ().length (); - Real interline_f = paper ()->interline_f (); - Real beamdy = interline_f/2; - - int beams_i = 0; - Real slope_f = paper ()->internote_f () / 4; - - if (beam_l_) { - // huh? - slope_f = 2 * beam_l_->slope_f_; - // ugh, rather calc from Abbreviation_req - beams_i = beams_right_i_ >? beams_left_i_; - } - paper ()->lookup_l ()->beam (slope_f, 20 PT, 1 PT); - - Molecule beams; - Atom a (paper ()->lookup_l ()->beam (slope_f, w, .48 * interline_f)); - a.translate (Offset(- w / 2, stem_end_f () - (w / 2 * slope_f))); - - // ugh - if (!beams_i) - a.translate_axis (dy + beamdy - dir_ * dy, Y_AXIS); - else - a.translate_axis (2 * beamdy - dir_ * (beamdy - dy), Y_AXIS); - - for (int i = 0; i < abbrev_flag_i_; i++) - { - Atom b (a); - b.translate_axis (-dir_ * dy * (beams_i + i), Y_AXIS); - beams.add (b); - } - - return beams; -} const Real ANGLE = 20* (2.0*M_PI/360.0); // ugh! @@ -336,12 +294,8 @@ Stem::brew_molecule_p () const Atom fl = p->lookup_l ()->flag (flag_i_, dir_); fl.translate_axis(stem_y[dir_]*dy, Y_AXIS); mol_p->add(fl); - assert (!abbrev_flag_i_); } - if (abbrev_flag_i_) - mol_p->add (abbrev_mol ()); - if (head_l_arr_.size()) { mol_p->translate_axis (note_delta_f (), X_AXIS);