Hi,
In short, I propose to make the first argument to
\repeat optional, making \repeat n music equivalent to
\repeat unfold n music.
Thanks for working on that!
The issue I have with your idea is that to me, \repeat unfold and
\repeta volta/tremolo have slightly different semantics:
\repeat volta and \repeat tremolo create "time-honored" visual
indicators for repeated music, so they are commands that correspond to
special music layouts.
\repeat unfold saves typing while inputting music.
Of course, the distinction is not very strict, in particular since
there's \unfoldRepeats. But still I'm not sure it's ideal syntax-wise if
users have to use the same command for "saving typing" and for "creating
musical repeat signs / tremolo notation". And this, I think, is
exacerbated with your suggestion, because if \repeat alone is the
keystroke-saving command, then \repeat volta and \repeat tremolo look
like variants of that: Adding a qualifier turns the command into
something completely different.
My experience is that every time I want to repeat a note
four times, I have a half-a-second wonder about whether
typing "\repeat unfold" will be shorter than cut-and-paste.
Absolutely. Of course it depends on which type of music you engrave, but
in my "common practice"-heavy everyday work, \repeat unfold 16 d8 comes
up _very_ often.
Other possibilities:
- "\rep n music", not as self-telling (and I think Lukas
only calls his shortcut \rep because redefining \repeat
is not syntactically valid);
... 'n 'cause it's even shrtr. :-)
- "music * n", attractive but the difference between c1*5
and { c1 } * 5 would be confusing; also, for longer passages
one would rather state the number of repetitions from the
start than having to remember to put it at the end;
Yes, that is confusing to a degree I'm very skeptical if it's possible
at all. You've already given the main example.
- "\* n music", very short but doesn't read as nicely I think,
and I don't view repeats as special enough to warrant
this kind of syntax with many special characters.
I think I disagree. After David suggested it in the gitlab thread, I
used it in some scores and found it to be very convenient. (Maybe I'm
biased because on german keybaord layout, \* can be entered in a single
movement with a quite enjoyable thumb-midde-finger-pinkie-ring-finger
flourish :-).) Also, brevity is key for keystroke-saving commands.
But your special-character argument made me think: Maybe it would be
possible to get rid of the * sign? Maybe I'm missing something, but
isn't \{unsigned int} still "available" so one could do \16 d8 instead
of \*16 d8 ? Of course, probably only David K. can say for sure what
implications that would have for parasing/lexing.
Aaron:
If the asterisk feels overloaded, you could use the multiplication sign:
%%%%
\version "2.22.0"
× = % U+00D7
I'd advise against introducing non-ASCII commands. Users won't be happy
if they can't find on their keyboards what the documentation instructs
them to type.
Lukas