diff options
author | Mark Knoop <mark@opus11.net> | 2016-09-08 18:56:16 +0100 |
---|---|---|
committer | James Lowe <pkx166h@gmail.com> | 2016-09-08 18:56:40 +0100 |
commit | 5944d20489bb5b8e4c4907fa3b3bcae9ec275ccb (patch) | |
tree | 6ad0b84f5685085aab33faa42d43e4f26aff3d23 /scm | |
parent | 93f3d637efbc038b837cf64fae0872e873e4f039 (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.scm | 16 |
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.") |