- SCM start_event = scm_call_2 (ly_lily_module_constant ("make-span-event"), tuplet_symbol, scm_from_int (START));
- Music *start = unsmob_music (start_event);
- start->set_spot (*origin);
- start->set_property ("numerator", mus->get_property ("numerator"));
- start->set_property ("denominator", mus->get_property ("denominator"));
- start_event = scm_call_1 (ly_lily_module_constant ("make-event-chord"), scm_list_1 (start_event));
- unsmob_music (start_event)->set_spot (*origin);
-
- SCM stop_event = scm_call_2 (ly_lily_module_constant ("make-span-event"), tuplet_symbol, scm_from_int (STOP));
- unsmob_music (stop_event)->set_spot (*origin);
- stop_event = scm_call_1 (ly_lily_module_constant ("make-event-chord"), scm_list_1 (stop_event));
- unsmob_music (stop_event)->set_spot (*origin);
-
- return scm_list_3 (start_event, child->self_scm (), stop_event);
+ SCM start_scm = scm_call_2 (ly_lily_module_constant ("make-span-event"), tuplet_symbol, scm_from_int (START));
+ start_ = unsmob_music (start_scm);
+ start_->set_spot (*origin);
+ start_->set_property ("numerator", mus->get_property ("numerator"));
+ start_->set_property ("denominator", mus->get_property ("denominator"));
+ start_->set_property ("tweaks", mus->get_property ("tweaks"));
+
+
+ SCM stop_scm = scm_call_2 (ly_lily_module_constant ("make-span-event"), tuplet_symbol, scm_from_int (STOP));
+ stop_ = unsmob_music (stop_scm);
+ stop_->set_spot (*origin);
+
+ Moment *mp = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration"));
+
+ if (mp)
+ {
+ spanner_duration_ = mp->main_part_;
+ next_split_mom_ = spanner_duration_;
+ }
+
+ Sequential_iterator::construct_children ();
+}
+
+SCM
+Time_scaled_music_iterator::get_music_list () const
+{
+ Music *mus = get_music ();
+ SCM child = mus->get_property ("element");
+
+ return scm_list_3 (start_->self_scm (), child, stop_->self_scm ());
+}
+
+void
+Time_scaled_music_iterator::derived_mark () const
+{
+ if (start_)
+ scm_gc_mark (start_->self_scm ());
+ if (stop_)
+ scm_gc_mark (stop_->self_scm ());
+
+ Sequential_iterator::derived_mark ();