James Allwright  wrote:

| Someone wrote:

(That was me. ;-)

| > >One question is about spaces.  I'd prefer to say that the fields of a
| > >K: line may be separated by spaces, for readability. The only problem
| > >with this is the abc 1.6 description of "global  accidentals",  which
| > >use  the  same  syntax  but  with  the accidentals separated from the
| > ><tonic> and <mode>.  However, I've been unable to find any  abc  that
| > >uses  global  accidentals,  or  any  software that implements it.  So
| > >perhaps we should decree "global accidentals" no longer part of abc's
| > >syntax, and permit spaces between the K:  fields.
|
| I'm a bit confused here. My parser (for yaps and abc2midi) implements
| global accidentals with spaces between them, but these modify the key
| signature rather than the every individual note. Is this what is being
| proposed ?

Yes.  If you read the 1.6 spec carefully, what it says  is  that  the
things  called  "global  accidentals"  are to be drawn before all the
notes in the tune.  It says "...  for example, K:D =c would write the
key  signature  as  two  sharps  (key  of D) but then mark every c as
natural ...." It also states that such accidentals are separated from
each other and the key signature by spaces.

So one suggestion some time ago was that  "explicit  key  signatures"
might be distinguished from "global accidentals" by not having spaces
before the former.  Thus "K:DMix=c" or "K:D^f=c"  would  draw  a  key
signature of ^f and =c, and not put naturals before the c notes. This
wouldn't break any abc that followed the 1.6 standard.

But there don't actually seem to be any uses (or implementations)  of
the  "global  accidentals"  part  of  the 1.6 spec.  My tune finder's
search bot couldn't find any when I asked it to, and  the  occasional
mention here hasn't turned up any actual examples.  This doesn't much
surprise me.  While I can think of some possible uses for it,  mostly
in music ed texts, I would agree that it's not very useful.  I did my
extension of abc2ps so that it  doesn't  permit  spaces  before  such
accidentals  in  the  keysig.  This was partly because it was easy to
code, but also because of the above discussion.

The "global accidentals" idea does strike me as basically a  mistake,
however, and probably not worth preserving. Since it apparently isn't
being used, dropping it won't break any known abc  files.   The  main
reason  for doing this is user friendliness.  It would be natural for
users to type something like "K: A Mix =g" because it's more readable
than "K:AMix=g". Current parsers will allow all the spaces except the
one bfore the '='.  This would be confusing to a lot  of  users,  who
might  not  understand why, for example, "K:A Mix=g" and "K:  AMix=g"
work but "K: A Mix =g" doesn't.

The simplest approach would be to say that spaces are allowed in  the
keysig  in  the obvious places, before the <tonic>, <mode>, or any of
the <accidentals>.  But this would produce  a  minor  incompatibility
with the 1.6 standard.

One thing I can see being mentioned in a "recommended practices" part
of  a standard, if we choose to write one, is a suggestion that music
display programs provide an option  to  do  something  similar:   The
accidentals  in  the <accidentals> list might be drawn throughout the
music.  There might also be an option to also draw <mode> accidentals
throughout  the music.  Music players have to do this in any case, of
course. Doing it in displayed music could be useful to people who are
writing  music  ed  texts  and  other documentation.  But it probably
wouldn't be very useful otherwise.  It might be interesting  to  hear
from people who think they might use such a feature.

This is all a rather fringe, "language lawyer" sort of topic ...

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

Reply via email to