X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-music-display-methods.scm;h=a61c2e8b18e9895d7c0d9613f309427cb91d4768;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=a5ccd9284928289f37284e44b63b870280973c39;hpb=1b29d0ce3e3143bdc26504917578dc3f8b07e861;p=lilypond.git diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index a5ccd92849..a61c2e8b18 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -385,20 +385,6 @@ expression." (music->lily-string music)) (ly:music-property sim 'elements))))) -(define-extra-display-method SimultaneousMusic (expr) - "If `sim' is an \afterGrace expression, return \"\\afterGrace ...\". -Otherwise, return #f." - ;; TODO: do something with afterGraceFraction? - (with-music-match (expr (music 'SimultaneousMusic - elements (?before-grace - (music 'SequentialMusic - elements ((music 'SkipMusic) - (music 'GraceMusic - element ?grace)))))) - (format #f "\\afterGrace ~a ~a" - (music->lily-string ?before-grace) - (music->lily-string ?grace)))) - ;;; ;;; Chords ;;; @@ -551,10 +537,9 @@ Otherwise, return #f." (music->lily-string (ly:music-property chord 'element))) (define-display-method MarkEvent (mark) - (let ((label (ly:music-property mark 'label))) - (if (null? label) - "\\mark \\default" - (format #f "\\mark ~a" (markup->lily-string label))))) + (let ((label (ly:music-property mark 'label #f))) + (string-append "\\mark " + (if label (value->lily-string label) "\\default")))) (define-display-method KeyChangeEvent (key) (let ((pitch-alist (ly:music-property key 'pitch-alist)) @@ -739,6 +724,26 @@ Otherwise, return #f." (parameterize ((*current-context* ctype)) (music->lily-string music))))) +;; \afterGrace +(define-extra-display-method ContextSpeccedMusic (expr) + "If `sim' is an \afterGrace expression, return \"\\afterGrace ...\". +Otherwise, return #f." + ;; TODO: do something with afterGraceFraction? + (with-music-match + (expr (music 'ContextSpeccedMusic + context-type 'Bottom + element + (music 'SimultaneousMusic + elements (?before-grace + (music 'SequentialMusic + elements ((music 'SkipMusic) + (music 'GraceMusic + element ?grace))))))) + (format #f "\\afterGrace ~a ~a" + (music->lily-string ?before-grace) + (music->lily-string ?grace)))) + + ;; special cases: \figures \lyrics \drums (define-extra-display-method ContextSpeccedMusic (expr) (with-music-match (expr (music 'ContextSpeccedMusic @@ -779,8 +784,6 @@ Otherwise, return #f." (define-public (value->lily-string arg) (cond ((ly:music? arg) (music->lily-string arg)) - ((string? arg) - (format #f "#~s" arg)) ((markup? arg) (markup->lily-string arg)) ((ly:duration? arg) @@ -800,9 +803,9 @@ Otherwise, return #f." (if (and (not (null? once))) "\\once " "") - (if (eqv? (*current-context*) 'Bottom) + (if (eq? (*current-context*) 'Bottom) "" - (format #f "~a . " (*current-context*))) + (format #f "~a." (*current-context*))) property (value->lily-string value) (new-line->lily-string)))) @@ -810,9 +813,9 @@ Otherwise, return #f." (define-display-method PropertyUnset (expr) (format #f "~a\\unset ~a~a~a" (if (ly:music-property expr 'once #f) "\\once " "") - (if (eqv? (*current-context*) 'Bottom) + (if (eq? (*current-context*) 'Bottom) "" - (format #f "~a . " (*current-context*))) + (format #f "~a." (*current-context*))) (ly:music-property expr 'symbol) (new-line->lily-string))) @@ -1047,7 +1050,8 @@ Otherwise, return #f." (music 'ContextSpeccedMusic context-id "null" context-type 'NullVoice) - ?pc-music)))) + ?pc-music + ?pc-marks)))) (with-music-match (?pc-music (music 'PartCombineMusic)) (format #f "~a" (music->lily-string ?pc-music)))))