> 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: 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!.) 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.) --- deco.c Tue Apr 15 03:26:23 2003 +++ /home/jcb/abcm2ps/abcm2ps-3.5.5/deco.c Sat May 31 13:19:04 2003 @@ -111,6 +111,7 @@ {"pp", 6, 13, 20, 2, 5}, {"ppp", 6, 13, 20, 2, 8}, {"pppp", 6, 13, 20, 2, 11}, + {"mp", 6, 13, 20, 2, 5}, {"pralltriller", 3, 4, 10}, {"sfz", 6, 14, 20, 2, 8}, {"turn", 3, 22, 10}, To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html