From b1ea28ee9cec40f96fad3b888feda3062193340c Mon Sep 17 00:00:00 2001 From: Malte Meyn Date: Tue, 16 Apr 2019 19:04:28 +0200 Subject: [PATCH] WIP: Scheme version, uses default-script-alist. Not perfect. (What about the string-append?) --- scm/ly-syntax-constructors.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index 256a2ec08a..2c60a7d086 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -193,7 +193,22 @@ into a @code{MultiMeasureTextEvent}." (if (music-is-of-type? music 'script-event) - (make-music 'MultiMeasureTextEvent music) + (begin + (if (music-is-of-type? music 'articulation-event) + (let* ((art-type (ly:music-property music 'articulation-type)) + (script-alist default-script-alist) ; TODO + (alist-entry (ly:assoc-get art-type script-alist)) + (glyph-pair (cdr (ly:assoc-get 'script-stencil alist-entry))) + (direction (or + (ly:music-property music 'direction) + (ly:assoc-get 'direction alist-entry))) + (glyph-basename (if (eq? direction DOWN) + (car glyph-pair) + (cdr glyph-pair))) + (glyph-name (string-append "scripts." glyph-basename)) + (the-markup (markup #:musicglyph glyph-name))) + (ly:music-set-property! music 'text the-markup))) + (make-music 'MultiMeasureTextEvent music)) music)) (define-public (multi-measure-rest duration articulations) -- 2.21.0