Werner LEMBERG <w...@gnu.org> writes: >>> We are talking about writing \tuplet 3:2 { ... } instead of \tuplet >>> 3/2 { ... } here. Whether tuplets are central or not, this >>> single-character difference is purely cosmetic, and it is >>> well-known that obsessive-compulsive cosmetic surgery is not >>> exactly guaranteed to maximize the obtained output of beauty. >> >> Uh, it /sounds like/ you're suggesting that Werner has >> obsessive-compulsive disorder. > > No, it doesn't. Just think of who is going to do the surgery :-) > > Regarding the cosmetics, I think we should always think of the user: > It is a matter of fact that triplets are either marked with a single > digit, or with a ratio like `4:3'. I think it is not too far > stretched to expect that lilypond should follow such conventions even > in the input.
I disagree. We don't write whole, half, and quarter notes as O, d and *| in spite of superficial visual resemblances. There is always a mapping involved between musical notation and LilyPond notation. This mapping should be straightforward and predictable: users should have a good chance, however flimsy, to guess how a certain musical construct will map to LilyPond. If the LilyPond language is one amorphous mass of graphs loosely picked based on visual similarity, this is quite less likely than if the LilyPond language is composed of a finite set of recognizable, consistent, and reasonably expressive elements. It is _exactly_ because I am thinking of the user that I don't want to open a new bag of syntax for every command. With the (somewhat positively acclaimed) proposal of letting standalone durations work for expressing a note pitch repeat, 4:16 is already a quarter note with tremolo repeat. Now people want it to be a fraction as well, but only when used as an argument to \tuplet. A pair of numbers used for expressing a positive ratio _not_ in shortest terms is an idiom expressed as 3/4 in LilyPond. We even have a "fraction?" predicate for this idiom, and we have a consistent input syntax across all modes, to the degree where in ly/engraver-init.ly you'll find lines like timeSignatureFraction = 4/4 Now where is the point in making a single command deviate from that convention, data structure, input syntax and general support inside of LilyPond? How does this make LilyPond easier to comprehend? -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel