From 0f7b66d0f91b2001271e51d7df93b61b7b47d504 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 21:48:19 +0000 Subject: [PATCH] lilypond-1.1.36 --- lily/beam.cc | 20 ++++++++++++++------ lily/clef-engraver.cc | 17 ++++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/lily/beam.cc b/lily/beam.cc index 752f23e10b..d5f9d9e9a9 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -26,7 +26,6 @@ #include "abbreviation-beam.hh" #include "misc.hh" #include "debug.hh" - #include "molecule.hh" #include "leastsquares.hh" #include "stem.hh" @@ -38,7 +37,6 @@ Beam::Beam () { slope_f_ = 0; left_y_ = 0; - damping_i_ = 1; quantisation_ = NORMAL; multiple_i_ = 0; vertical_align_drul_[MIN] = 0; @@ -62,6 +60,9 @@ Molecule* 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 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_; } } @@ -358,8 +361,13 @@ Beam::calculate_slope () 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 (); diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index bdd816430c..da300420b1 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -30,7 +30,7 @@ Clef_engraver::Clef_engraver() } /* - ugh. Should be configurable. + PUT THIS IN GUILE! */ struct Clef_settings { char const *name; @@ -125,9 +125,11 @@ Clef_engraver::acknowledge_element (Score_element_info info) if (dynamic_cast(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 */ @@ -161,7 +163,7 @@ Clef_engraver::do_creation_processing() 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); } } @@ -194,7 +196,10 @@ Clef_engraver::create_clef() 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_)); + } } @@ -204,14 +209,12 @@ Clef_engraver::do_process_requests() 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; } } -- 2.39.5