summaryrefslogtreecommitdiff
path: root/scm
diff options
context:
space:
mode:
authorMark Knoop <mark@opus11.net>2016-09-08 18:56:16 +0100
committerJames Lowe <pkx166h@gmail.com>2016-09-08 18:56:40 +0100
commit5944d20489bb5b8e4c4907fa3b3bcae9ec275ccb (patch)
tree6ad0b84f5685085aab33faa42d43e4f26aff3d23 /scm
parent93f3d637efbc038b837cf64fae0872e873e4f039 (diff)
Keep a staff alive with multiple layers
This allows the `VerticalAxisGroup.remove-layer' property to accept a list of values. The layer will stay alive with any other member of the Keep_alive_together_engrave group with a remove-layer value in that list. The principal reason for this patch was to allow the use of MarkLine contexts in a Frenched score, where the context should stay alive with any single staff in a StaffGroup. This implementation should also allow additional flexibility with ossia and divisi staves.
Diffstat (limited to 'scm')
-rw-r--r--scm/define-grob-properties.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm
index 7ca44b6f3d..d55ab4c8c7 100644
--- a/scm/define-grob-properties.scm
+++ b/scm/define-grob-properties.scm
@@ -809,12 +809,16 @@ number, the quicker the slur attains its @code{height-limit}.")
interesting items.")
(remove-first ,boolean? "Remove the first staff of an orchestral
score?")
- (remove-layer ,integer? "The @code{Keep_alive_together_engraver}
-removes all @code{VerticalAxisGroup} grobs with a @code{remove-layer}
-larger than the smallest retained @code{remove-layer}. Set to
-@code{#f} to make a layer invisible to the
-@code{Keep_alive_together_engraver}, set to @code{'()} to have it not
-participate in the layering decisions.")
+ (remove-layer ,key? "When set as a positive integer, the
+@code{Keep_alive_together_engraver} removes all
+@code{VerticalAxisGroup} grobs with a @code{remove-layer} larger than
+the smallest retained @code{remove-layer}. Set to @code{#f} to make a
+layer independent of the @code{Keep_alive_together_engraver}. Set to
+@code{'()}, the layer does not participate in the layering decisions.
+The property can also be set as a symbol for common behaviors:
+@code{#'any} to keep the layer alive with any other layer in the
+group; @code{#'above} or @code{#'below} to keep the layer alive with
+the context immediately before or after it, respectively.")
(replacement-alist ,list? "Alist of strings.
The key is a string of the pattern to be replaced. The value is a
string of what should be displayed. Useful for ligatures.")