Re: [abcusers] Multivoice in ABC 2.0

2003-10-17 Thread Barry Say
On 17 Oct 2003, Phil Taylor wrote:

> Barry Say wrote:
> 
> 
> You need to place a metre change in all of the voices (if that's what
> you want) since you can have voices in different metres.  (It's not
> common, but it does happen, and not only in avant-garde music - Bach
> did it occasionally.)
> 
I appreciate precisely what you are saying, but it seems to me we are 
complicating matters. Meter changes will generally be global and in 
that case we can write the input for all voices for the first part of 
the tune which is in the initial meter.
Follow this by an M: field
Then continue with the input for all voices for the section in the 
new meter. If we need to change the meter for one voice then this can 
be done with an inline field 

> Yes, that's perfectly acceptable, but you still need to put fields in
> all of the voices to which they apply.  There's nowhere in the tune
> body where you can place a single field and have it apply to all
> voices.
> 

I suggest an exactly similar argument for Key changes.

I include a section from my suggested modifications to the ABC-
standard at http://www.nspipes.co.uk/barry/abc2propos2.html


-

Multivoice notation includes all situations where multiple input 
lines are to be aligned in the output. The simplest cases are perhaps 
one voice and aligned words or symbols or chords. The fields which 
can be involved are: V: (voice); w: (aligned words); s: 
(symbol lines); and c: (chords).
 
 

K:specification %start of tune.

  %these should be unnecessary at his point.
Multivoice block

Multivoice block
.
.
Multivoice block
Blank line

The Multivoice block consists of the fields mentioned above. and 
might look like.

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|


A section of one voice is notated . The equivalent section of all 
other voices are then appended along with symbol lines, guitar chords 
and inline words. All voices can be multiline. The voice, chord and 
symbol lines do not have an included space when joined.  Inline 
fields e.g.[M:4/4], [K:G] apply only to the voice in which they 
occur, but fields between blocks have a global effect across all the 
voices.

The first voice in the block controls line-continuation and line-
breaking for the whole score so the \ at the end of the V:1 field 
merely indicates that this is not a staff break.

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


Re: [abcusers] Multivoice in ABC 2.0

2003-10-17 Thread Barry Say
On 16 Oct 2003, [EMAIL PROTECTED] wrote:

> > I do not like the unnecessary proliferation of inline fields of
> > ABC2.0.
> 
> I don't think its unnecessary.  If you want to change clefs in mid
> line, for instance.  I don't like using the K: field to indicate cleff
> since most of the tunes that use the V: field to date don't specify a
> K: for each V: (as I mentioned in the documentation of iabc).  That
> is, most people expect voices to 'inherit' the key specified in the K:
> field. To subscribe/unsubscribe, point your browser to:
> http://www.tullochgorm.com/lists.html

My major objection to inline fields is encapsulated in the statement 
from ABC2.0 rev IV


---

To avoid ambiguity, inline fields that specify music properties 
should be repeated in each voice. For example,

...
P:C
[V:1] C4|[M:3/4]CEG|Gce|
[V:2] E4|[M:3/4]G3 |E3 |
P:D
...

-

the need to align the meter change in every voice seems a great 
problem in parsing. What action does the program take when one voice 
out of eight does not align.

ABC 2.0 states


For backward compatibility, it is still allowed to notate tune fields 
on a line by themselves, between the music lines:

ed|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|
M:2/2
K:G
AB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|



If we are considering multivoice notation, this seems a far more 
sensible way to notate global key and meter changes than having to 
match inline fields in all voices.

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


Re: [abcusers] Multivoice in ABC 2.0

2003-10-15 Thread Barry Say
On 14 Oct 2003, [EMAIL PROTECTED] wrote:

> Hi Barry, I agree about putting things in the V: header (or other
> headers).  V: makes sense for type specific things.
> 
> I disagree about removing the [] in front of the lines for voice
> change.  The reason is that, for instance abcd is a valid voice name
> in the new standard and is also valid tune body, so the parser has to
> work a lot harder (slower) to get this to work.

I dont see the problem. The first token following The V: tag must be 
a label. In multivoice a V: tag without a label is useless. for a 
single voice, that voice would either have the label defined in the 
tuneheader or none.

I do not like the unnecessary proliferation of inline fields of 
ABC2.0. I fear it will lead to more syntax errors.
Barry Say
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


[abcusers] Multivoice in ABC 2.0

2003-10-09 Thread Barry Say
I have come to the point in my software where I must give 
consideration to multivoice typesetting

I intend to allow "V:score" as an alternative to "%%score".

The concept of removing voices from a particular typeset version of 
the ABC field is excellent, but as far as I can tell there is no way 
of affecting the inline words. Once included in the file they will be 
printed out whenever their attached line is output (I presume).

I am quite happy to go with whatever version of %%score is accepted 
but I think a decision is required on inline words.

Further, I intend to allow the omission of square brackets around 
voice field specifiers at the start of lines in the tune body. I 
cannot see the necessity for this construct.

