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