Richard Robinson writes:
>
>abc2mtex did something with it, didn't it ? But I forget the 
details.
>

        Yes, as a matter of fact, it did.  I was just thinking
that what goes around, comes around, since this is now appearing
once again.  (By the way, there's no worry about backward
compatibility here---not that anyone is worrying about
compatibility with abc2mtex anyway---for it was just a hack to
make multistaff music possible at that time, and it was soon
obsoleted by the V: field.  If more than ten people in the world
ever used it, I'd be surprised.)

Phil Taylor writes:

>
I> see - it's a MusicTex function then, rather than part of 
abc2mtex?
>

        Well...it is and it isn't.  The "&" is part of musixtex,
and the "&&" is part of abc2mtex, (which of course translates it
into something different in musixtex.)

     It worked the following way:  if one had three voices, say,
then the command "&" would toggle the voices in turn, i.e.

     <notes1> & <notes 2> & <notes3>

would give the notes in the first voice, the parallel notes in
the second voice, and ditto in the third.  (But an additional "&"
would *not* send it back to the first voice---that might be ok
for machines, but for humans it's a guaranteed disaster...it
would take no time to get completely lost in the voices.) In
fact, there was another mechanism for that, which was a
start/stop operator, &&.  With this, the above would actually be
written

        && <notes1> & <notes 2> & <notes3>&&

The second && resets it to the first voice.  Admittedly, when we
talk about voice overlay, we are talking about something slightly
different from the above.  In abc2mtex, the voices were
pre-defined in the header, just as the V: field is now.  I'll
call such voices "globally defined."  So abc2mtex used it for
globally-defined voices.  The & operator is now being suggested
instead for what I might call "locally-defined voices," or even
"implicitly-defined voices," voices which appear suddenly, then
disappear after a couple of bars, without ever being defined by a
V: field. [Of course it's probably used for other purposes,
too...]


        I have used this machanism a couple of times with
abc2mtex---but no more often than I absolutely had to. (Tried it,
didn't like it.) The problem is that it is extremely difficult to
proofread and correct. I could find a mistake in the staff
output, but re-finding it in the abc was another problem.  Like
as not, I'd end up correcting the wrong notes. And this was with
only two voices. Once you've used the & character a few times,
it's difficult to sort thru all of them to find the spot that
you're after.

        From the number of posts in this thread, it looks as if
this is a good feature, and probably deserves some thought, so
let me make a couple of observations.


        From my experience, I'd say that the operative thing here
is ease of proofreading and correcting, even more than ease of
either writing or reading.

        For instance, the 2.0 standard says that one should start
the overlay at a barline.  However, this might force one to
extend the segment further than absolutely necessary,
particularly if the barlines are sparse.  The longer the segment,
the harder the proofreading.  I'd suggest adding a start/stop
character, making it possible to start and end in the middle of a
measure, and to continue across barlines.  In abc2mtex, it's
"&&";  abcm2ps suggests "(&" and "&)" for that, and uses "&&" for
something else.

        I like that, since the pren tells you if it's the start
or end of a segment, and that simplifies finding the critical
place in the abc.

        A couple of questions.

        If I read the abcm2ps documentation correctly, it's
possible to have two implicitly-defined voices on each staff
(making three voices in all) one gotten with "&" and the other
with "&&."  (The limitation seems to come from the need to
distinguish voices by note-staff directions.)  Is there any need
for more than this?

        The abcm2ps documentation mentions the problem of
distinguishing "(&" from the beginning of a slur, but is that a
real problem?  Can't one just treat "(&" as a special case like
"(3"  for a triplet? If it should be absolutely necessary to have
a slur just before an "&", then add a space between them: "( &".  
(Of course, there remains the question of whether that slur
applies to one voice, or to all.  Hey---that's someone else's
problem.)



Cheers,

John Walsh


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

Reply via email to