On Thu 13 Dec 2001 at 11:57AM +0000, Phil Taylor wrote:
> When John first suggested multiple alternate endings and repeats of
> >2 times I thought it was a good idea and started to implement it in
> BarFly.  Getting it to display was easy, but getting it to play correctly
> turned out to be a nightmare, to the extent that after working on it
> for several days I gave up and pulled all the new code out.  There were
> all sorts of problems.  Of course that does not mean that it can't be
> done, just that it ain't as easy as it looks at first sight.

abc2midi should handle alternate endings - it took some thinking about,
but I'm reasonably confident that it does actually work.

 
> A few things to consider when discussing repeat syntax:
> 
> * It has to coexist happily with other methods of specifying repeats,
> such as the P: field in the header, and not rule out the use of conventional
> musical indirection (e.g. using the Segno).  (A lot of people would like to
> use that.)

The P: field is currently the way to generate more than 2 times through a 
section. So far I haven't attempted to implement segno/coda based repeats.
 
> * If we can have multiple alternate endings, why not multiple alternate
> segments within a repeat, not necessarily at the end?  This is common
> in pipe music, and we have seen requests for it on this list.

The problem is how you notate the end of a segment - this is not imediately
obvious to me.
 
> * It is very common to see repeats written as:
> 
> abc |[1 abc :|[2 cba :|
> 
> which is wrong (the last repeat should be written as || or |]), and is
> explicitly forbidden by the 1.6 standard.  At the moment, because it's
> so common BarFly lets it go without comment, but what should be done
> here?  Should it be treated as an instruction to repeat the section
> four times with endings 1,2,1,2, or should it generate an error?

I would say an error / warning.
 
> * We need a clear set of rules as to where repeats should start from.
> At present, when it encounters a repeat BarFly searches backwards for
> one of the following symbols: |:, ||, |], [|, a P: field, or the start
> of the tune.  This seems to give the least problems, but it does mean
> that you can't use a double bar or thin/thick bar within a repeat.

I think it is reasonable to require |: at the start of a repeat section
and issue a warning if it has been missed out. By "require", I mean that
a player program might ignore the end repeat if there is no start repeat
and just play once through.

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

Reply via email to