Menu

#1823 Partcombine does not pick up quoted notes

Accepted
nobody
Defect
2017-09-25
2011-08-17
Anonymous
No

Originally created by: *anonymous

Originally created by: k-ohara5...@oco.net

The quoted notes do not appear; partcombine thinks the second part is solo.

\addQuote "A" {c' d' e' f' c' d' e' f'}
\partcombine {c'1 \quoteDuring "A" s1 } {g1 g1}

Source report
<http://lists.gnu.org/archive/html/bug-lilypond/2011-08/msg00425.html>

I'm suggesting 'Postponed' *not* as lack of importance, but to reflect that it is not likely to be resolved soon, and users could benefit from a "known issue" mention in the manual.

1 Attachments

Discussion

  • Google Importer

    Google Importer - 2013-09-11

    Originally posted by: dak@gnu.org

    \partcombine does a complete iteration of the expression so it would make some sense if it did the equivalent of
    \addQuote "A" {c' d' e' f' c' d' e' f'}
    \partcombine {c'1 #(ly:score-music #{ \score { { \quoteDuring "A" s1 } } #})}
                 {g1 g1}
    However, since \partcombine is a music construct that is executed independent of any later iteration, this construct will have the timing of the quote be respective to the start of \partcombine rather than the start of the resulting music.

    So realistically this could only be made to work if \partcombine also did its work at the scorification stage, after quotes have been expanded.  This would also have the advantage of not requiring a separate global context and iteration, and the disadvantage of being a really big change.

     
  • Google Importer

    Google Importer - 2013-09-11

    Originally posted by: k-ohara5...@oco.net

    The timing of the quote looks with the construct above looks correct to me.

    flute = \transpose c c' {c4 e f a g b c'2 }
    \addQuote "A" \flute
    \score {
    << \new Staff \flute
      \new Staff {
        c'2
        \partcombine
         { f'2 #(ly:score-music #{ \score { { \quoteDuring "A" s2 } } #}) g' }
         {c' g c' } } >> }

     
  • Google Importer

    Google Importer - 2013-09-12

    Originally posted by: dak@gnu.org

    What evil trickery is that?

     
  • Google Importer

    Google Importer - 2013-09-12

    Originally posted by: dak@gnu.org

    Ah yes, I think I remember: the actual QuoteMusic events are not replaced by either \partcombine nor scorifying but stay in the score and make it into final iteration (where the second scorification will correct their timing).

    The problem is that the part combiner decisions are made based on the first scorification, so the switches to solo, unisono, a2 and so on will all be based on a time-shifted fantasy: the partcombiner also does not replace the original music (or its generated events) but rather adds his own part combine switching events into it.

    And those will be based on a wrong picture of the quoted music.  So if I replace the first two notes in the flute passage with a half rest.  Nope, that isn't it either.

    Huh.

     
  • Google Importer

    Google Importer - 2015-07-19

    Originally posted by: simon.al...@mail.de

    (No comment was entered for this change.)

    Labels: -Priority-Postponed

     
  • David Kastrup

    David Kastrup - 2017-09-25

    Can't remember what the "Nope that isn't it either. Huh." bit was about. Looking at it from scratch makes it appear to me that all that is really needed to make this work is letting the partcombine iteration use the current musical time as its starting time and also let it perform the part of scorification responsible for quote replacement (it does a few other scorification steps already).

    Alternatively, do the quote replacement only in cognizance of the starting time, but that seems somewhat awkward. Put the offset in a Global/Score context property?