(set! book-output-suffix newsuffix)
(make-music 'SequentialMusic 'void #t))
-%% why a function?
+%% \breathe is defined as a music function rather than an event identifier to
+%% ensure it gets useful input location information: as an event identifier,
+%% it would have to be wrapped in an EventChord to prevent it from being
+%% treated as a post_event by the parser
breathe =
#(define-music-function (parser location) ()
(_i "Insert a breath mark.")
- (make-music 'EventChord
- 'origin location
- 'elements (list (make-music 'BreathingEvent))))
+ (make-music 'BreathingEvent))
'page-label label))))
+language =
+#(define-music-function (parser location str) (string?)
+ (_i "Select note names language.")
+ (let ((language (assoc-get (string->symbol str)
+ language-pitch-names
+ '())))
+ (if (pair? language)
+ (begin
+ (if (ly:get-option 'verbose)
+ (ly:message (_ "Using ~a note names...") str))
+ (set! pitchnames language)
+ (ly:parser-set-note-names parser language))
+ (ly:warning (_ "Could not find language ~a. Ignoring.") str))
+ (make-music 'Music 'void #t)))
+
makeClusters =
#(define-music-function (parser location arg) (ly:music?)
(make-part-combine-music parser
(list part1 part2)))
-#(define (symbol-or-boolean? x) (or (symbol? x) (boolean? x)))
partcombineForce =
#(define-music-function (location parser type once) (symbol-or-boolean? boolean?)
(_i "Override the part-combiner.")