lilypond-user
[Top][All Lists]
Advanced

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

Re: addQuote/quoteDuring plus \partcombine doesn't accurately indicate a


From: Malte Meyn
Subject: Re: addQuote/quoteDuring plus \partcombine doesn't accurately indicate a2 passage
Date: Fri, 12 Aug 2016 20:39:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

Am 12.08.2016 um 15:48 schrieb Kieren MacMillan:
My expectation (and desires) would be that it would say “a2” (or whatever the 
aDueText is) in m1.
Instead, it says “solo” (or whatever the soloText is).

Am I misusing either the quote mechanism or the partcombine mechanism? Or is 
this expected behaviour, and if so, is there a mechanism to automatically 
handle such a circumstance such that it accurately indicates who is playing m1?

I think the problem is that \quoteDuring sets only a QuoteMusic event instead of copying music. This is also why quotes are not transitive, i. e. if B quotes A and C quotes B *at the same time* the music of A doesn’t appear in C.

I made a hacky workaround that redefines addQuote and defines a new function \replaceQuotes that replaces QuoteMusic events by actual music. This has some limitations though: You have to use \addQuote on every instrument, even if it isn’t quoted. And the name of the quote changes the name of the variable; see lines 168 to 171 of the attached file. (The file alignTo.ily mentioned at line 172ff. is another hack of mine which you don’t need.) And you have to call \replaceQuotes by hand. Probably there are some other bugs/limitations but maybe it helps ;)

Of course it would be nice if LilyPond allowed quotes that really copy the quoted music to the quoting instrument.

%%%%%%%% this is how to use the solution

\version "2.19.46"
\include "transitiveReplace.ily"

hornI = {
  c'4 4 4 4
  d'4 4 4 4
}
\addQuote "hornI" \hornI

hornII = \displayMusic {
  \quoteDuring "hornI" s1
  b4 4 4 4
}
\addQuote "hornII" \hornII

\replaceQuotes

\score {
  \new Staff \partcombine \hornI \hornII
}

Attachment: transitiveReplace.ily
Description: Text document


reply via email to

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