- Tuplet_spanner* glep = new Tuplet_spanner (get_property ("basicTupletSpannerProperties"));
- if (i >= started_span_p_arr_.size ())
- started_span_p_arr_.push (glep);
- else
- started_span_p_arr_[i] = glep;
-
- glep->set_elt_property ("text",
- ly_str02scm (to_str (time_scaled_music_arr_[i]->den_i_).ch_C()));
-
- announce_element (Score_element_info (glep, time_scaled_music_arr_ [i]));
+ Spanner *spanner = make_spanner ("TupletBracket",
+ tuplets_[i].music_->self_scm ());
+ tuplets_[i].spanner_ = spanner;
+
+ if (i > 0 && tuplets_[i - 1].spanner_)
+ Tuplet_bracket::add_tuplet_bracket (tuplets_[i].spanner_, tuplets_[i - 1].spanner_);
+ if (i < tuplets_.size () - 1 && tuplets_[i + 1].spanner_)
+ Tuplet_bracket::add_tuplet_bracket (tuplets_[i + 1].spanner_, tuplets_[i].spanner_);
+
+ SCM proc = get_property ("tupletNumberFormatFunction");
+ if (ly_is_procedure (proc))
+ {
+ SCM t = scm_apply_0 (proc, scm_list_1 (tuplets_[i].music_->self_scm ()));
+ spanner->set_property ("text", t);
+ }