"Dan Eble" <[email protected]> writes:
> A reasonable question. When it comes time to change contexts, the
> part combiner searches for the next context relative to the current
> context, and there are no special cases. If this were to escape the
> current Staff in a multi-staff score, it would not be able to recover.
> ~~~
> Context *
> Part_combine_part_iterator::find_voice (const string &id)
> {
> // Find a Voice among the siblings of the current outlet. (Well, this might
> // also find a sibling's descendant, but that should not be a problem.)
> Context *c = get_outlet ()->get_parent_context ();
> if (c)
> return find_context_below (c, ly_symbol2scm("Voice"), id);
> programming_error ("no parent context");
> return 0;
> }
Well, that's the code since
commit c962a0162c67d8b67593c848d08c9345c8b045f0
Author: Dan Eble <[email protected]>
Date: Sat May 30 12:46:44 2015 -0400
Issue 4485: Refactor \partcombine and \autochange iterators
Move the \partcombine context state machine from C++ to Scheme and
move the part-specific work into a new Part_combine_part_iterator.
What remains in Part_combine_iterator is multi-measure rest handling.
The part-specific work is now nothing more than changing context at
specified times, which is basically what \autochange does. There are
still some differences, but most of the implementation of both is now
in the common base Change_sequence_iterator.
so it's apparently not an inherent part of the historic design. The
question basically is whether "there are no special cases" does not come
at a price here since the most reliable way to ignore all events
definitely is moving out of the current Staff.
--
David Kastrup
---
** [issues:#5389] partcombine warns about unterminated slur**
**Status:** Accepted
**Labels:** partcombine
**Created:** Thu Jul 19, 2018 12:58 PM UTC by pkx166h
**Last Updated:** Thu Jul 26, 2018 11:13 PM UTC
**Owner:** nobody
Good morning,
I've been reading up on partcombine recently and I wanted to try out a few
examples from the documentation to help me really understand the command,
however I get this error with one example:
From:
http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#automatic-part-combining
Error:
warning: unterminated slur r2 g'4( f8 e) |
-------
I have not modified the code at all, just copy and paste.
I thought it was due to some voice-issue but I can't figure out how to fix.
Thanks for any help.
Code:
~~~
musicUp = \relative c'' {
\time 4/4
a4 c4.( g8) a4 |
g4 e' g,( a8 b) |
c b a2.
} % begin verbatim
musicDown = \relative c'' {
g4 e4.( d8) c4 |
r2 g'4( f8 e) |
d2 \stemDown a
}
\score {
<<
\new Staff \with { instrumentName = #"Standard polyphony" }
<< \musicUp \\ \musicDown >>
\new Staff \with {
instrumentName = #"PartCombine without text"
printPartCombineTexts = ##f
}
\partcombine \musicUp \musicDown
\new Staff \with { instrumentName = #"PartCombine with text" }
\partcombine \musicUp \musicDown
>>
\layout {
indent = 6.0\cm
\context {
\Score
\override SystemStartBar.collapse-height = #30
}
}
}
~~~
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/testlilyissues/issues/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is
a mailing list, you can unsubscribe from the mailing list.------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Testlilyissues-auto mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto