;;; define-music-display-methods.scm -- data for displaying music
;;; expressions using LilyPond notation.
;;;
-;;; Copyright (C) 2005--2010 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;; Copyright (C) 2005--2011 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
(define-public (markup->lily-string markup-expr)
- "Return a string describing, in LilyPond syntax, the given markup expression."
+ "Return a string describing, in LilyPond syntax, the given markup
+expression."
(define (proc->command proc)
(let ((cmd-markup (symbol->string (procedure-name proc))))
(substring cmd-markup 0 (- (string-length cmd-markup)
(format #f "\\tempo ~a ~a = ~a"
(scheme-expr->lily-string ?unit-text)
(duration->lily-string ?unit-duration #:force-duration #t)
- ?unit-count))
+ (if (number-pair? ?unit-count)
+ (format #f "~a ~~ ~a"
+ (car ?unit-count)
+ (cdr ?unit-count))
+ ?unit-count)))
(with-music-match (expr (music 'ContextSpeccedMusic
element (music 'SequentialMusic
elements ((music 'PropertyUnset
symbol 'tempoUnitCount)))))
(format #f "\\tempo ~a = ~a"
(duration->lily-string ?unit-duration #:force-duration #t)
- ?unit-count))
+ (if (number-pair? ?unit-count)
+ (format #f "~a ~~ ~a"
+ (car ?unit-count)
+ (cdr ?unit-count))
+ ?unit-count)))
(with-music-match (expr (music 'ContextSpeccedMusic
element (music 'SequentialMusic
elements ((music 'PropertySet
;;; \clef
(define clef-name-alist #f)
(define-public (memoize-clef-names clefs)
- "Initialize `clef-name-alist', if not already set."
+ "Initialize @code{clef-name-alist}, if not already set."
(if (not clef-name-alist)
(set! clef-name-alist
(map (lambda (name+vals)
clefs))))
(define-extra-display-method ContextSpeccedMusic (expr parser)
- "If `expr' is a clef change, return \"\\clef ...\"
-Otherwise, return #f."
+ "If @var{expr} is a clef change, return \"\\clef ...\".
+Otherwise, return @code{#f}."
(with-music-match (expr (music 'ContextSpeccedMusic
context-type 'Staff
element (music 'SequentialMusic