Comment #12 on issue 4083 by [email protected]: \keepWithTag does not nest well
https://code.google.com/p/lilypond/issues/detail?id=4083

Re: #9, Trevor, you might have missed what "does not nest well" was intended to mean in the isssue subject. \keepWithTag works fine with nested {} and <<>> music; the difficulty is combining independent usages of \keepWithTag.

\keepWithTag A means remove music with any tags other than A, but as we add tags for different purposes, we no longer want to remove all other tags than A, just those for the same purpose as A. Now that the tags can be a list, we can make things work, if we consider all the uses of tags when we choose the list for each application of \keepWithTag.

What we still cannot do is apply \keepWithTag for one purpose (such as to make intermediate variables below) without knowing about all other uses of tags.

notes = \relative {
a'4 -\tag#'violin ^"pizz" -\tag#'flute ^"non legato" -\tag#'viola ^"con legno" \mp
  a a
  << \tag #'trills { c4 \trill }
     \tag #'expand { \repeat unfold 4 { d32 c } }
   >>
  <<\repeat unfold 6 b1
    \tag #'part {
      \set countPercentRepeats= ##t
      \hide PercentRepeat \repeat percent 6 s1} >> }

\keepWithTag part.violin.trills \notes

\new StaffGroup <<
  \keepWithTag violin.trills \notes
  \keepWithTag flute.trills \notes


\include "chooseWithTag.ly"
trillVersion = \clearTags trills \chooseWithTag trills \notes
expandVersion = \clearTags expand \removeWithTag trills \notes

\keepWithTag part.violin \trillVersion
\keepWithTag part.violin \expandVersion


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Reply via email to