Fine - so to fix your objections
1. definitions like
Q:3/8=largo
may only go in the "file header"

What's the definition of "File Header"?
Between start of file and first X: ? (What about all those files with
missing X: lines?)
Between start of file and first X: or T:? (are we allowed a file title?)

2. Given that there is something following the third number this must be a
definition not a default, but an old program might mistake that.  Not easy
to get round that without having a completely new syntax for the
definitions.  A hack is to put after the last definition a default for the
file that will be picked up by old software.  e.g.
Q:1/4=80 largo %definition
Q:1/4=160 presto %definition
Q:1/4=120  %default

Laurie
P.S. But now it turns out that I'm not happy - see next posting.

----- Original Message -----
From: Phil Taylor <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, November 13, 2001 12:40 PM
Subject: Re: [abcusers] something really simple


> Laurie wrote:
>
> >OK, Anselm, let me try.
> >First of all it is NOT complicated to implement.  It's pretty easy.
> >Secondly a language or a notation is not to be judged by whether or not
you
> >can say silly things.  (Anyone who judged a natural language by this
> >criterion would have to be barking in fact quite out of their tiny, so
let's
> >not get our Allen's twisted).
> >I can't imagine why anyone would want to write
> >Q:1/4=120 1/4=80
> >which would have the effect of playing at 120 while showing 80, so I am
not
> >interested in whether it's legal or not.  All non-trivial languages allow
> >you to write stupid things.  This sentence is a syntactically correct but
> >syntactically incorrect sentence.  This sentence is a colourless pink
> >banana.  2+2 = -3.7 and so on.
>
> OK.
>
> >So that leaves discussion of what you can do.
> >People wanted
> >a. The ability to define a name for a tempo OK - can do:
> >Anywhere outside the scope of another tune and before the X: of the tune
> >where it is to be used, write:
> >Q:1/4=80 largo
>
> I have two problems with this.  First (as I said before) it causes trouble
> for programs which treat an abc file as random-access if you allow the
macro
> definitions in between tunes (as opposed to in the file header).  Secondly
> Q: is already a legal field in the file header under the abc 1.6
definition,
> so you really need something to mark this out as a macro definition rather
> than a default setting for tempo to be used in all the following tunes.
>
> >b. The ability to use that tempo and have it displayed and played.  Can
do:
> >In the tune (body or header) write:
> >Q: largo
>
> OK.
>
> >c. The ability to say something meaningful to a computer about how it is
to
> >be played at the same time as writing something meaningful to a human
(and
> >preferably meaning the same thing) displayed.  Can do (but the bit about
> >meaning the same thing is not enforced).
> >In the header or body of the tune write
> >Q:1/4=80 largo
>
> OK.
>
> >d. The ability to have a tempo set for the computer to play the music but
> >without anything displayed.  Can do:
> >In the tune (body or header) write
> >Q:1/4=80 -
>
> I don't see the necessity to specify in the abc what the program should do
> with the data.  Surely (as Anselm has pointed out) these are local options
> to be set in a preferences file or command-line switch?
>
> >e. The ability to accept old style ABC.
> >Can do, for instance
> >Q: 1/4=80
>
> OK.
>
> >f. Do all this without upsetting old programs too much if they are fed
the
> >new.
> >As all the new stuff occurs on the end of a legal old-style command,
there
> >is reason to hope that old programs might not be too upset by versions c
or
> >d (and of course not by e).
>
> They don't faze current versions of BarFly as long as the numerical
> specification
> comes first.
>
> >g. Do all this in such a way that it is easy to implement in existing or
new
> >computer programs.
>
> OK.
>
> >Now, considering that all of this is optional so you never need to use
any
> >of it unless you actually want to do these things, I submit it is *not*
too
> >complicated but is about as simple as it could possibly be.  If you have
a
> >simpler scheme that does a..g, please say!
>
> I don't see any point in being able to write one tempo for display in the
> abc and another, different tempo for playback, but that the ability to do
> that is just a side effect of what is being proposed here.
>
> Phil Taylor
>
>
> To subscribe/unsubscribe, point your browser to:
http://www.tullochgorm.com/lists.html
>
>

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

Reply via email to