-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)
-{
- static Stream_event *mmrest;
- if (!mmrest)
- {
- mmrest = new Stream_event (ly_symbol2scm ("multi-measure-rest-event"));
- mmrest->set_property ("duration", SCM_EOL);
- }
-
- handles_[in].get_outlet ()->event_source ()->broadcast (mmrest);
-}
-
-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)
- {
- static Stream_event *event;
- if (!event)
- event = new Stream_event (ly_symbol2scm ("solo1-event"));
-
- first_iter_->get_outlet ()->event_source ()->broadcast (event);
- }
- playing_state_ = SOLO1;
- }
-}
-