(music-invert around to music))
mark =
-#(define-music-function
- (label) ((number-or-markup?))
- "Make the music for the \\mark command."
- (let* ((set (and (integer? label)
- (context-spec-music (make-property-set 'rehearsalMark label)
- 'Score)))
- (ev (make-music 'MarkEvent
- 'origin (*location*))))
-
- (if set
- (make-sequential-music (list set ev))
- (begin
- (if label (set! (ly:music-property ev 'label) label))
- ev))))
+#(define-music-function (label) ((number-or-markup?))
+ "Make the music for the \\mark command."
+ (if label
+ (make-music 'MarkEvent 'label label)
+ (make-music 'MarkEvent)))
markupMap =
#(define-music-function (path markupfun music)
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.