Updates:
        Labels: Patch-new

Comment #10 on issue 1741 by [email protected]: Tablature Bug when pitch is higher then beh in a quarter-tone string
http://code.google.com/p/lilypond/issues/detail?id=1741

The tabulature code uses ly:pitch-semitones, and ly:pitch-semitones maddeningly does not return a rational number, but rather an integer. The routine responsible for this is called Pitch::rounded_semitone_pitch in pitch.cc. In striking contrast to its name, it does not round, but rather it truncates. To add insult to injury, it truncates towards zero, namely middle-C. Since it makes no sense to change rounding direction when passing middle-C, and since rounding might be what is expected usually, I propose the following patch.

Personally, I would not round at all but rather return a rational when the result is not an integer. However, I don't know what assumptions other code might make. While I don't consider it likely that code getting an integer for an in-between note will do something sensible, I have not tried out what happens when staying with a rational in case of doubt here.

Attachments:
        pitch.diff  674 bytes


_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to