if (!scm_is_number (m))
m = get_property ("rehearsalMark");
- if (scm_is_integer (m)
- && scm_is_true (scm_exact_p (m)))
+ if (scm_is_number (m))
{
- int mark_count = scm_to_int (m);
- mark_count++;
- context ()->set_property ("rehearsalMark",
- scm_from_int (mark_count));
+ context ()->set_property ("rehearsalMark", scm_oneplus (m));
+ m = scm_call_2 (proc, m, context ()->self_scm ());
}
-
- if (scm_is_number (m))
- m = scm_call_2 (proc, m, context ()->self_scm ());
else
/* FIXME: constant error message. */
warning (_ ("rehearsalMark must have integer value"));
mark =
#(define-music-function
- (label) ((scheme? '()))
+ (label) ((number-or-markup?))
"Make the music for the \\mark command."
(let* ((set (and (integer? label)
(context-spec-music (make-property-set 'rehearsalMark label)
(if set
(make-sequential-music (list set ev))
(begin
- (set! (ly:music-property ev 'label) label)
+ (if label (set! (ly:music-property ev 'label) label))
ev))))
musicMap =