X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fmusic-functions-init.ly;h=d41da5b5b6c925c8332ba498875d8b6deaffbdb0;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=783bed0288437e514e80486317c0f78a2e813744;hpb=f3d08b80817cd1b23a996ca5781b1fa0517ffbac;p=lilypond.git diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index 783bed0288..d41da5b5b6 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -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.