void typeset_all ();
TRANSLATOR_DECLARATIONS (Dynamic_engraver);
- DECLARE_ACKNOWLEDGER (accidental);
- DECLARE_ACKNOWLEDGER (stem_tremolo);
DECLARE_ACKNOWLEDGER (note_column);
- DECLARE_ACKNOWLEDGER (slur);
DECLARE_TRANSLATOR_LISTENER (absolute_dynamic);
DECLARE_TRANSLATOR_LISTENER (span_dynamic);
}
finished_cresc_ = cresc_;
+
+ /* backwards compatibility with hairpinToBarline */
+ bool use_bar = to_boolean (get_property ("hairpinToBarline"))
+ && scm_is_string (get_property ("whichBar"))
+ && !script_ev_;
+
+ finished_cresc_->set_property ("to-barline", scm_from_bool (use_bar));
+
+ announce_end_grob (finished_cresc_, SCM_EOL);
cresc_ = 0;
current_cresc_ev_ = 0;
}
context ()->set_property ((start_type + "Text").c_str (),
SCM_EOL);
}
+
+ if (script_)
+ {
+ set_nested_property (cresc_,
+ scm_list_3 (ly_symbol2scm ("bound-details"),
+ ly_symbol2scm ("left"),
+ ly_symbol2scm ("attach-dir")
+ ),
+ scm_from_int (RIGHT));
+ }
}
if (script_)
{
if (finished_cresc_)
{
- bool use_bar = to_boolean (get_property ("hairpinToBarline"))
- && scm_is_string (get_property ("whichBar"))
- && !script_ev_;
-
-
- if (!finished_cresc_->get_bound (RIGHT)
- || use_bar)
+ if (!finished_cresc_->get_bound (RIGHT))
{
- Grob *column_bound = 0;
- if (use_bar)
- {
- column_bound = unsmob_grob (get_property ("breakableSeparationItem"));
- }
-
- if (!column_bound)
- column_bound = unsmob_grob (use_bar
- ? get_property ("currentCommandColumn")
- : get_property ("currentMusicalColumn"));
+ Grob *column_bound = unsmob_grob (get_property ("currentMusicalColumn"));
finished_cresc_->set_bound (RIGHT, script_
? script_
finished_line_spanner_->set_bound (RIGHT, ci);
finished_line_spanner_->set_bound (LEFT, ci);
}
-
finished_line_spanner_ = 0;
}
}
-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)
-{
- if (line_spanner_)
- Side_position_interface::add_support (line_spanner_, info.grob ());
-}
-
-void
-Dynamic_engraver::acknowledge_slur (Grob_info info)
-{
- if (line_spanner_)
- Side_position_interface::add_support (line_spanner_, info.grob ());
-}
-
void
Dynamic_engraver::acknowledge_note_column (Grob_info info)
{
finished_cresc_->set_bound (RIGHT, info.grob ());
}
-ADD_ACKNOWLEDGER (Dynamic_engraver, accidental);
ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
-ADD_ACKNOWLEDGER (Dynamic_engraver, slur);
-ADD_ACKNOWLEDGER (Dynamic_engraver, stem_tremolo);
ADD_TRANSLATOR (Dynamic_engraver,
/* doc */
/* create */
"DynamicLineSpanner "
+ "DynamicTextSpanner "
"DynamicText "
"Hairpin "
"TextSpanner ",