From a975d6f176453d35367e3fa4808c7061d326a9e7 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Thu, 16 Jun 2016 19:12:51 +0200 Subject: [PATCH] Issue 4898: Set rhythmic-location early in paper-column-engraver This makes it possible to refer to rhythmic-location in callbacks for PaperColumn grobs. --- lily/paper-column-engraver.cc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lily/paper-column-engraver.cc b/lily/paper-column-engraver.cc index 8cb99ecbb6..0e32f6e644 100644 --- a/lily/paper-column-engraver.cc +++ b/lily/paper-column-engraver.cc @@ -229,6 +229,18 @@ Paper_column_engraver::stop_translation_timestep () command_column_->set_property ("when", m); musical_column_->set_property ("when", m); + SCM mpos = get_property ("measurePosition"); + SCM barnum = get_property ("internalBarNumber"); + if (unsmob (mpos) + && scm_is_integer (barnum)) + { + SCM where = scm_cons (barnum, + mpos); + + command_column_->set_property ("rhythmic-location", where); + musical_column_->set_property ("rhythmic-location", where); + } + for (vsize i = 0; i < items_.size (); i++) { Item *elem = items_[i]; @@ -274,18 +286,6 @@ Paper_column_engraver::stop_translation_timestep () first_ = false; label_events_.clear (); - - SCM mpos = get_property ("measurePosition"); - SCM barnum = get_property ("internalBarNumber"); - if (unsmob (mpos) - && scm_is_integer (barnum)) - { - SCM where = scm_cons (barnum, - mpos); - - command_column_->set_property ("rhythmic-location", where); - musical_column_->set_property ("rhythmic-location", where); - } } void -- 2.39.2