I raised this obliquely in the tempo discussion (and Laurie followed it
up in a special case) but it's a wider issue.

If you put a K:, Q:, L:, or M: field in a tune body, there needs to be a
clear definition of the scope affected by that field.  In the case of a
repeat, the required semantics is unambiguous, albeit maybe not trivial
to implement.  When part labels are involved there is a decision to make.

   X:1
   P:ABACA
   K:Gmaj
   P:A
   ...
   P:B
   K:Dmaj
   ...
   P:C
   ...

What key is part C in?

The answer that makes most intuitive sense to me is Gmaj (which is what
it would look like if you unrolled the part order explicitly).  Does
everyone implement it that way?  (It might be a temptation for people
implementing display-only programs to cut corners and only look at the
static context).

Now try something a bit more complicated:

   X:1
   P:ABACA
   K:Gmaj
   P:A
   ...
   K:Cmaj
   ...
   P:B
   K:Dmaj
   ...
   P:C
   ...

Does that change the answer?  Does part C inherit its header field data
from the way part A starts or the way it finishes?

I have no particular brief for either answer, but it needs to be decided
one way or the other.  The model of unrolling the part order and following
staff notation practice would suggest that the key for part C is now Cmaj,
but we don't necessarily have to follow that model, in some situations it
might be easier to read the other way round.

I would suggest, though, that the decision goes the *same* way for all
fields, even if it might be less intuitively right for some than others
(e.g. imagine a part that ends with a mass of fast passagework requiring
a change of L: to make it readable - chances are the next part won't
continue the same way, i.e. the opposite logic to that for K: above).

=================== <http://www.purr.demon.co.uk/jack/> ===================


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

Reply via email to