\partCombine \cueDuring

Pierre-Luc Gauthier <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.general
Message-ID <CAPkan7eNdcn8_s5JTQjFEZJNX5SUJDdR4oQPf=if3h9TemONpg@mail.gmail.com>
Greetings :-)

(Just the subject of this email is nightmare material.)

I've always wanted a better, more native way to add cue notes to
\partCombine parts (e.g., the Flute 1-2 single-staff partCombined
part).

Take this MWE:

\addQuote "quote" {g'4}
\new Voice \cueDuring "quote" #DOWN {c''4}

If I understand correctly, the \cueDuring command sets \voiceOne in
the current voice and then creates a new cue voice context with (among
other things) the \voiceTwo command.

My strategy so far has been to "add" (using << >>) the actual cue
notes in a separate Voice = "cue". As we know, the \partCombine
command creates and displays multiple voices on its own ("one", "two",
"shared", etc.). So far so good, but the \voiceOne from earlier
doesn't get injected (of course) into the "currently displayed voice"
of the \partCombine command.

Is there a way to "strip" the voice creation (and the music content,
etc.) from the \cueDuring command, but keep its "actions" applied to
the "one", "two", etc. voices of the \partCombine?

(Jeez, I hope this makes sense to you all…)

Here is another MWE with a \partCombine:

\version "2.27.3"

\language "english"

quoteMe = \*4 {
  a'8 b' c''4 d'' c''~ |
  1 |
}
\addQuote "quoteMe" \quoteMe

partA = {
  R1*2

  e''4 d'' c''2~ |
  1 |

  R1
  e''4 d'' c''2~ |

  1 |
  R1
}

partB = {
  R1*2

  a'4 b' a'2~ |
  1 |

  R1*4
}

whom = {} % <>_\markup \teeny \italic "Quote"
cueNotesPart = {
  \whom
  \cueDuring "quoteMe" #DOWN {s1*2|}
  s1*2 |
  \whom
  \cueDuring "quoteMe" #DOWN {s1*2|}
  s1 |
  \whom
  \cueDuring "quoteMe" #DOWN {s1|}
}

<<
  \new Staff \with {
    instrumentName = "Quoted"
  } \new Voice \quoteMe

  \new Staff \with {
    instrumentName = "A"
  } \new Voice <<\partA \cueNotesPart>>

  \new Staff \with {
    instrumentName = "B"
  } \new Voice <<\partB \cueNotesPart>>

  \new Staff \with {
    instrumentName = "AB"
  } <<
    \partCombine
    <<
      % \¿filter? \cueNotesPart
      \partA
    >>
    <<
      % \¿filter? \cueNotesPart
      \partB
    >>
    \new Voice = "cue" \cueNotesPart
  >>
>>

Or maybe someone has a completely different approach to this?

Keep in mind that the only thing I write manually is the music itself,
with almost everything separated into its own variable. The rest —
parts and book creation — is fully automated (e.g., with quotes:
FluteI.pdf, FluteII.pdf, FluteI-II.pdf; and without quotes:
score.pdf). It can't be ad hoc for specific quotes — I have quoteParts
variables shared between multiple instruments.

Thanks for any pointers on the subject.

— Pierre-Luc Gauthier
partCombineQuotes.ly (text/x-lilypond, 959 B)
\version "2.27.3"

\language "english"

quoteMe = \*4 {
  a'8 b' c''4 d'' c''~ |
  1 |
}
\addQuote "quoteMe" \quoteMe

partA = {
  R1*2

  e''4 d'' c''2~ |
  1 |

  R1
  e''4 d'' c''2~ |

  1 |
  R1
}

partB = {
  R1*2

  a'4 b' a'2~ |
  1 |

  R1*4
}

whom = {} % <>_\markup \teeny \italic "Quote"
cueNotesPart = {
  \whom
  \cueDuring "quoteMe" #DOWN {s1*2|}
  s1*2 |
  \whom
  \cueDuring "quoteMe" #DOWN {s1*2|}
  s1 |
  \whom
  \cueDuring "quoteMe" #DOWN {s1|}
}

<<
  \new Staff \with {
    instrumentName = "Quoted"
  } \new Voice \quoteMe

  \new Staff \with {
    instrumentName = "A"
  } \new Voice <<\partA \cueNotesPart>>

  \new Staff \with {
    instrumentName = "B"
  } \new Voice <<\partB \cueNotesPart>>

  \new Staff \with {
    instrumentName = "AB"
  } <<
    \partCombine
    <<
      % \¿filter? \cueNotesPart
      \partA
    >>
    <<
      % \¿filter? \cueNotesPart
      \partB
    >>
    \new Voice = "cue" \cueNotesPart
  >>
>>
simplestQuote.png (image/png, 20.4 KB) - not displayed
partCombineQuotes.png (image/png, 296.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.