Phil taylor writes: | 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.)
There has long been a debate over whether a letter in the header P field refers to just once through the part or includes repeat(s). If you look at the (mostly English) books that use this notation, you see that they do it both ways. So this is probably a rathole; no matter how you do it, half the users will loudly insist that you're wrong. This doesn't mean that we can't establish an ABC standard, of course; it just means that no matter what we decide, we'll be wrong. This should be a separate topic. The P fields need to be worked over, and a consistent interpretation found. But this shouldn't get in the way of getting [3 and [1,3 legalized and implemented, which is useful to a lot more musicians. | * 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. Yeah; I'd like that. But I'd classify it as one of the things that has killed action on the topic in the past, so it should wait until we can at least get [3 and [1,3 legalized and implemented. | * 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? This is done because with most current ABC tools, it's the *only* way to indicate four times through. It's definitely crappy notation, but it's the best you can do if the software chokes on: abc |[1,3 abc :|[2,4 cba :| BTW, where does the 1.6 standard explicitly forbid this final :|? I don't seem to see anything at all on the topic, only the statement that :| marks the end of a repeated section. This would imply that the above notation is legal, since that bar line *is* the end of a repeated section. | * 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. Going back to || or [| isn't a very good idea. It's common practice to use double bars to mark the "major phrases" within a section, and they are (almost) never used as repeat boundaries. The code should go back to |: or the start of the tune. We oughta state this in the ABC standard docs. This would both answer the question, and make life easier for implementers. (Some people have ranted about the practice of omitting |: initially, but this is a losing battle. You're fighting too much tradition in this case.) | * We also need a (preferably illustrated) description of how the various | repeats are to be displayed in conventional notation. If we have a | 4x repeat - |:::.......:::|, should that be displayed with four dots | arranged vertically next to the bar line? I have seen that symbol used | in music where the context suggests that a normal single repeat is what | is intended (e.g. in the Original Sacred Harp). That's a bit bizarre, though I've seen it, too. And some printers use four dots for all repeats, because it's visually stronger. There is a problem of finding the start of repeats in a lot of printed music, and some printers have used various techniques to make them stand out. Using a thick double bar and big dots is probably better. The meaning of a four-dot repeat isn't at all standardized, and it is best left as an option in the program. In ABC, |::: or |4: would be a much better way to signal "four times". I do sorta like the |4: ... :4| suggestion, though it hadn't occurred to me. But while it's a clever computerish notation, I don't think I'd want to print it that way. The few musicians who use such repeat notation (mostly dance musicians) expect |::: ... :::|. An option to write "4x" in bold letters over the ending could come in handy, too, so that musicians would be less likely to misunderstand. Repeat notation is an ongoing problem in a lot of printed music. Lots of printers produce notation that is difficult for musicians to get right. It's common for music to collapse as people jump to different points at a repeat sign. Then you have to stop and discuss it, and every musician writes their own idiosyncratic notes on the paper. A lot of the problem is legibility. Just finding the start of a repeat can be time consuming, especially if the music has been copied and the tiny dots have disappeared (and others have appeared as artifacts of the copying process). One related problem with printed notation is that a common way to do four times with two endings would be: |: ... |1,2 ... :|3,4 ... :| I've seen a number of texts that insist this should be: |::: ... |1,2 ... :|3,4 ... :| That is, the notation should indicate right at the start that it's a 4-times repeat. But this is almost never done. I don't think I've ever seen it in published music. I've seen it in handwritten music, generally from experienced dance musicians who have learned how to make the repeat pattern so obvious that everyone will get it right the first time. They get really annoyed when a printer insists on dropping the extra dots at the start of the section, but there's nothing they can do to get the printer to do it right. So a player will have to assume that initial repeat indicators are of little use other than to indicate the start of a repeat. The actual repeat pattern is indicated by the endings. To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html