Phil Taylor writes:
| ... So if your example above
| was in the key of D (as played) you could write:
|
| X:
| T:
| K:D %Marks the end of header and the default key.
| V:1
| K:C
| (music)
| V:2 %this voice is in the default key, so needs no K: of its own.
| (music)
| V:3
| K:A
| (music)
So I note that the V: lines are, technically, all in the "music"
portion, not in the "header" portion. This doesn't seem to be
mentioned in the proposed standard.
| BarFly allows clefs in V: lines in the header; it treats these lines
| in a completely different way from V: lines in the tune, using them to
| set initial values for all sorts of things. Clef changes in the tune
| have to go in K: fields.
This is what the latest abc2ps does, also. But now we have a clear
distinction between V: lines in the "header" and in the "music", with
different syntax. Maybe this should be in the standard. It is, of
course, similar to the sort of distinction made in P: lines, and K:
lines have similar properties (though the syntax is the same for them
everywhere).
What abc2ps does is let you declare your voices in the header with a
rather general syntax:
V: <label> <par1>=<value1> <par2>=<value2> ...
Within the music, you only use V:<label>, or perhaps [V:<label>], to
tell the software that the music that follows is for that voice. The
docs that come with abc2ps say that the <label> may be any "word",
but all the examples seem to use numbers. Symbolic names for a part
are handled in the header with parameters:
V:3 name="Violin II" sname="Vl.II"
Here, the name param is printed on the first staff, and the sname
(short name) is printed on subsequent staves, as is commonly done
with band and orchestra scores.
There are a lot of such V: parameters described in the abc2ps docs,
not all implemented yet. They include a scheme for saying how staves
are grouped, whether a voice has stems up or down, etc. I get the
impression that different programs have implemented something
similar, but with different parameters. I wonder if we could get
together a list of what has been implemented so far?
Any official standard would probably want to include a comment to the
effect that such parameters are all optional, and may be ignored by
programs that don't need them. I can also see the possibility of
software that parses the name= parameter and uses it to establish
things like default clef and transposition, but I'd suppose that a
standard would want to carefully avoid mentioning any such thing.
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html