diff options
author | David Kastrup <dak@gnu.org> | 2015-09-09 17:29:52 +0200 |
---|---|---|
committer | David Kastrup <dak@gnu.org> | 2015-09-17 09:53:18 +0200 |
commit | e82c90ef55c039111ae5e6247ef6acbc4ef72226 (patch) | |
tree | 5869539d65f579bde7df51bf6b6362ed3e71591a /ly | |
parent | ce4eeda96f9e197836578ce74e79a106f46ddab2 (diff) |
Issue 4601/2: Let \shape use grob-transformer like \offset does
Diffstat (limited to 'ly')
-rw-r--r-- | ly/music-functions-init.ly | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index fe270aef98..e976cb6644 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -1616,15 +1616,11 @@ control-point. If @var{item} is a string, the result is @code{\\once\\override} for the specified grob type. If @var{item} is a music expression, the result is the same music expression with an appropriate tweak applied.") - (define (shape-curve grob) + (define (shape-curve grob coords) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:spanner? grob) (ly:spanner-broken-into orig) '())) - (total-found (length siblings)) - (function (assoc-get 'control-points - (reverse (ly:grob-basic-properties grob)))) - (coords (function grob))) - + (total-found (length siblings))) (define (offset-control-points offsets) (if (null? offsets) coords @@ -1647,7 +1643,9 @@ appropriate tweak applied.") (if (>= total-found 2) (helper siblings offsets) (offset-control-points (car offsets))))) - (once (propertyTweak 'control-points shape-curve item))) + (once (propertyTweak 'control-points + (grob-transformer 'control-points shape-curve) + item))) shiftDurations = #(define-music-function (dur dots arg) |