Barry Say


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


Re: [abcusers] Clarification wanted on abc draft standard 2.0 (fwd)

2003-10-04 Thread Barry Say
On 4 Oct 2003, John Chambers wrote:


> I'd guess that this is fairly common. It's likely that some abc tools
> that handle w:  lines now do align syllables with rests,  but  nobody
> has ever noticed.
> 
> If  this is true, then making this the official behavior would hardly
> break anything. And those songs would already be semi-broken, because
> there  hasn't  been an official standard for this and different tools
> probably do handle it differently right now.
> 

I dont believe that ABC 2.0 represents a widely accepted standard 
yet, rather I think that the list just got tired of the discussion

This is exactly the sort of situation for which I suggested an 
extension to the I: field in my proposed extensions to ABC.
(www.nspipes.co.uk/barry/abc2proposal.html.)

I: _switch align lyrics to rests
or I:SWITCH align lyrics to rests
or I:SWITCH align_lyrics_to_rests

(The above three forms are alternatives)

The converse would be 

I:SWITCH no_lyrics_on_rests

I would prefer to see the new standard allowing lyrics on rests (but 
not barlines) and allowing the above switch for the rare occasions 
when old files need to be interpreted. 

I agree with the correspondent who would rather not introduce 
gratuitous percussion notation.

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


Re: [abcusers] Clarification wanted on abc draft standard 2.0 (fwd)

2003-10-02 Thread Barry Say

> 
> Under what circumstances would you want a word or symbol in the lyrics
> to align with a rest?
> 
> Phil Taylor
> 
> 
I have seen this in the case where words are spoken are shouted or 
indications such as (clap) (stamp). Sophisticates  may well use 
percussion notation rather than rests in the melody line, but I have 
seen both. It seems more flexible to allow this rather than forbid. I 
think the question is why should it be forbidden?

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


Re: [abcusers] suggested modifications to the ABC standard

2003-09-28 Thread Barry Say
On 27 Sep 2003, John Walsh wrote:

