--------
Steve Mansfield writes:
| As K: is already established as the 'key signature' field, and there are
| thousands of abc files already out in the wild, would it not make sense
| to leave K: as the 'key signature' and k: as the 'mode' (please excuse
| descriptors!)
Methinks you got it backwards. Currently K: doesn't include a key
signature, only tonic+mode. The term "key signature" in standard
staff notation means a list of accidentals, not tonic and mode. If
you want a new header line for the signature, it should be k: so as
not to collide with existing notation.
Of course, what a lot of implementers (myself included) would
probably do is to just make K: and k: synonymous, and add code to
look for either a mode or a list of accidentals. That way, it would
handle the officially approved combinations and would also handle ABC
from people who were confused by the standard (or had never read it).
Sorta like all the software that looks for either X: or T: to start a
tune, in "violation" of the standard that says X: is required at the
start. You can follow the standard to the letter, yes, but your code
will work better with existing ABC if it can parse the common
violations that people post to lists.
It's always a bit risky to make things depend on capitalization. We
do it with the note names, of course, and it is a minor source of
typos. The recent example of someone giving K:_B_E_A_D as the
signature for K:Ab illustrates the pitfall: It should be K:_B_e_A_d
of course. We all knew that, but a program likely wouldn't. I'd also
predict that a lot of users would use K: and k: interchangeably.
Given the choice of constant, irritating editing to fix such typos,
and writing a bit of code to handle it automatically, I know which
I'd prefer.
(Hmmm ... Maybe I should make my doctored abc2ps accept k: as well as
K: lines. Then I could claim to be the first to implement this new
idea. I suppose I'd better do it fast, before someone else beats me
to it. But I've got a jam session to go off to ... ;-)
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html