In message <[EMAIL PROTECTED]>, Jeff Bigler <[EMAIL PROTECTED]> writes >> Date: Thu, 3 Jul 2003 23:42:01 +0100 >> From: Jack Campin <[EMAIL PROTECTED]> >> >> >> According to the BNF definition >> >> http://www.norbeck.nu/abc/abcbnfx.htm >> >> The bang is NOT a line terminator >> >> Which was a booboo on the part of whoever let that through. >> >> > IOW the ! simulates a line break. >> >> It does in ABC2WIN, but as far as I know it doesn't yet in any other >> application. Which is a pain in the bum because it's a really good >> idea and far more useful in the long term than the !...! constructs. > >Unfortunately, there's ABC out there that uses the !...! constructs, and >other ABC out there that expects ! to be a line terminator. > >As far as I know, only abc2win has so far used ! as a line terminator, >and the !...! extensions already exist in the 1.7.6 "draft standard", >which most people on this list seem to agree should be the starting >point for the new 2.0.0 standard. This would argue for keeping !...! as >part of standard ABC, and making ! as line terminator nonstandard. > >If this happens, I see several options for abc2win:
I'm more interested in the standard. However we do have to recognise that many tunes out there use the abc2win standard. > >1) Keep ! as a line terminator and don't implement the !...! > extensions. This would make abc2win a "nonstandard" implementation. > >2) Allow both. Program abc2win to look first for all of the !...! > commands that are defined in the standard. Any ! that is not part of > one of these commands is interpreted as a line terminator. (Even if > the standard never mentions ! as a possible forced line break > character, I like this option as a piece of defensive programming.) > This probably wouldn't break many ABC files (if any), because the > odds of having two line breaks with only a few characters in between > is slim. (Besides that, the only !...! commands that I see that > contain legal ABC in between are !D.C.!, !f!, !ff!, !fff!, and > !ffff!.) No, that's a bad idea. It does not allow for extensions to these symbols. If I write a program to test for all "standard" !..! comments then my program breaks as soon as another is added to the standard or a different program starts to recognise them. What we want from the standard is that new features will not cause old programs to crash. Or perhaps I should say "future new features will not cause current programs to crash". > >3) Use another character for either the escape character for either > extensions (e.g., +...+ instead of !...!) or as a line terminator. > This would also make abc2win a "nonstandard" implementation, and > would definitely break some (possibly many) existing ABC files. > > >In terms of adding a forced line break to the standard, several people >have talked about preserving the few ASCII characters that are as yet >undesignated in ABC for something "important". I think having a unique >forced line break character may well be useful enough to warrant using >one of them. What would folks think of using & for this purpose? > > >Jeff > >P.S. While we're on the subject of the !...! commands, does anyone know >why the mezzo piano dynamic was left out? I.e., !mp! is not in the >1.7.6 draft standard, and abcm2ps doesn't implement it. (I had to add >it by hand to deco.c, as follows.) <g> I had already implemented in my upcoming abc reader as it's an obvious omission. Bernard Hill Braeburn Software Author of Music Publisher system Music Software written by musicians for musicians http://www.braeburn.co.uk Selkirk, Scotland To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html