| One thing about macroes, however, is that you don't _have_ to use them; | you can fully expand the macro in the source if you want to for some reason. | Your proposal doesn't fit that need, because if I _want_ to write | fff (for fortissimo) in the tune, I can't distinguish it from three f notes unless | I have some delimiters.
Yeah; that's the way I understood the earlier discussions. I distinctly remember some posted examples along the line of | !mf!CDEF !ff!g2z2 | The idea of macro substitutions was to handle the problem that this can easily get unreadable, and it would help a lot if one could define single-char symbols for the annotations used. This would imply definitions like m=!mf! and X=!ff! for the above, allowing us to then write: | mCDEF XG2z2 | Simple string substitutions could also be handy for writing docs. I could just list the (semi-)standard builtin ornaments like: ~ = !turn! T = !trill! . = !staccatto! and so on. This is self-explanatory. A teaching doc could just say that you can use either the one-char or the full symbol for this set of builtins. If you want to use the others, you can spell them out, or you can put a bunch of similar "macro" definitions in the header. I think most musicians would understand this. | In other words, I think we do need to separate out the use of the macro (which in | my opinion should be a literal text substitution) from the issue of the syntax of | special symbols and/or flow control. Yup; that's how I read it, too. And string substitution like this is something that's simple and can be taught to a novice in seconds. I'm not sure I'd want to try explaining Phil's scheme to your typical musician. The fact that I don't quite grok how it would work is just the start of the problem. It's based on some subtle understanding of the musical terms that I'm quite sure isn't shared by very many of the musicians that I know. (This is, of course, a cheap shot on my part. Musical terminology is so crazy and inconsistent that you can always rely on any claim that some concept isn't shared by many musicians. ;-) | However, it seems to me that there is no compelling reason to use a different |delimiter | like | !, since it is easy to parse the contents of quoted strings to find out if they are |one of | a | set of reserved words. Any package that doesn't do that will end up treating them |like | they | treat "guitar chords". This is probably true for most uses. I have seen music that has chords both above and below the staff, with the idea that they are alternate sets of chords. I use this trick myself at times, when I want to scribble in my own chords. If the printed music has chords below the staff, I'll write mine above, and vice versa. But I can see people saying that abc shouldn't bother with something like this. | so instead of | U:J = fermata | use | U:J = "fermata" There are a few anomalous cases. Thus, "f" is used for loudness, and it is also widely seen for what should probably be an "F" chord. Most current abc software doesn't care about the case of chords (and key signatures for that matter), and it works. I've also seen printed music that had a capital F for forte. (If chords are in use, they are distinguished by font.) We would have an educational problem with a lot of musicians who wouldn't quite be able to get the capitalization right. There's a lot to be said for the ability to transcribe music without going back and fixing such problems. But this is also probably not that big a deal. Abc users already have to deal with capitalization for notes. Maybe we should decree that case is always significant in abc, and noncompliant abc will just have to be fixed. A lot of this depends on how user friendly we want to be. I learned a good lesson with this when I originally called my ABC tune finder "FindTune.html". I slowly came to realize that a lot of musicians just couldn't get this right. Even emailing the URL so they could cut and paste didn't help. Many users don't understand cut and paste, and always copy URLs by hand. Those two capitals are simply invisible to a lot of people, and I spent far too much time answering email from baffled would-be users. So I linked it to "findtune.html", and the problems went away. Of course, I can't eliminate the original name, because no matter what I do, lots of people have that one and are happily passing it on to friends. The server log says that the two spellings are about equally common, although I've eliminated all uses of the mixed-case name from my own web pages. So being overly picky about case will, among other things, limit the population of users and exclude a lot of musicians. But it will also restrict abc's expressivity. We don't have enough characters. To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
