#include "abbreviation-beam.hh"
#include "misc.hh"
#include "debug.hh"
-
#include "molecule.hh"
#include "leastsquares.hh"
#include "stem.hh"
{
slope_f_ = 0;
left_y_ = 0;
- damping_i_ = 1;
quantisation_ = NORMAL;
multiple_i_ = 0;
vertical_align_drul_[MIN] = 0;
Beam::do_brew_molecule_p () const
{
Molecule *mol_p = new Molecule;
+ if (!sinfo_.size ())
+ return mol_p;
+
Real x0 = stems_[0]->hpos_f ();
for (int j=0; j <stems_.size (); j++)
{
for (int i=0; i <stems_.size (); i++)
{
Stem *s = stems_[i];
- s->beam_dir_ = dir_;
- if (!s->dir_forced_b_)
+ s->set_elt_property (beam_dir_scm_sym, gh_int2scm (dir_));
+
+ SCM force = s->remove_elt_property (dir_forced_scm_sym);
+ if (force == SCM_BOOL_F)
s->dir_ = dir_;
}
}
damped = tanh (slope_f_)
corresponds with some tables in [Wanske]
*/
- if (damping_i_)
- slope_f_ = 0.6 * tanh (slope_f_) / damping_i_;
+ SCM damp = remove_elt_property (damping_scm_sym);
+ int damping = 1; // ugh.
+ if (damp!= SCM_BOOL_F)
+ damping = gh_int2scm (SCM_CDR(damp));
+
+ if (damping)
+ slope_f_ = 0.6 * tanh (slope_f_) / damping;
quantise_dy ();
}
/*
- ugh. Should be configurable.
+ PUT THIS IN GUILE!
*/
struct Clef_settings {
char const *name;
if (dynamic_cast<Bar*>(info.elem_l_)
&& clef_type_str_.length_i())
{
+ bool def = !clef_p_;
create_clef();
- if (!clef_req_l_)
- clef_p_->default_b_ = true;
+ if(def)
+ clef_p_->set_elt_property(visibility_lambda_scm_sym,
+ gh_eval_str ("postbreak_only_visibility"));
}
/* ugh; should make Clef_referenced baseclass */
if (clef_type_str_.length_i ())
{
create_clef();
- clef_p_->default_b_ = false;
+ clef_p_->set_elt_property (non_default_scm_sym, SCM_BOOL_T);
}
}
clef_p_->symbol_ = clef_type_str_;
clef_p_->y_position_i_ = clef_position_i_;
- clef_p_->octave_dir_ = octave_dir_;
+ if (octave_dir_)
+ {
+ clef_p_->set_elt_property (octave_dir_scm_sym, gh_int2scm (octave_dir_));
+ }
}
if (clef_req_l_)
{
create_clef();
- clef_p_->default_b_ = false;
}
else if (create_default_b_)
{
String type = get_property ("defaultClef", 0);
set_type (type.length_i () ? type : "treble");
create_clef ();
- clef_p_->default_b_ = false;
create_default_b_ =0;
}
}