Bryan Creer wrote:
| I was on
| the list when you last discussed it so I know about it but it is evident from
| recent postings that some people do not.
Here's a brief description of the repeat/ending syntax that I've
implemented in my jcabc2ps clone of abc2ps. This isn't a solution to
all the world's repeat problems, but it does handle at least 95% of
what you see in print.
2000.05.24 Extended ending syntax.
The syntax for an ending may be any string consisting of the characters
"0123456789,.-". The string is simply copied to the output under the ending
bracket.
Repeats have been extended in two ways. The colons at the start or end of a
repeat may be repeated, and they will all appear in the music. Thus the
notation
|:: ... ::|
means to play the phrase three times. Multiple endings may be indicated by
any string of "0123456789,.-" characters after a bar line. A four-times
repeat with two endings might be:
|::: ... |1,3 ... :|2,4 ... :|
Maybe a few more examples would be worthwhile. I don't actually use
the multi-colon notation much, but I do have a few tunes where a
phrase should be played three or more times and there aren't any
variant endings. I've also seen the |::: used to give readers a good
warning that the next phrase is played four times; this also does a
good job of making the start of the phrase visible.
I have a number of examples of three times with one ending, then a
fourth time with a different ending. This can be written
|: CEC DED |1-3 EGE FAF :|4 EFG ABc :|
Some time back, Jack Campin pointed out that there are times where a
"null ending" is useful. E.g., you have a phrase that has a bit of
extra music on the even times. This could be just:
|: CEC DED :|2,4 EGE FAF :|
which would unravel to:
| CEC DED | CEC DED | EGE FAF | CEC DED | CEC DED | EGE FAF |
I've actually used this a couple of times.
There were suggestions that the allowed chars include '+' and 'x',
and I did include them in my implementation. I don't remember what
the 'x' was supposed to mean; does anyone know? The '+' isn't unusual
in printed music, but it means the same thing as ','.
---------------------------------------------------------------------
I've also been contemplating solving the need for random text such as
"last time" under an ending bracket. This obviously needs quotes, and
has syntax problems after a bar line. What I think would work is to
say that you must use the '[' in this case, and you can then write
|: CEC DED |1-3 EGE FAF :|2,4 EFG FED :|["last time" EFG ABc :|
This looks like it would be intuitively obvious to a naive reader,
and it doesn't seem to have any obvious syntax problem. The "last
time" is not an accompaniment chord, because the chord notation can't
immediately follow a bracket like this. The bracket isn't the start
of a [CEGc] type chord, because such chords can't start with a
double-quote char. It takes a while to verify that it works, but I
think it does.
The description then would say that the actual ending syntax is:
["text"
This would be followed by saying that the quotes may be omitted if
the text contains only the characters "0123456789,-", and the bracket
may be omitted immediately after a (single) bar line '|'. In the
usual cases, the bracket and quotes will be omitted; the full ending
syntax is expected to be rare.
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html