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

Reply via email to