]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/music-functions-init.ly
* lily/beam.cc: read grow-direction for feathered beaming.
[lilypond.git] / ly / music-functions-init.ly
index 571bd79dd79a3bd004f13eb7e5b234b7265e6730..a7818e7e453a5d5cc2bc83205acf9363af992513 100644 (file)
@@ -438,3 +438,30 @@ parenthesize =
 
    (set! (ly:music-property arg 'parenthesize) #t)
    arg)
+
+
+featherDurations=
+#(define-music-function (parser location factor argument) (ly:moment? ly:music?)
+   (let*
+       ((orig-duration (ly:music-length argument))
+       (multiplier (ly:make-moment 1 1))
+       )
+
+     (music-map 
+      (lambda (mus)
+       (if (and (eq? (ly:music-property mus 'name) 'EventChord)
+                (< 0 (ly:moment-main-denominator (ly:music-length mus))))
+           (begin
+             (ly:music-compress mus multiplier)
+             (set! multiplier (ly:moment-mul factor multiplier)))
+           )
+       mus)
+      argument)
+
+     (display (list (ly:music-length argument) orig-duration))
+     (ly:music-compress
+      argument
+      (ly:moment-div orig-duration (ly:music-length argument)))
+
+     argument))
+