;;; define-music-display-methods.scm -- data for displaying music
;;; expressions using LilyPond notation.
;;;
-;;; Copyright (C) 2005--2012 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;; Copyright (C) 2005--2014 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(music->lily-string element parser))
#f)))
-(define (property-value->lily-string arg parser)
+(define-public (value->lily-string arg parser)
(cond ((ly:music? arg)
(music->lily-string arg parser))
((string? arg)
(format #f "#~s" arg))
((markup? arg)
(markup->lily-string arg))
+ ((ly:duration? arg)
+ (format #f "##{ ~a #}" (duration->lily-string arg #:force-duration #t)))
+ ((ly:pitch? arg)
+ (format #f "~a~a"
+ (note-name->lily-string arg parser)
+ (octave->lily-string arg)))
(else
(format #f "#~a" (scheme-expr->lily-string arg)))))
""
(format #f "~a . " (*current-context*)))
property
- (property-value->lily-string value parser)
+ (value->lily-string value parser)
(new-line->lily-string))))
(define-display-method PropertyUnset (expr parser)
(if (eqv? (*current-context*) 'Bottom)
(cons symbol properties)
(cons* (*current-context*) symbol properties))
- (property-value->lily-string value parser)
+ (value->lily-string value parser)
(new-line->lily-string))))
(define-display-method RevertProperty (expr parser)