John Chambers <[EMAIL PROTECTED]> said on  24 Aug 2003

> The real problem we're facing is:  A lot of people  really  want  the
> final  backslash  to  mean  "continue  with the next line of the same
> type".  But this discription is sufficiently ambiguous that we end up
> with  different  implementers having different understandings of what
> such a description means, and implementing it differently.

Can I suggest the following rule for the interpretation of lines 
terminated by a backslash.

First of all we should take note of the fact that ABC consists of 
fields and a tunebody.

Where a line of a field outside the tunebody ends in a '\' it acts as 
a continuation character and the next line is appended.

Now for the long bit.

In the tunebody of a multivoice tunes, we have one or more voicelines
symbol lines, included-words line(s) and perhaps guitar chord lines.

The following suggestion is simply an extension of the w:lyrics 
section of ABC 1.7.6

I quote:

w:lyrics; supplies a line of lyrics to be aligned syllable by  
syllable below the previous line of notes. Syllables are not aligned 
on grace notes and tied notes are treated as two separate notes. 
Because lyrics tend to take up more space than notes, one w: field 
and all continuations match one line of notes, whether or not the 
line of notes ends with a continuation character. If a line of notes 
is followed by several w: fields, each one supplies alternate words 
for the notes (this is typically used for writing the verses of a 
song).

endquote

So the scheme would be something like this. One of the voices of the 
piece is selected as the primary voice. The ABC for this voice is 
entered in the tune body in appropriate sized chunks using 
continuation characters as appropriate.

% 1 - 4
[V: 1] |:z4  |z4  |f2ec         |_ddcc        |\
% 5 - 9
[V: 1] cAB2     |cAAA |c3B|G2+fermata+Gz ::e4|\
% 10 - 15
[V: 1] f_dec |B2c2|zAGF  |=EFG2          |1F2z2:|2F8|]


I have chosen to continue all the lines for this voice  so the 
staffbreaks will be at the discretion of the typesetting application. 
I have chosen V: 1 as the primary voice but I could as easily chose 
V: 2 since the order of writing the voices is not necessarily linked 
to the order in the score. 

Now, I will add the words according to 1.7.6

% 1 - 4
[V: 1] |:z4  |z4  |f2ec         |_ddcc        |\
w: Son que-sti~i cre-spi cri-ni~e
w: Que-sti son gli~oc-chi che mi-
% 5 - 9
[V: 1] cAB2     |cAAA |c3B|G2+fermata+Gz ::e4|\
w: que-sto~il vi-so ond' io\
 ri-man-go~uc-ci-so. Deh,
w: ran-do fi-so, tut-to re-stai\
 con-qui-so.
% 10 - 15
[V: 1] f_dec |B2c2|zAGF  |=EFG2          |1F2z2:|2F8|]
w: dim-me-lo ben mi-o, che que-sto\
 sol de-si-o_. 

So, apart from the introduction of the [V: 1] construct and the use 
of +fermata+ inplace of !fermata! this is pure ABC 1.7.6
I will now add the other voices following the same procedure

% 1 - 4
[V: 1] |:z4  |z4  |f2ec         |_ddcc        |\
w: Son que-sti~i cre-spi cri-ni~e
w: Que-sti son gli~oc-chi che mi-
[V: 2] |:c2BG|AAGc|(F/G/A/B/)c=A|B2AA         |
[V: 3] |:z4  |f2ec|_ddcf        |(B/c/_d/e/)ff|
% 5 - 9
[V: 1] cAB2     |cAAA |c3B|G2+fermata+Gz ::e4|\
w: que-sto~il vi-so ond' io\
 ri-man-go~uc-ci-so. Deh,
w: ran-do fi-so, tut-to re-stai\
 con-qui-so.
[V: 2] AAG2     |AFFF |A3F|=E2+fermata+Ez::c4|
[V: 3] (ag/f/e2)|A_ddd|A3B|c2+fermata+cz ::A4|
% 10 - 15
[V: 1] f_dec |B2c2|zAGF  |=EFG2          |1F2z2:|2F8|]
w: dim-me-lo ben mi-o, che que-sto\
 sol de-si-o_. 
[V: 2] ABGA  |G2AA|GF=EF |(GF3/2=E//D//E)|1F2z2:|2F8|]
[V: 3] _dBc>d|e2AF|=EFc_d|c4             |1F2z2:|2F8|]

No further continuation characters are required. The words for these 
voices could then be added as could symbol and chord lines. If we 
wish to break the score at bar nine we remove the \ from Gz ::e4|\
If on the other hand, we wished to force a staff break after bar 8  
we could change the line to:
[V: 1] cAB2     |cAAA |[*]c3B|G2+fermata+Gz ::e4|\
using an extension of abc2mtex 1.6 or following the spirit of 
abc2win:
[V: 1] cAB2     |cAAA |[!]c3B|G2+fermata+Gz ::e4|\
These constructs are a simple extension of the inline fields format. 

In some respects some of the confusion here is a matter of 
terminology. Abc2mtex 1.6 does not mention a continuation character. 
It says "If, however, you wish to use two lines of input to generate 
one line of music ..... then simply put a \ at the end of the first 
line. This is also useful for changing meter or key in the middle of 
a line of music."

This is not a very tight syntax definition but its intent to me is 
obvious. The role of the \ line-terminator in this case is to 
indicate that the subsequent linebreak should not invoke a 
staffbreak. 

The rule would be that linebreaking and continuation information is 
contained in the first written voice. Subsequent voices, word lines, 
symbols and chords must be between the lines of the first voice 
written in sections equivalent to the written lines of the first 
voice. Word lines may use a continuation character. This seems to be 
a simple definition.  The insertion and removal of linebreaks is 
straightforward and the rules of good style in ABC 2.0 are preserved.

Voice overlay would be a special case but as this would appear as &\ 
it would be easy to distinguish this from other cases.

I trust that readers of the list will find this a useful suggestion.

Barry SayBarry Say
------------------------------------------------------
B & J Say Smallpipes  - http://www.nspipes.co.uk
Making and Repairing Bagpipes in the Northumbrian Tradition.


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

Reply via email to