Phil Taylor wrote:
| John Chambers wrote:
| >Atte wrote:
| >| On Fri, 26 Apr 2002, John Chambers wrote:
| >| > Atte wrote:
| >| > | >> !fine! exclamation-point abuse
| >| abcm2ps
| >That's the only reply that I've seen.  Is this the only  abc  program
| >that  understands  the  !foo! annotation syntax?  (Well, actually, my
| >jcabc2ps clone does, too, so that's two abc2ps clones. Not what you'd
| >call an overwhelmingly positive response.)
|
| You can probably add jaabc2ps too, since that whole !foo! mess was
| JA's idea.

OK; I'll add that to the list.

| This person has always thought it a very bad idea.  I've argued against
| it at great length on many occasions.  In fact, it's the main barrier
| to general acceptance of the draft 1.7 standard;  take that out and
| I'll vote for acceptance of the rest of it.  Needless to say, BarFly
| doesn't support it.

Hmm ...  I'd forgotten who didn't like it, of  course.   The  general
feature  does  seem  to be inherently useful, so I'd suppose that the
objection is to the particular syntax. The other one I've seen is the
one  that  uses  double  quotes and positioning stuff, as "^segno" or
"_da Capo".  This strikes me as a usable alternative, though it still
does have the problem of confusion with accompaniment chords.  People
might want to position them too.  I suppose you could say that  chord
symbols  can't be positioned this way, and any text with ^ or _ after
the " is assumed to be musical annotations.

| It is inextricably mixed up with macros, because that's the way that
| the idea was framed.

Well, that's unfortunate.

| >But the !foo! notation itself seems simple.  And a header  line  that
| >says  something  like  m:q=!foo!  seems  like  it would be trivial to
| >implement.  ...
|
| Sure.  Just leave out the bangs - they are utterly unnecessary.

How so?  That would imply that such macros can only be used for  this
purpose.  I couldn't use them to abbreviate other common strings. I'd
think a simple "substitute this for that" would be  more  useful,  in
which case you'd want the bangs included.  Sorta like in C you can do
things like:
  #define begin {
  #define end }
and confuse readers for a bit as to whether they're looking at  C  or
Pascal.   I  often use C macros that have all sorts of punctuation as
part of the expansion; I'd find C's macros crippled if I couldn't  do
this.  Of course, most musicians don't have a clue about "macros".

| Basic substitution macros are very useful, they don't stop you from going
| on to deal with macros which know to transpose (which are even more
| useful).

I've always found that transposing is easiest with a separate program
that  just  does transposing.  Builtin transposers in the fancy music
packages are mostly good for laughs when they produce totally berserk
notation.  Thus, I've seen music transposed from F to G, in which all
the ^F notes were written as _G, and there were no Fs in the  result.
The  problem  with  this  as  a builtin is that when it's broken like
this, you can't fix it. If your transposer is a separate program, you
can write your own, or grab something like abc2abc, and it's fixed.

But then, I my just be giving away the fact that I've been using unix
systems  for  a couple of decades.  Other systems do seem to be built
around the idea of monolithic programs that attempt to do everything,
and  give  you  no  way  to  fix  problems like this by plugging in a
separate program.

The original abc2ps had a transpose facility.  I found that it wasn't
very  useful.  So I wrote my own transpose instead, which does things
the way I need them done.  I noticed in the last abc2ps release notes
a comment that transposing didn't work any more. I haven't missed it,
and I'm thinking of hunting down that code and stripping it out.

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

Reply via email to