[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: #5389 part

From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: #5389 partcombine warns about unterminated slur
Date: Fri, 27 Jul 2018 22:57:45 -0000

"Dan Eble" address@hidden 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.

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.)
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 address@hidden
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:



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.


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 {
      \override SystemStartBar.collapse-height = #30

Sent from because address@hidden is subscribed to

To unsubscribe from further messages, a project admin can change settings at 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,!
Testlilyissues-auto mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]