> Stephen Kellett writes: 
> 
> John Walsh writes: 
> 
> >>(My own impression is that using white space as a delimiter 
> >>probably works better for machines than humans---and I think 
> >>I helped prove that 
> >> 
> 
> >I think you got that the wrong way around? I can give well known (in
> >computing circles) examples of where whitespace has been used as
> >delimiters and it has caused lots of problems. 
> >
> 
> Wouldn't be the first time, won't be the last.  But I was
> thinking
> of the infamous white-space-delimiter-just-before-linebreak which
> computers can see, but which causes many humans to make oversights
> which are sometimes caught before said human throws the monitor thru
> the window, sometimes not.  Possibly we're both right on this?
> 

Following the discussions on list and some off-list, I will be 
modifying my suggestions to require a leading underscore on a field 
label. So, the format will become:

(Single-letter tag)(colon)(optional whitespace)( whitespace-
terminated label).

The exceptions being (There are always exceptions)

V: fields in the tunebody which are assumed to have a label so the 
underscore is superfluous

I: field to allow for the I:MIDI in an earlier standard. Does anyone 
out there actually use the I: field. I know it is mentioned in the 
ABC 2.0 standard as an alternative to the directive/postscript-
comment %%, but has anyone used it in notation? I know there have 
been some suggestions to sub-divide these huge categories to produce 
application-specific groups.  Any thoughts.

Barry Say


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


[abcusers] traffic

2003-09-18 Thread Barry Say
??

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


[abcusers] suggested modifications to the ABC standard

2003-09-15 Thread Barry Say
After much consideration and a little discussion, I have devised some 
modifications to the ABC standard, which I think could make the 
structure considerably more elegant without doing to much damage to 
existing applications. As they are rather complex I have described 
them on a web page:

www.nspipes.co.uk/barry/abc2propos_r1.html

I would welcome any comments on or off list.

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


Re: [abcusers] ABC 2.0 avoiding line breaks

2003-08-24 Thread Barry Say
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 

Re: [abcusers] Revising the ABC standard.

2003-07-31 Thread Barry Say
On 31 Jul 2003 at 12:50, I. Oppenheim wrote:

> 
> The sections are now all numbered.
> http://www.joods.nl/~chazzanut/abc/abc2-draft.html
> 

Thank you for adopting my numbering suggestion. 

Section 6.1 Deprecated fields

"An E: field was once used by abc2mtex to explicitly control note spacing: this is no 
longer necessary with current formatting algorithms."

This is erroneous because E: is still used by abc2mtex to control note spacing.

Whether or not you consider it is necessary is irrelevant.  

I agree that the postscript systems produce nice output and I may well use it in the 
near future for typesetting duets, but I like using my TeX based system for a whole 
series of reasons.

I write ABC which fully conforms to ABC 1.6.1 and use features of TeX to customise 
the output. This is useful when re-typesetting music which is already published when 
a new edition is required, and it is necessary not to disturb the layout too much. 

The version ABC 1.7.6, I recently downloaded still claims to be a draft. I therefore 
suppose agreement was never reached, so 1.6.1 remains as the last standard. I 
understand that various developers extended this standard in various ways which 
were not mutually compatible and I guess did not implement those parts which were 
TeX-oriented.

I welcome the attempt to develop a new standard, if the motive is to get allow the 
various dialects of ABC to speak to one another.  However, if this new standard 
excludes ABC written for abc2mtex, then I oppose the project entirely.  I question 
whether this is a revision or, rather, hijacking the standard for the convenience of a 
later implementation. If this is the case, it should take a new name (ABC+) and leave 
ABC for the old standard.

I was planning to upgrade abc2mtex program, and would obviously attempt to make 
other dialects of ABC intelligible to it especially where these conform to a later 
standard, but if the new standard scorns backward compatibility to the origins of ABC,
 I will develop software for my own benefit.

So, either:

The entry should read
"The E: field is used by abc2mtex to explicitly control note spacing, but this is not 
included in this standard and ABC written according to standards 1.6.1 and earlier 
may or may not be compatible with software written to this standard".

and the new standard should be called ABC+

or:

we should decide in favour of backwards compatibily and write ALL the aspects of 
1.6.1 into 2.0.0. Software developers would be free to ignore the features they did 
not 
wish to implement, but software which claims to be compatible with 2.0.0 and later 
should not fall over when presented with valid 1.6.1 ABC.

Obviously, I prefer the latter.
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html


[abcusers] Revising the ABC standard.

2003-07-30 Thread Barry Say
How are we going to reach decisions on a new standard? 
How come the proposal by Guido was suddenly expanded? 
Shall I now post my version on a website and call it revision IV? 
Are we going to vote? 
If so who votes?.

The density of mail on the list is no guide to the opinion of list 
members. If someone raises an objection to some element of the 
standard do we then have to have 30 "I agree" messages on an 
already very active list to show this is the will of the assembly

I think we must first decide whether Revision III is a step forward. 

Then, whichever version  is taken as a basis for discussion, we need 
it reformulated in a hierarchically numbered fashion so that we can discuss
particular sections ( 2.7.6 or whatever), propose changes and come to a 
decision. 

It may be that we have to revive the developers list and 
restrict discussion to the new standard until we have sorted it.

What is Chris Walshaw's position on this? ABC is his invention and I 
would have thought he had some "ownership" of the standard. There 
is no reason why anyone  should not be extend ABC and call it ABD, but 
for a self-selected group to take over a standard and change it 
gratuitously seems to set a very dodgy precedent - standard hijacking?

The best examples I can think of come from Microsoft (HTML, Java) 
and we wouldnt want to end up like that, now would we.

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


[abcusers] ABC 2.0 Compatibility with ABC2MTEX

2003-07-30 Thread Barry Say
I am concerned about the lack of backwards compatibility of the proposed standard with 
abc2mtex. 
Since this was the original program for ABC, I think these issues deserve some 
consideration.

1.  I have already mentioned the E: field in a previous e-mail. This needs 
reinstating

2.  This version of the standard has gone overboard in specifying %% type 
directives. As I 
understand it, this is a postscript notation.
In abc2mtex, lines starting with "\" were used to pass information directly to the 
typesetting level. 
These must be allowed in the new standard

3.  When the last (none-space) character on a line is a backslash (\) the next 
line is 
appended..

If the next line is a comment, meta-comment, directive or begins with a backslash, it 
should be 
treated appropriately and the the next line appended to the previous 
unless (I'm sure 
there is a more concise way of putting this).

4.  Line-breaking. I understand the logic behind the approach, but it conflicts 
with the ABC 
standard. This stated that a line of ABC generated one or more lines of input. All 
music was left 
justified and a right justified break could be forced by using "*". In earlier ABC 
music was 
terminated with "**" to ensure a justified final line. This is no longer part of the 
standard, but future 
software should not fall over when this is encountered. Get rid of  "!". Note that it 
has been used, it 
was never standard and its use is severely deprecated.

5.  I preferred the approach in Guido's Draft:

"It should be stressed that meta-comments are not part of the ABC notation"

Meta-comments should be allowed to start with ' \' or '%%'
The exact range of forms (The Stylesheet specification) should be an appendix.

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


[abcusers] Subject: ABC 2.0 - reviving E:

2003-07-30 Thread Barry Say
I am just about catching up with this review process and 
think I should add my tenpennorth as an advocate of 
abc2mtex.

The ABC 2.0 draft was based on ABC 1.7.6, but the last 
version of ABC2mtex produced was 1.6.1 which is pretty 
well backwards compatible with all previous versions. 
1.7.6 did not include the E: (spacing) field which is pretty 
well essential in TeX based type setting. 

Proposal: The E: field should be added as an 
information field specifying a spacing parameter 
Header: yes
Tune:   yes
Example E:12 
Multiple occurence: Replace
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html