From: Reinhold Kainhofer Date: Fri, 26 Nov 2010 15:37:52 +0000 (+0100) Subject: PartCombine: Shuffle functions around so unisono/solo1/solo2/chords_together/apart... X-Git-Tag: release/2.13.41-1~3^2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8e43cb8e56e3caf52d62f7f4d73b2db9cdf45c3b;p=lilypond.git PartCombine: Shuffle functions around so unisono/solo1/solo2/chords_together/apart are together in the code; No code changes --- diff --git a/lily/part-combine-iterator.cc b/lily/part-combine-iterator.cc index ac8b4c0682..7f42971b0c 100644 --- a/lily/part-combine-iterator.cc +++ b/lily/part-combine-iterator.cc @@ -184,61 +184,6 @@ Part_combine_iterator::ok () const return first_iter_->ok () || second_iter_->ok (); } -void -Part_combine_iterator::chords_together () -{ - if (state_ == TOGETHER) - return; - else - { - playing_state_ = TOGETHER; - state_ = TOGETHER; - - substitute_both (CONTEXT_SHARED, CONTEXT_SHARED); - } -} - -void -Part_combine_iterator::kill_mmrest (int in) -{ - - if (!mmrest_event_) - { - mmrest_event_ = new Stream_event (ly_symbol2scm ("multi-measure-rest-event")); - mmrest_event_->set_property ("duration", SCM_EOL); - mmrest_event_->unprotect (); - } - - handles_[in].get_outlet ()->event_source ()->broadcast (mmrest_event_); -} - -void -Part_combine_iterator::solo1 () -{ - if (state_ == SOLO1) - return; - else - { - state_ = SOLO1; - substitute_both (CONTEXT_SOLO, CONTEXT_NULL); - - kill_mmrest (CONTEXT_TWO); - kill_mmrest (CONTEXT_SHARED); - - if (playing_state_ != SOLO1) - { - if (!solo_one_event_) - { - solo_one_event_ = new Stream_event (ly_symbol2scm ("solo-one-event")); - solo_one_event_->unprotect (); - } - - first_iter_->get_outlet ()->event_source ()->broadcast (solo_one_event_); - } - playing_state_ = SOLO1; - } -} - void Part_combine_iterator::substitute_both (Outlet_type to1, Outlet_type to2) @@ -261,6 +206,20 @@ Part_combine_iterator::substitute_both (Outlet_type to1, } } +void +Part_combine_iterator::kill_mmrest (int in) +{ + + if (!mmrest_event_) + { + mmrest_event_ = new Stream_event (ly_symbol2scm ("multi-measure-rest-event")); + mmrest_event_->set_property ("duration", SCM_EOL); + mmrest_event_->unprotect (); + } + + handles_[in].get_outlet ()->event_source ()->broadcast (mmrest_event_); +} + void Part_combine_iterator::unisono (bool silent) { @@ -301,6 +260,33 @@ Part_combine_iterator::unisono (bool silent) } } +void +Part_combine_iterator::solo1 () +{ + if (state_ == SOLO1) + return; + else + { + state_ = SOLO1; + substitute_both (CONTEXT_SOLO, CONTEXT_NULL); + + kill_mmrest (CONTEXT_TWO); + kill_mmrest (CONTEXT_SHARED); + + if (playing_state_ != SOLO1) + { + if (!solo_one_event_) + { + solo_one_event_ = new Stream_event (ly_symbol2scm ("solo-one-event")); + solo_one_event_->unprotect (); + } + + first_iter_->get_outlet ()->event_source ()->broadcast (solo_one_event_); + } + playing_state_ = SOLO1; + } +} + void Part_combine_iterator::solo2 () { @@ -326,6 +312,20 @@ Part_combine_iterator::solo2 () } } +void +Part_combine_iterator::chords_together () +{ + if (state_ == TOGETHER) + return; + else + { + playing_state_ = TOGETHER; + state_ = TOGETHER; + + substitute_both (CONTEXT_SHARED, CONTEXT_SHARED); + } +} + void Part_combine_iterator::apart (bool silent) {