> 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

Reply via email to