void typeset_all ();
TRANSLATOR_DECLARATIONS (Dynamic_engraver);
+ DECLARE_ACKNOWLEDGER (accidental);
DECLARE_ACKNOWLEDGER (script);
DECLARE_ACKNOWLEDGER (stem_tremolo);
DECLARE_ACKNOWLEDGER (note_column);
{
if (finished_cresc_)
{
- if (!finished_cresc_->get_bound (RIGHT))
+ bool use_bar = to_boolean (get_property ("hairpinToBarline"))
+ && scm_is_string (get_property ("whichBar"))
+ && !script_ev_;
+
+
+ if (!finished_cresc_->get_bound (RIGHT)
+ || use_bar)
{
+ Grob *column_bound = unsmob_grob (use_bar
+ ? get_property ("currentCommandColumn")
+ : get_property ("currentMusicalColumn"));
+
finished_cresc_->set_bound (RIGHT, script_
? script_
- : unsmob_grob (get_property ("currentMusicalColumn")));
+ : column_bound);
if (finished_line_spanner_)
add_bound_item (finished_line_spanner_,
}
+void
+Dynamic_engraver::acknowledge_accidental (Grob_info info)
+{
+ if (line_spanner_)
+ Side_position_interface::add_support (line_spanner_, info.grob ());
+}
+
+
void
Dynamic_engraver::acknowledge_stem_tremolo (Grob_info info)
{
Side_position_interface::add_support (line_spanner_, info.grob ());
}
+ADD_ACKNOWLEDGER (Dynamic_engraver, accidental);
ADD_ACKNOWLEDGER (Dynamic_engraver, script);
ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
ADD_ACKNOWLEDGER (Dynamic_engraver, slur);