+ 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 ();
+
+ if (mi->ok ())
+ {
+ *tail = scm_cons (scm_iter, *tail);
+ tail = SCM_CDRLOC (*tail);
+ }
+ else
+ mi->quit ();