X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fly-syntax-constructors.scm;h=4cbf9a67aa9a5b0e6775d415a3db36f8cadeaf29;hb=5a486378f44ce4d8b4005337e989a4a7500a6071;hp=40a1c05907aded52786ec5ceff61344653a7baf8;hpb=08560a1b8076630c4fc6cb9b902614d8b74fd6fc;p=lilypond.git diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index 40a1c05907..4cbf9a67aa 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -50,10 +50,11 @@ ;; we don't call the function but rather return the general ;; fallback. (define-ly-syntax (music-function parser loc fun args . rest) - (let* ((sig (object-property fun 'music-function-signature)) + (let* ((sig (ly:music-function-signature fun)) (pred (if (pair? (car sig)) (caar sig) (car sig))) (good (proper-list? args)) - (m (and good (apply fun parser loc (reverse! args rest))))) + (m (and good (apply (ly:music-function-extract fun) + parser loc (reverse! args rest))))) (if (and good (pred m)) (begin (if (ly:music? m) @@ -140,16 +141,8 @@ into a @code{MultiMeasureTextEvent}." (if (memq 'script-event (ly:music-property music 'types)) - (let* ((location (ly:music-property music 'origin)) - (dir (ly:music-property music 'direction)) - (tags (ly:music-property music 'tags)) - (p (make-music 'MultiMeasureTextEvent - 'origin location - 'tags tags - 'text (ly:music-property music 'text)))) - (if (ly:dir? dir) - (set! (ly:music-property p 'direction) dir)) - p) + (apply make-music 'MultiMeasureTextEvent + (flatten-alist (ly:music-mutable-properties music))) music)) (define-ly-syntax (multi-measure-rest parser location duration articulations) @@ -158,10 +151,10 @@ into a @code{MultiMeasureTextEvent}." 'duration duration 'origin location)) -(define-ly-syntax (repetition-chord parser location previous-chord repetition-function duration articulations) - (make-music 'RepeatedChord - 'original-chord previous-chord - 'element (repetition-function previous-chord location duration articulations) +(define-ly-syntax (repetition-chord parser location duration articulations) + (make-music 'EventChord + 'duration duration + 'elements articulations 'origin location)) (define-ly-syntax-simple (context-specification type id ops create-new mus)