John Walsh wrote:
>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.
Exactly.
>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.)
As I have it set up currently, you can only use the capital letters,
as these are explicitly mentioned in the abc 1.6 definition, but I see
no reason why the lower case letters can't be used too. Of these,
uvwxyz are currently in use, but the bow markings u and v should be
redefinable too.
> 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.)
OK! Presumably then a future version of abc2mtex which supported
redefinable symbols could simply do so in most cases by just substituting
single letters for one another?
Phil Taylor
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html