- if (i < started_spanners_.size () && started_spanners_[i])
- continue;
-
- Spanner* glep = new Spanner (get_property ("TupletBracket"));
-
- if (i >= started_spanners_.size ())
- started_spanners_.push (glep);
- else
- started_spanners_[i] = glep;
-
-
- SCM proc = get_property ("tupletNumberFormatFunction");
- if (gh_procedure_p (proc))
- {
- SCM t = gh_apply (proc, scm_list_n (time_scaled_musics_[i]->self_scm (), SCM_UNDEFINED));
- glep->set_grob_property ("text", t);
- }
-
- announce_grob(glep, time_scaled_musics_ [i]->self_scm());
+ /* 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].event_->self_scm ());
+ tuplets_[i].number_ = make_spanner ("TupletNumber",
+ tuplets_[i].event_->self_scm ());
+ tuplets_[i].number_->set_object ("bracket", tuplets_[i].bracket_->self_scm ());
+ tuplets_[i].number_->set_parent (tuplets_[i].bracket_, X_AXIS);
+ tuplets_[i].number_->set_parent (tuplets_[i].bracket_, Y_AXIS);
+ tuplets_[i].bracket_->set_object ("tuplet-number", tuplets_[i].number_->self_scm ());
+ tuplets_[i].stop_moment_.grace_part_ = 0;
+
+ if (i + 1 < tuplets_.size () && tuplets_[i + 1].bracket_)
+ Tuplet_bracket::add_tuplet_bracket (tuplets_[i].bracket_, tuplets_[i + 1].bracket_);
+
+ if (i > 0 && tuplets_[i - 1].bracket_)
+ Tuplet_bracket::add_tuplet_bracket (tuplets_[i - 1].bracket_, tuplets_[i].bracket_);
+