> The obvious problem for a player is that people can easily  type  all
> sorts of of malformed endings.  For example:
>
>   |: ... |1,3 ... :|4 ... :|
>
> There's no 2nd ending here.  I'd probably say that there are at least
> two possible behaviors here:  You could play it three times, skipping
> the missing 2nd pass.  Or you could play it four times, with a "null"
> ending  on  the  second pass.  I'd suggest that if the listed endings
> don't form a proper 1..N progression, that the behavior is up to  the
> implementer.

I would suggest that interpreting it as a null ending should be in
the spec as required behaviour.  This is something I've often wanted
with the existing repeat syntax but BarFly (at least) doesn't support
it.  It'd be particularly helpful for getting anacruses to add up
when the tune shifts them between repeats (which is quite common).


There is a problem with the way you've written that.  The existing
standard says there is NO extra repeat sign at the end, so it ought
to have been

    |: ... |1,3 ... :|4 ... ||

The way you had it suggests you do the whole thing again once you get
to the end of the 4th time.  I have seen that kind of nested-repeat
syntax used for real, but only in a manuscript by somebody who was
desperate to save space.

This is a mistake you find all over the net and it would be a great
help if more programs produced warnings about it.  It's an annoyance
for sightreading: you see that repeat sign and briefly think "back to
where?", however often you've seen it before.


I would much prefer it if there were some redundancy checking for
this construct, by declaring the number of times at the start too.
So your example would go

    |4: ... |1,3 ... :|4 ... ||

That would assist a program in correctness checking and it would warn
the reader of the ABC source that something unusual was about to happen.
There would be no obligation on display programs to print anything
corresponding to the initial number.


Also, I take it you mean to accept

        ... |[1,3 ... :|[4 ...
and
        ... |... [1,3 ... :|... [4 ...

as well?  I never use the number-next-to-a-bar special case any more
(the more general "[n" syntax is enough for me and it suits the kind
of source layout I prefer).


: I would like to add:
:    [1+3 
: and 
:    [1&3

Please NO.  We might need those characters for something else one day
(e.g. controlling the voice entries in rounds).

: and a way of saying for example
:   [last time

Good idea, but I don't think this is the same construct; usually it
goes on the end of the *whole tune*, and strophic repeats are not
represented in ABC (they'd need a nested-repeat syntax, as the tune
might have internal repeats).  It's a distinct topic.

As this is a more emphatic, large-scale sort of variant repeat, how
about this?

   [[^ ... % first time
   [[. ... % usual case
   [[$ ... % last time

Any notation is going to be unfamiliar to most people but at least
that's vaguely mnemonic to folks who've used Unix pattern matchers.

=================== <http://www.purr.demon.co.uk/jack/> ===================


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to