Phil Taylor writes:

>BarFly also supports macros, which are quite different in that they
>allow the user to define anything that can be expressed in abc text.
>It is not the case (as suggested in the draft standard) that U: is
>used for staff notation and macros for playing.  The critical difference
>is that symbols defined using U: invoke a piece of code to draw or
>play something and can only be used if the developer has written
>that code into the program, while macros simply substitute one bit
>of abc text for another before the tune is parsed, and the user can use
>this for purposes which the developer may not have anticipated.
>

        Aha!  So when you speak of "redefinable symbols", you mean "H--Z"
rather than the symbols they (may) stand for? So that the letters can be
used for things other than single symbols, e.g.

        U: I = start crescendo, i = end crescendo

in order to start a crescendo hairpin which may extend across several
notes, and which is ended when "i" is typed. Or, if one wished to write a
cadenza or other passage in small notes,

        U: K = small notesize, k = normal notesize

and then type 

        K ABcdef k 

for the passage.  (Always assuming, of course, that the code has been
written for these.  By the way, doesn't the (proposed) standard permit
both upper and lower case letters, except for a couple, like z, which are
already assigned?  That's useful for start/end markers, as above, as well
as giving twice as many characters---the 19 extra characters may sound
like a lot, but in fact it's all to easy to run out, once you start using
them.)

        The distinction between macros and symbols is valid, but can lead
to misunderstandings since it is package dependent---it depends on exactly
what code has been written and is accessible.  With packages like MusixTeX
and Lilypond, the code has already been written, and is directly
accessible, so there is a *lot* of flexibility in the U: field.  To add to
the confusion, commands in TeX are called macros, so if you use the
letters H--Z in abc2mtex, they actually represent macros in TeX. (Repeat:
macros in *TeX*, not in abc.)

Cheers,

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

Reply via email to