X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdisplay-lily.scm;h=9536c3dd42b25b626dd0300b8f7f9a9cf31f80a6;hb=fea33b81da974ff0627843dfc88a00b49cd2323c;hp=fa87f1c7f919618ee1128cada9a490a88b05ee08;hpb=3c6c00c08ff31f57ec8d88450b4e4e7917bc4f3e;p=lilypond.git diff --git a/scm/display-lily.scm b/scm/display-lily.scm index fa87f1c7f9..9536c3dd42 100644 --- a/scm/display-lily.scm +++ b/scm/display-lily.scm @@ -2,7 +2,7 @@ ;;; ;;; ;;; -;;; Copyright (C) 2005--2011 Nicolas Sceaux +;;; Copyright (C) 2005--2012 Nicolas Sceaux ;;; ;;; - This file defines the procedures used to define display methods for each @@ -79,6 +79,15 @@ display method will be called." (format #f "~a\\tag #'~a" (if post-event? "-" "") tag)) (ly:music-property expr 'tags)))) +(define* (tweaks->lily-string expr #:optional (post-event? #f)) + (format #f "~{~a ~}" + (map (lambda (tweak) + (format #f "~a\\tweak #'~a #~a" + (if post-event? "-" "") + (car tweak) + (scheme-expr->lily-string (cdr tweak)))) + (ly:music-property expr 'tweaks)))) + (define-public (music->lily-string expr parser) "Print @var{expr}, a music expression, in LilyPond syntax." (if (ly:music? expr) @@ -90,8 +99,9 @@ display method will be called." (proc expr parser)) procs)))) (if result-string - (format #f "~a~a" - (tag->lily-string expr (post-event? expr)) + (format #f "~a~a~a" + (tag->lily-string expr (post-event? expr)) + (tweaks->lily-string expr (post-event? expr)) result-string) (format #f "%{ Print method not implemented for music type ~a %}" music-type))) @@ -296,4 +306,5 @@ inside body." ((make-music-type-predicate-aux (cdr mtypes)) expr)))))) (make-music-type-predicate-aux music-types)) -(load "define-music-display-methods.scm") \ No newline at end of file +(ly:load "define-music-display-methods.scm") +