lilypond-auto
[Top][All Lists]
Advanced

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

[Lilypond-auto] Issue 4083 in lilypond: \keepWithTag does not nest well


From: lilypond
Subject: [Lilypond-auto] Issue 4083 in lilypond: \keepWithTag does not nest well
Date: Sat, 30 Aug 2014 10:31:05 +0000

Status: Accepted
Owner: ----
Labels: Type-Enhancement

New issue 4083 by address@hidden: \keepWithTag does not nest well
https://code.google.com/p/lilypond/issues/detail?id=4083

With multiple independent uses for tags, \keepWithTag becomes almost useless because it will delete material belonging to independent tags. In particular when tags are used internally in music functions used for structuring a document, the interference can get annoying.

There would be several possibilities for reorganizing this.

a) Provide a declaration \tagLayer #'(divI divII unisono) that declares the given tags as belonging to one layer. \keepWithTag will only remove material with tags in the same layer. Should be pretty robust and fully backwards-compatible but relies on global side effects.

b) \keepWithTag only removes tagged music without the given tag(s) in sequential or parallel music only when one of the named tags is actually present on one of the other elements of the list. That's probably my favorite though it will likely mandate that you place all the tags in one construct or via one function.

c) \keepWithTag, while keeping one piece of tagged music, removes all tags on the same music so that another call of \keepWithTag with a different tag will no longer see them. That one seems complex to explain and would likely either require using \keepWithTag calls in a certain order (in->out or was it the other way round) or would use a "commutatable" mechanism that would likely be even harder to explain.

I've been toying with variants of c) mentally but while it would likely be more backwards-compatible than b) concerning single tag layers (which are pretty much the only thing that will work satisfactorily right now), it's probably too hard to explain.

--
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

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