Music *music_;
Spanner *bracket_;
Spanner *number_;
-
- bool full_length_;
- bool full_length_note_;
-
Tuplet_description ()
{
- full_length_note_ = false;
- full_length_ = false;
music_ = 0;
bracket_ = 0;
number_ = 0;
{
for (vsize i = 0; i < stopped_tuplets_.size (); i++)
{
+ bool full_length = to_boolean (get_property ("tupletFullLength"));
if (stopped_tuplets_[i].bracket_)
{
- if (stopped_tuplets_[i].full_length_)
+ if (full_length)
{
- Item *col =
- unsmob_item (stopped_tuplets_[i].full_length_note_
- ? get_property ("currentMusicalColumn")
- : get_property ("currentCommandColumn"));
+ Item *col = unsmob_item (get_property ("currentMusicalColumn"));
stopped_tuplets_[i].bracket_->set_bound (RIGHT, col);
stopped_tuplets_[i].number_->set_bound (RIGHT, col);
/* i goes from size-1 downto 0, inclusively */
vsize i = j - 1;
-
if (tuplets_[i].bracket_)
continue;
- tuplets_[i].full_length_ = to_boolean (get_property ("tupletFullLength"));
- tuplets_[i].full_length_note_
- = to_boolean (get_property ("tupletFullLengthNote"));
-
tuplets_[i].bracket_ = make_spanner ("TupletBracket",
tuplets_[i].music_->self_scm ());
tuplets_[i].number_ = make_spanner ("TupletNumber",
if (i > 0 && tuplets_[i - 1].bracket_)
Tuplet_bracket::add_tuplet_bracket (tuplets_[i - 1].bracket_, tuplets_[i].bracket_);
+
+ SCM proc = get_property ("tupletNumberFormatFunction");
+ if (ly_is_procedure (proc))
+ {
+ SCM t = scm_apply_0 (proc, scm_list_1 (tuplets_[i].music_->self_scm ()));
+ tuplets_[i].number_->set_property ("text", t);
+ }
}
}
Tuplet_engraver::finalize ()
{
if (to_boolean (get_property ("tupletFullLength")))
- for (vsize i = 0; i < last_tuplets_.size (); i++)
- {
- Item *col = unsmob_item (get_property ("currentCommandColumn"));
- last_tuplets_[i]->set_bound (RIGHT, col);
- }
+ {
+ for (vsize i = 0; i < last_tuplets_.size (); i++)
+ {
+ Item *col = unsmob_item (get_property ("currentCommandColumn"));
+ last_tuplets_[i]->set_bound (RIGHT, col);
+ }
+ }
}
Tuplet_engraver::Tuplet_engraver ()
/* doc */ "Catch TupletSpannerEvent and generate appropriate bracket ",
/* create */ "TupletBracket TupletNumber ",
/* accept */ "tuplet-spanner-event",
- /* read */ "tupletFullLength ",
+ /* read */ "tupletNumberFormatFunction tupletSpannerDuration tupletFullLength ",
/* write */ "");