lilypond-devel
[Top][All Lists]

## Re: Creates a MIDI note length formatter (issue 5576062)

 From: Marc Hohl Subject: Re: Creates a MIDI note length formatter (issue 5576062) Date: Tue, 31 Jan 2012 11:04:35 +0100 User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111109 Thunderbird/3.1.16

Am 31.01.2012 10:57, schrieb David Kastrup:

Marc Hohl<address@hidden>  writes:


Am 31.01.2012 09:09, schrieb address@hidden:


Check out:

This is a function that takes music and returns two musics, one
swung and one unswung, w/ appropriate tags for layout and midi.
Then, in the two scores, just use \removeWithTag to get rid of the
tagged music you don't want (i.e. get rid of layout in MIDI and vice
versa).

I know about this, and IIRC, it doesn't work with \partial 8 or
concatenated rhythms, so a more built-in solution would be better, I
think.

Classical non-sequitur.  The quality of the transform does not rely on
it being done in the backend.  Indeed, doing it there is not the
best choice since n-tuplets should never be swinged, and you have the
situation that in
<<  { c''8 c'' } \\ { e'16 e' e' e' }>>
the second c'' does _not_ start at the same time as the third e'.
Fixing that at the performing stage is not possible since the time
relations are then already established unswinged.

Indeed, if you encounter in swing a passage written as
\times 2/2 { c''8 c'' c'' c'' }
the execution would be expected unswinged.  Mathematically, \times 2/2
does not make much sense.  Musically, the instruction "play 2 equal
notes taking the time of 2 normally played notes" becomes non-trivial in
swing.

So it makes sense to do this kind of transform on the music expressions,
and not on the resulting events.

Ok, now I understand - thanks for pointing this out.

And it is not about swing alone, see:


You are confusing the quality of one implementation with the qualities
of the approach as such.

Probably.

Regards,

Marc