Comment #25 on issue 687 by arvidgr: Enhancement: inequal MIDI quantization
of equal durations (swing, rubato)
http://code.google.com/p/lilypond/issues/detail?id=687
I took the liberty of fixing the two TODOs commenting in swingIt (so that
e.g. a 4. would be scaled right) and trying it on a real-world example.
The example is in copyright, so I can't post it here, but here's a few
observations:
It looks swingIt must be called on a beat. If I'm on an upbeat, I have to
compress that note manually. No surprise really.
Also, SimultaneousMusic isn't handled well. From what I observed, one
voice will be swung and the other left straight. In some (or even most)
cases, this will make the rythm go out of whack, giving barcheck errors and
unreadable scores.
So as it is, it can't be used on all the music of a staff if that staff
splits up into temporary voices. (Which is exactly what the piece of real
music I was applying this to did all the time.) Workaround:
\swingIt { a8 a 4. a8 a }
<< { a8*2/3 | % as I said, manually.
\swingIt { a8 a a a % ...
}} >>
<< { b8*2/3 | \swingIt { b8 b b b % ...
}} >>
;; ...etc.
And with that somewhat tedious workaround, it works!
Simultaneous music (temporary voices) could probably be handled by calling
the working part of swingIt recursively.
Cheers,
-- Arvid
Attachments:
swing.ly 2.8 KB
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond