]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 5114/2: Add a \voices command
authorDavid Kastrup <dak@gnu.org>
Sat, 1 Apr 2017 11:25:57 +0000 (13:25 +0200)
committerDavid Kastrup <dak@gnu.org>
Fri, 14 Apr 2017 08:06:36 +0000 (10:06 +0200)
ly/music-functions-init.ly

index 783bed0288437e514e80486317c0f78a2e813744..d41da5b5b6c925c8332ba498875d8b6deaffbdb0 100644 (file)
@@ -1986,6 +1986,28 @@ entries are @code{volta}, @code{tremolo} or @code{percent}.  Multiple entries
 are possible.")
    (unfold-repeats types music))
 
+voices =
+#(define-music-function (ids music) (key-list? ly:music?)
+   (_i "Take the given key list of numbers (indicating the use of
+@samp{\\voiceOne}@dots{}) or symbols (indicating voice names,
+typically converted from strings by argument list processing)
+and assign the following @code{\\\\}-separated music to
+contexts according to that list.  Named rather than numbered
+contexts can be used for continuing one voice (for the sake of
+spanners and lyrics), usually requiring a @code{\\voiceOne}-style
+override at the beginning of the passage and a @code{\\oneVoice}
+override at its end.
+
+The default
+@example
+<< @dots{} \\\\ @dots{} \\\\ @dots{} >>
+@end example
+construct would correspond to
+@example
+\\voices 1,2,3 << @dots{} \\\\ @dots{} \\\\ @dots{} >>
+@end example")
+   (voicify-music music ids))
+
 void =
 #(define-void-function (arg) (scheme?)
    (_i "Accept a scheme argument, return a void expression.