Laura Conrad wrote:
>
> Frank> And, oh yes, let's start discussing something really simple. We all need
> Frank> some discussing practice before we try to handle the big stuff.
>
> So propose a topic.
Seems Jack got ahead of me:
Jack Campin wrote:
>
> Okay: tempi in words.
Great, that's definitely something we could use in ABC.
Allow me to split the subject into three sub-issues:
1. Q: field syntax
That ought to be simple:
The Q: field is an optional field, so there's no real need to be strict
about it: Any ascii string should be accepted in the Q: field. Whether a
given application can make anything out of it, is another question, but
if it can't, it should just use it's default tempo value without making
any fuzz about it.
-------
2. Displaying tempo indications
Again, pretty simple:
The content of a Q: field should be displayed above the staff system at the
beginning of the first bar after the Q: field.
If the Q: field contains the syntax:
[note value]=[number]
or
[note value] = [number]
[note value] is replaced by a note of the given value.
Special case:
If the Q: field only contains a number, it is displayed as:
[value of L: field]=[value of Q: field]
or
[default L: value]=[value of Q: field]
if no L: field is present.
Notes:
+It might be tempting to use the Q: field for displaying text
strings unrelated to the tempo. We'll need a "free text"
syntax (similar to what BarFly and other programs already
supports) to defuse that possibility.
+We'll probably need a way to define playback-only Q: fields
as well. It's tempting to use the old style "number only"
syntax for that, but I'm not sure if that's a good idea.
-------
3. Playback tempo
This is where the difficulties comes:
Number-only Q: field:
The number is taken as the tempo for the L: note value.
Complex Q: field:
If the Q: field contains the syntax:
[note value]=[number]
or
[note value] = [number]
[number] is taken as the tempo of [note value].
If not, well we need some kind of tempo definition syntax. It might be
something like:
q: Allegro = 1/4=144 %(BarFly style)
or
%%tempodef Allegro = 1/4=144 %(abc2midi style)
or...
(there are lots of people at abcusers who knows far more than me about this.)
---
Order of priority for playback tempo
No matter how we look at it, there'll be (and already is) a number of
different ways to set the playback tempo, so we need to establish a
pririty order:
1. Value given directly in the Q: field
2. Value from the tempo definiton syntax (woops, bad language - hope
everybody understand what I mean)
3. Value defined by the R: field (some abc applications apply various
methods for choosing tempo according to the R: field)
and as a last resort:
4. The application's default tempo value.
Frank Nordberg
http://www.musicaviva.com
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html