From ecb658c7d214230ea8282dcfa328d044029a3748 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 02:05:50 +0000 Subject: [PATCH] lilypond-1.5.34 --- lily/accidental-engraver.cc | 2 +- lily/break-align-item.cc | 8 ++++---- lily/lily-guile.cc | 20 +++++++++++++++++--- lily/rest-collision.cc | 2 ++ lily/script-engraver.cc | 8 ++++++-- lily/script.cc | 2 +- 6 files changed, 31 insertions(+), 11 deletions(-) diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 9134f01ec0..14dd955cd3 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -215,7 +215,7 @@ Accidental_engraver::create_grobs () tie_break_reminder); Side_position_interface::add_support (key_item_p_,support_l); - support_l->set_grob_property ("accidentals", key_item_p_->self_scm ()); + support_l->set_grob_property ("accidentals-grob", key_item_p_->self_scm ()); } diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index fece962363..1c757807e2 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -136,7 +136,7 @@ Break_align_interface::do_alignment (Grob *me) warning (_f ("unknown spacing pair `%s', `%s'", ly_symbol2string (current_origin), ly_symbol2string (next_origin))); - extra_space = scm_list_n (ly_symbol2scm ("minimum-space"), gh_double2scm (0.0), SCM_UNDEFINED); + extra_space = scm_list_n (ly_symbol2scm ("minimum-space-pair"), gh_double2scm (0.0), SCM_UNDEFINED); } SCM symbol = ly_car (extra_space); @@ -161,14 +161,14 @@ Break_align_interface::do_alignment (Grob *me) // urg - SCM first_pair = elems[0]->get_grob_property ("minimum-space"); + SCM first_pair = elems[0]->get_grob_property ("minimum-space-pair"); if (gh_pair_p (first_pair)) first_pair = first_pair; else first_pair = gh_cons (gh_double2scm (0.0), gh_double2scm (0.0)); scm_set_car_x (first_pair, gh_double2scm (-dists[0])); - elems[0]->set_grob_property ("minimum-space", first_pair); + elems[0]->set_grob_property ("minimum-space-pair", first_pair); Direction bsd = item->break_status_dir (); if (bsd == LEFT) @@ -203,7 +203,7 @@ Break_align_interface::do_alignment (Grob *me) spring_len += dists.top (); stretch_distance = dists.top (); } - else if (ly_car (symbol_list) == ly_symbol2scm ("minimum-space")) + else if (ly_car (symbol_list) == ly_symbol2scm ("minimum-space-pair")) { spring_len = spring_len >? dists.top (); stretch_distance = spring_len; diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index c70f40e482..12b925a567 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -609,9 +609,20 @@ SCM my_gh_symbol2scm (const char* x) bool -type_check_assignment (SCM val, SCM sym, SCM type_symbol) +type_check_assignment (SCM sym, SCM val, SCM type_symbol) { bool ok = true; + + /* + Always succeeds. + + + TODO: should remove #f from allowed vals? + */ + if (val == SCM_EOL || val == SCM_BOOL_F) + return ok; + + SCM type_p = SCM_EOL; if (gh_symbol_p (sym)) @@ -619,8 +630,11 @@ type_check_assignment (SCM val, SCM sym, SCM type_symbol) if (type_p != SCM_EOL && !gh_procedure_p (type_p)) { - warning (_f ("Can't find property type-check for `%s'. Perhaps you made a typing error? Doing assignment anyway.", - ly_symbol2string (sym).ch_C ())); + warning (_f ("Can't find property type-check for `%s' (%s). Perhaps you made a typing error? Doing assignment anyway.", + ly_symbol2string (sym).ch_C (), + ly_symbol2string (type_symbol).ch_C () + + )); } else { diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index 4edc714963..9f4588d0ed 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -33,6 +33,8 @@ Rest_collision::force_shift_callback (SCM element_smob, SCM axis) { /* Done: destruct pointers, so we do the shift only once. + + TODO: use rest-collision-done */ SCM elts = rc->get_grob_property ("elements"); rc->set_grob_property ("elements", SCM_EOL); diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index 7b38dbddf2..3ef8142b94 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -69,7 +69,7 @@ Script_engraver::process_music () // todo -> use result of articulation-to-scriptdef directly as basic prop list. Grob *p =new Item (get_property ("Script")); art = ly_cdr (art); - p->set_grob_property ("molecule", ly_car (art)); + p->set_grob_property ("script-molecule", ly_car (art)); art = ly_cdr (art); bool follow_staff = gh_scm2bool (ly_car (art)); @@ -96,7 +96,7 @@ Script_engraver::process_music () SCM axisprop = get_property ("scriptHorizontal"); bool xaxis = to_boolean (axisprop); Side_position_interface::set_axis (p, xaxis ? X_AXIS : Y_AXIS); - + if (!follow_staff && ! xaxis) p->set_grob_property ("staff-support", SCM_BOOL_T); @@ -152,6 +152,10 @@ Script_engraver::stop_translation_timestep () { for (int i=0; i < script_p_arr_.size (); i++) { + + /* + TODO: junk staff-support. + */ Grob * sc = script_p_arr_[i]; if (to_boolean (sc->get_grob_property ("staff-support"))) { diff --git a/lily/script.cc b/lily/script.cc index 44ee942f2a..5ae6152f3d 100644 --- a/lily/script.cc +++ b/lily/script.cc @@ -19,7 +19,7 @@ Molecule Script::get_molecule (Grob * me, Direction d) { - SCM s = me->get_grob_property ("molecule"); + SCM s = me->get_grob_property ("script-molecule"); assert (gh_pair_p (s)); SCM key = ly_car (s); -- 2.39.5