X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpart-combine-iterator.cc;h=c0c9acc89306268535dca2c3a13b2fc56e0b4d54;hb=335f7106bd0e02670486652c44a4de6d2332efbd;hp=e7bece69cb325579d49407b4b8d0992066b024bc;hpb=bdfb3700c62cf27c650ed2029361a455a7c12233;p=lilypond.git diff --git a/lily/part-combine-iterator.cc b/lily/part-combine-iterator.cc index e7bece69cb..c0c9acc893 100644 --- a/lily/part-combine-iterator.cc +++ b/lily/part-combine-iterator.cc @@ -224,8 +224,8 @@ Part_combine_iterator::kill_mmrest (int in) if (!mmrest_event_) { mmrest_event_ = new Stream_event - (scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), - ly_symbol2scm ("multi-measure-rest-event"))); + (handles_[in].get_context ()->make_event_class + (ly_symbol2scm ("multi-measure-rest-event"))); mmrest_event_->set_property ("duration", SCM_EOL); mmrest_event_->unprotect (); } @@ -256,16 +256,15 @@ Part_combine_iterator::unisono (bool silent) if (playing_state_ != UNISONO && newstate == UNISONO) { + Context *out = (last_playing_ == SOLO2 ? second_iter_ : first_iter_) + ->get_outlet (); if (!unisono_event_) { unisono_event_ = new Stream_event - (scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), - ly_symbol2scm ("unisono-event"))); + (out->make_event_class (ly_symbol2scm ("unisono-event"))); unisono_event_->unprotect (); } - Context *out = (last_playing_ == SOLO2 ? second_iter_ : first_iter_) - ->get_outlet (); out->event_source ()->broadcast (unisono_event_); playing_state_ = UNISONO; } @@ -291,8 +290,8 @@ Part_combine_iterator::solo1 () if (!solo_one_event_) { solo_one_event_ = new Stream_event - (scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), - ly_symbol2scm ("solo-one-event"))); + (first_iter_->get_outlet ()->make_event_class + (ly_symbol2scm ("solo-one-event"))); solo_one_event_->unprotect (); } @@ -318,8 +317,8 @@ Part_combine_iterator::solo2 () if (!solo_two_event_) { solo_two_event_ = new Stream_event - (scm_call_1 (ly_lily_module_constant ("ly:make-event-class"), - ly_symbol2scm ("solo-two-event"))); + (second_iter_->get_outlet ()->make_event_class + (ly_symbol2scm ("solo-two-event"))); solo_two_event_->unprotect (); }