#include "beam.hh"
#include "rest.hh"
-
-
-
Stem::~Stem ()
{
}
Stem::Stem ()
{
- /*
- TODO: staff-size
- */
beams_i_drul_[LEFT] = beams_i_drul_[RIGHT] = -1;
mult_i_ = 0;
yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
flag_i_ = 2;
dir_ = CENTER;
- beam_dir_ = CENTER;
- dir_forced_b_ = false;
stem_xdir_ = LEFT;
- staff_size_i_ = 8;
beam_gap_i_ = 0;
beam_l_ = 0;
Real
Stem::chord_start_f () const
{
- return head_positions()[dir_] * paper ()->internote_f ();
+ return head_positions()[dir_] * staff_line_leading_f ()/2.0;
}
Real
void
Stem::set_default_stemlen ()
{
- Real internote_f = paper ()->internote_f ();
- Real length_f = paper ()->get_var ("stem_length0") / internote_f;
- Real shorten_f = paper ()->get_var ("forced_stem_shorten0") / internote_f;
+ Real internote_f = staff_line_leading_f ()/2.0;
+ Real length_f = paper_l ()->get_var ("stem_length0") / internote_f;
+ Real shorten_f = paper_l ()->get_var ("forced_stem_shorten0") / internote_f;
if (!dir_)
set_default_dir ();
set_default_extents ();
set_noteheads ();
flag_i_ = flag_i_;
- transparent_b_ = invisible_b ();
+ if (invisible_b ())
+ {
+ set_elt_property (transparent_scm_sym, SCM_BOOL_T);
+ }
set_empty (invisible_b ());
}
{
Molecule *mol_p =new Molecule;
Drul_array<Real> stem_y = yextent_drul_;
- Real dy = paper ()->internote_f ();
+ Real dy = staff_line_leading_f ()/2.0;
Real head_wid = 0;
if (head_l_arr_.size ())
if (head_l_arr_.size())
{
Interval head_wid(0, head_l_arr_[0]->extent (X_AXIS).length ());
- Real rule_thick(paper ()->rule_thickness ());
+ Real rule_thick(paper_l ()->rule_thickness ());
Interval stem_wid(-rule_thick/2, rule_thick/2);
if (stem_xdir_ == CENTER)
r = head_wid.center ();
}
}
}
+ Staff_symbol_referencer::do_substitute_element_pointer (o,n);
+
}