- if (m->is_mus_type ("repeated-music")
- && !repeat_
- && m->get_property ("iterator-ctor")
- == Percent_repeat_iterator::constructor_proc)
- {
- body_length_ = Repeated_music::body_get_length (m);
- int count = Repeated_music::repeat_count (m);
-
- Moment now = now_mom ();
- start_mom_ = now;
- stop_mom_ = start_mom_ + Moment (count) * body_length_;
- next_moment_ = start_mom_ + body_length_;
-
- Moment meas_length
- = robust_scm2moment (get_property ("measureLength"), Moment (0));
- if (body_length_ < meas_length)
- {
- repeat_ = m;
- }
- else
- return false;
-
- Global_context *global = get_global_context ();
- for (int i = 0; i < count; i++)
- global->add_moment_to_process (next_moment_ + Moment (i) * body_length_);
-
- return true;
- }
-
- return false;
+ /*todo: separate events for percent and slash */
+ Moment meas_length
+ = robust_scm2moment (get_property ("measureLength"), Moment (0));
+
+ if (get_event_length (ev) < meas_length)
+ ASSIGN_EVENT_ONCE (slash_, ev);
+
+ /*
+ don't warn if nothing happens: this can happen if there are whole
+ measure repeats.
+ */