From: Han-Wen Nienhuys Date: Wed, 31 Mar 2004 11:54:27 +0000 (+0000) Subject: * input/test/polymetric-differing-notes.ly: use ly:music-compress. X-Git-Tag: release/2.1.37~5 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=dccf66d6efc98f1c6e531fcdc3ee9b6016f9f504;p=lilypond.git * input/test/polymetric-differing-notes.ly: use ly:music-compress. * input/regression/repeat-unfold-tremolo.ly: new file. * scm/music-functions.scm (unfold-repeats): undo music compression too. * lily/music.cc (LY_DEFINE): rename to music-mutable-properties (LY_DEFINE): ly:music-compress new function. * scm/music-functions.scm (make-non-relative-music): new function. --- diff --git a/ChangeLog b/ChangeLog index 9889cded71..6b5e542396 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2004-03-31 Han-Wen Nienhuys + * input/test/polymetric-differing-notes.ly: use ly:music-compress. + + * input/regression/repeat-unfold-tremolo.ly: new file. + * scm/music-functions.scm (unfold-repeats): undo music compression too. diff --git a/input/regression/repeat-unfold-tremolo.ly b/input/regression/repeat-unfold-tremolo.ly new file mode 100644 index 0000000000..c360354800 --- /dev/null +++ b/input/regression/repeat-unfold-tremolo.ly @@ -0,0 +1,18 @@ +\version "2.1.36" +\header { + + texidoc = "Unfolding tremolo repeats. Both fragments fill one 2/4 + measure with 32nd notes exactly." + +} + + +\score{ + \notes{ + \time 2/4 + \apply #unfold-repeats + { \repeat tremolo 8 { c'32 e' } | + \repeat tremolo 16 c'32 } | \bar "|." + } + \paper { raggedright = ##t } +} diff --git a/input/test/polymetric-differing-notes.ly b/input/test/polymetric-differing-notes.ly index f1fc3392d8..8951d915b1 100644 --- a/input/test/polymetric-differing-notes.ly +++ b/input/test/polymetric-differing-notes.ly @@ -22,28 +22,9 @@ multiplied by 3/5, so that 3/5 * 10/8 = 3/4. } +#(define ((scale-music-function fraction) x) + (ly:music-compress x (ly:make-moment (car fraction) (cdr fraction)))) -#(define (scale-one-music m fraction) - "Maybe we should just export Music::compress to Scheme?" - (let* - ((dur (ly:music-property m 'duration))) - - (if (ly:duration? dur) - (let* - ((l (ly:duration-log dur)) - (d (ly:duration-dot-count dur)) - (factor (ly:duration-factor dur))) - - (ly:music-set-property! m 'duration - (ly:make-duration l d - (* (car fraction) (car factor)) - (* (cdr fraction) (cdr factor)))))) - - m)) - -#(define (scale-music-function fraction) - (lambda (x) - (music-map (lambda (y) (scale-one-music y fraction)) x))) @@ -56,14 +37,14 @@ multiplied by 3/5, so that 3/5 * 10/8 = 3/4. \new Staff { \time 3/4 \set Staff.timeSignatureFraction = #'(9 . 8) - \apply #display-music \apply #(scale-music-function '(2 . 3)) + \apply #(scale-music-function '(2 . 3)) \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = #'(10 . 8) - \apply #display-music \apply #(scale-music-function '(3 . 5)) + \apply #(scale-music-function '(3 . 5)) { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c4. \times 2/3 { c8 c c } c4 } diff --git a/lily/music.cc b/lily/music.cc index a8cc060e94..cfe9471195 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -346,7 +346,7 @@ LY_DEFINE (ly_music_transpose, "ly:music-transpose", TODO: should take moment factor? */ LY_DEFINE (ly_music_compress, "ly:music-compress", - 3, 0, 0, (SCM m, SCM factor), + 2, 0, 0, (SCM m, SCM factor), "Compress music object @var{m} by moment @var{factor}." ) { diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 5699cb48d2..2aa410772d 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -75,7 +75,7 @@ (display ": { ") (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element))) - (display (ly:mutable-music-properties music)) + (display (ly:music-mutable-properties music)) (if (pair? es) (begin (display "\nElements: {\n") (map display-music es) diff --git a/scm/to-xml.scm b/scm/to-xml.scm index 7d0a400cc1..a6b9508a6e 100644 --- a/scm/to-xml.scm +++ b/scm/to-xml.scm @@ -111,7 +111,7 @@ is then separated. (let* ((name (ly:music-property music 'name)) (e (ly:music-property music 'element)) (es (ly:music-property music 'elements)) - (mprops (ly:mutable-music-properties music)) + (mprops (ly:music-mutable-properties music)) (d (ly:music-property music 'duration)) (p (ly:music-property music 'pitch)) (ignore-props '(origin elements duration pitch element)))