}
if (current)
- if (last)
- {
- Context *dest
- = it->get_outlet ()->find_create_context (to_type_sym, to_id, SCM_EOL);
- current->remove_context (last);
- dest->add_context (last);
- }
- else
- {
- /*
- We could change the current translator's id, but that would make
- errors hard to catch
-
- */
- }
- else;
+ {
+ if (last)
+ {
+ Context *dest
+ = it->get_outlet ()->find_create_context (to_type_sym, to_id, SCM_EOL);
+
+ send_stream_event (last, "ChangeParent", get_music ()->origin (),
+ ly_symbol2scm ("context"), dest->self_scm ());
+ }
+ else
+ {
+ /*
+ We could change the current translator's id, but that would make
+ errors hard to catch
+
+ */
+ ;
+ }
+ }
}
void
Moment now = get_outlet ()->now_mom ();
Moment *splitm = 0;
+ if (start_moment_.main_part_.is_infinity () && start_moment_ < 0)
+ start_moment_ = now;
for (; scm_is_pair (split_list_); split_list_ = scm_cdr (split_list_))
{