From 6c5371e435383bd44a8e8c38ab351dd90befad63 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 19 Dec 2005 17:00:20 +0000 Subject: [PATCH] (stop_translation_timestep): delay adding to script-column. --- ChangeLog | 3 +++ lily/script-column-engraver.cc | 18 +++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 71bc3207a9..80453c31f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-12-19 Han-Wen Nienhuys + * lily/script-column-engraver.cc (stop_translation_timestep): + delay adding to script-column. + * lily/tuplet-bracket.cc (print): suicide if no control-points. * python/convertrules.py (conv): rule for number-visibility diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index 4d6d333e4d..74778be83d 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -36,6 +36,13 @@ Script_column_engraver::Script_column_engraver () void Script_column_engraver::stop_translation_timestep () { + if (scol_) + { + for (int i = 0; i < scripts_.size (); i++) + if (Side_position_interface::get_axis (scripts_[i]) == Y_AXIS) + Script_column::add_staff_sided (scol_, scripts_[i]); + } + scol_ = 0; scripts_.clear (); } @@ -46,8 +53,7 @@ Script_column_engraver::acknowledge_side_position (Grob_info inf) Item *thing = dynamic_cast (inf.grob ()); if (thing) { - if (!Item::is_breakable (thing) - && Side_position_interface::get_axis (inf.grob ()) == Y_AXIS) + if (!Item::is_breakable (thing)) scripts_.push (thing); } } @@ -57,14 +63,8 @@ Script_column_engraver::process_acknowledged () { if (!scol_ && scripts_.size () > 1) scol_ = make_item ("ScriptColumn", SCM_EOL); - - if (scol_) - { - for (int i = 0; i < scripts_.size (); i++) - Script_column::add_staff_sided (scol_, scripts_[i]); - scripts_.clear (); - } } + ADD_ACKNOWLEDGER (Script_column_engraver, side_position); ADD_TRANSLATOR (Script_column_engraver, /* doc */ "", -- 2.39.5