- Music_iterator * mi = get_iterator_p (i->car_);
- if (mi->ok())
- {
-#if 0
- if (sim->translator_type_str_.empty_b ())
- set_translator (mi->report_to_l()->ancestor_l (0)); // huh?
-#endif
+ Music *mus = unsmob_music (scm_car (i));
+
+ SCM scm_iter = get_static_get_iterator (mus);
+ Music_iterator *mi = unsmob_iterator (scm_iter);
+
+ /* if create_separate_contexts_ is set, create a new context with the
+ number number as name */
+
+ SCM name = ly_symbol2scm (get_outlet ()->context_name ().to_str0 ());
+ Context *t = (j && create_separate_contexts_)
+ ? get_outlet ()->find_create_context (name, to_string (j), SCM_EOL)
+ : get_outlet ();
+
+ if (!t)
+ t = get_outlet ();
+
+ mi->init_translator (mus, t);
+ mi->construct_children ();