| 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

Reply via email to