Re: [abcusers] Proposal for (simple) ending syntax

2001-03-01 Thread Jean-Francois Moine


John Chambers a skrivas:
[snip]
 before or after a |. The abbreviation :: may be used for :|:, i.e., a
 combined end-repeat and start-repeat in the middle of a staff.

I see ::, but no :|: in the actual standard/draft. Do we have to
implement it?

[snip]
 1.  An alternate ending is indicated by [ immediately followed  by  a
 string of digits, hyphens and commas. If the [ follows a bar line, it
 may be omitted.  It is expected that these define a sequence 1..N, in
 the same fashion as standard music notation, to indicate playing the
 phrase N times with two or more different endings..

Agree (already done in abcm2ps).

 2.  Multiple colons may be used before or after bar lines to mark the
 ends of repeated sections.  These are used to indicate multiple times
 through the passage, one extra time per colon.  If the  multi--ending
[snip]
|:   ... | ... |[1,3 ... :|[2,4 ... :|
|::: ... | ... |[1,3 ... :|[2,4 ... :|
 These are equivalent.  The extra colons are useful  for  readability,
 but aren't needed because the 1,3 and 2,4 give the same information.
[snip]
 The extra colons may be omitted with no loss of meaning.
[snip]
 Many musicians are not familiar with the multi-colon  notation.   But
[snip]

Right, over 45 years of my music life, I never saw such a notation!

[snip]
 I'd rather not see this degenerate into a discussion of how to notate
 all  the  possible repeat patterns.  Granted, this isn't a completely
[snip]

OK for me, I will just ignore these multiple colons instead of adding
dashed bars! BTW, could these last ones (simple colon) be the new
standard?

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
|   http://moinejf.free.fr/
Pépé Jef|   please, on reply, mailto:[EMAIL PROTECTED]
|or mailto:[EMAIL PROTECTED]


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



Re: [abcusers] Proposal for (simple) ending syntax

2001-03-01 Thread John Chambers

Jean-Francois Moine [EMAIL PROTECTED] mentions:
| John Chambers a skrivas:
|   [snip]
|  before or after a |. The abbreviation :: may be used for :|:, i.e., a
|  combined end-repeat and start-repeat in the middle of a staff.
|
| I see ::, but no :|: in the actual standard/draft. Do we have to
| implement it?

Good point.  Something that has been mentioned before that I think is
a good idea:  Redundant bar lines should generally be reduced without
comment.  This is already done in some cases by abc2ps.  Thus, if one
line ends with :| and the next starts with |:, and you've used the -c
option (meaning to ignore line  endings  and  generate  staff  breaks
automagically),  the  pair  is reduced to ::.  Similarly, ::  will be
rewritten as :|\n|: if that's where a staff break ends up.  There are
a lot of abc files around with endings like :|| and :|], which aren't
strictly legal by the current standard, but probably should  be  made
legal.  I saw a case of :|: earlier today in another mailing list. So
:|:  and :||:  should be accepted as meaning the same as  ::   (which
should probably be considered an abbreviation).

The best justification is the old advice to be liberal  in  what  you
accept  and conservative in what you produce.  The other form of this
argument is that it makes life easier for  programmers  in  the  long
run.   A  lot of abc has been and will be generated by software.  The
programmer's job is made a lot easier if you can do things like  just
produce  :|  at  the end of a repeat without the routine knowing what
comes next.  This will tend to  produce  :||:   in  the  naive  case.
Requiring the program to reduce this to :: is a needless complication
that wastes many programmer hours. The abc can't just be produced; it
must  be  accumulated  in memory and examined for possible rewritings
like this. It's far more efficient to just output the simple abc, and
then chew these things up during input and do the reduction there.

There's also the fact that abc isn't just a  computer  code.   It  is
written and read by humans. Many of them are musicians with very poor
understanding of the needs of software.  Current practice shows  that
they do generate all sorts of "reasonable" abc.  Life would be easier
for everyone if the software were also reasonable about such  things.
You  may  think that it makes extra work for the programmer, but that
bit of extra work saves everyone a lot of hand-editing to correct the
abc  from  non-expert  users (or users of software that produces such
non-standard abc).

| |:   ... | ... |[1,3 ... :|[2,4 ... :|
| |::: ... | ... |[1,3 ... :|[2,4 ... :|
...
| Right, over 45 years of my music life, I never saw such a notation!

Where've you been, boy? I've seen it a lot. I would say, though, that
it's  notation  mostly used and liked by dance musicians.  One of the
real problems with a lot of printed music is following  the  repeats.
I've  seen a lot of cases of a piece of music falling apart and dying
because  the  musicians  can't  find  the  start  of  a   repeat   or
misunderstand  how  many  times  to play a phrase.  If you're reading
music that has been put up on a stand, it helps a lot if the  repeats
are  VERY  clearly marked.  So experienced dance musicians will write
the |::: to give the reader advance warning that this is the start of
a  four-times  repeat.   The  bar line(s) will typically also be very
thick, and together with the three colons, it gives you a mark that's
easy  to  spot in a fraction of a second.  Most musicians not working
under such pressure don't know or care about such things, but some of
us  know  about  it  and  consider  it valuable.  And it's so easy to
implement ...

| OK for me, I will just ignore these multiple colons instead of adding
| dashed bars! BTW, could these last ones (simple colon) be the new
| standard?

Not sure what you're saying here.  In a case like |::  ...  ::|,  the
colons are not extra.  This means three times through, and there's no
other common notation for it. Ignoring the extra colons in such cases
is simply wrong.

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



Re: [abcusers] Proposal for (simple) ending syntax

2001-02-25 Thread Phil Taylor

John Chambers wrote:

While the great chord debate rages on, I thought I'd  toss  out  what
I've  implemented  in  my  abc2ps  clone  for  handling more kinds of
endings and repeats than the rather limited ABC 1.6 allows.

This isn't a solution to all the  world's  repeat  problems.   It  is
merely  something that is 1) very easy to implement and 2) covers 90%
of what is needed.


snip

I have no real objection to this, and in fact have already implemented
some of it in BarFly.  However, while it is perfectly easy for display
programs to implement, when it comes to playing abc that's another story!
One immediate problem is that there are many tunes out there which are
(incorrectly) written as:

|: ,,, |1 ... :|2 ... :| ...

BarFly (and probably other players too) will patch this up and let
it play correctly because it _knows_ that only two repeats are possible.
Once higher numbers of repeats become available this has to be flagged
as an error (missing third repeat).

I've found it quite difficult to get all the alternate ending possibilities
to play correctly.  Not that any of this is an argument against the
proposal, just that it may take a while for players to catch up with
the standard if it is incorporated.

Phil Taylor


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



Re: [abcusers] Proposal for (simple) ending syntax

2001-02-25 Thread John Chambers

Phil Taylor writes:
| John Chambers wrote:
| While the great chord debate rages on, I thought I'd  toss  out  what
| I've  implemented  in  my  abc2ps  clone  for  handling more kinds of
| endings and repeats than the rather limited ABC 1.6 allows.
| snip
|
| I have no real objection to this, and in fact have already implemented
| some of it in BarFly.  However, while it is perfectly easy for display
| programs to implement, when it comes to playing abc that's another story!
| One immediate problem is that there are many tunes out there which are
| (incorrectly) written as:
|
| |: ,,, |1 ... :|2 ... :| ...
|
| BarFly (and probably other players too) will patch this up and let
| it play correctly because it _knows_ that only two repeats are possible.
| Once higher numbers of repeats become available this has to be flagged
| as an error (missing third repeat).


This can't possibly be treated as an  error,  because  it's  how  the
current  ABC  standard  requires that one write a 4-times repeat with
two endings.  There are a lot of ABC files written this way,  with  a
lot  of grumbling about ABC's limitations.  Nobody likes it, but it's
not an error if the software forces you to write it that way.   Until
most  of  these  tunes  get rewritten, software should accept this as
correct 1.6 ABC.  And, of course, the ABC won't  be  rewritten  until
software generally accepts the better notation.

One problem is that too many people treat that final :| as a typo. It
causes  a lot of problems with people trying to read music, because a
lot of them will also treat the final repeat  as  a  typo  and  barge
ahead,  while  the  other  half of the group does the repeat.  But it
isn't a typo or error at all; it's simply the best that ABC permits.

Ignoring the final :| is incorrect behavior.  It should be treated as
if it were written:

  |: ,,, |1,3 ... :|2,4 ... :| ...

I and others would have preferred to write this. The reason we didn't
is  that the software rejected it.  I've patched abc2ps to accept it.
This wasn't difficult; it took me maybe half an  hour.   But  there's
still  a  lot  of  software  out there that won't accept it, and as a
result, there's still a lot of ABC that writes it the other way.

The best solution, of course, is to try to get  software  writers  to
make  programs  accept  the  extended repeat notation.  Once the most
popular programs accept it, only then  can  we  start  suggesting  to
users that they upgrade their files to use it. And only after they've
(mostly) done so can we decree the 1.6 repeat notation obsolete. This
will  probably  take  a  couple  of years even if all the software is
upgraded this week.

(Yes, I am well aware that it's a lot harder for player programs. But
it sure would be nice if they'd play my Scandinavian tunes correctly,
and most of them have 4-times repeats.  I just did a quick check, and
I still have over 200 tunes that use the |1...:|2...:| notation, even
after converting a lot of them.)

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



[abcusers] Proposal for (simple) ending syntax

2001-02-24 Thread John Chambers

While the great chord debate rages on, I thought I'd  toss  out  what
I've  implemented  in  my  abc2ps  clone  for  handling more kinds of
endings and repeats than the rather limited ABC 1.6 allows.

This isn't a solution to all the  world's  repeat  problems.   It  is
merely  something that is 1) very easy to implement and 2) covers 90%
of what is needed.

The current standard only allows first and second endings. It uses [1
and  [2,  where  the [ may be omitted after a |, and there may be a :
before or after a |. The abbreviation :: may be used for :|:, i.e., a
combined end-repeat and start-repeat in the middle of a staff.

The limitations here are that only twice-through repeats are possible
using either of the notations:

   |: ... :|
   |: ... |[1 ... :|[2 ... ||

What I propose is that the new standard allow:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1.  An alternate ending is indicated by [ immediately followed  by  a
string of digits, hyphens and commas. If the [ follows a bar line, it
may be omitted.  It is expected that these define a sequence 1..N, in
the same fashion as standard music notation, to indicate playing the
phrase N times with two or more different endings..

2.  Multiple colons may be used before or after bar lines to mark the
ends of repeated sections.  These are used to indicate multiple times
through the passage, one extra time per colon.  If the  multi--ending
syntax  is  used, the extra colons may be omitted at the beginning of
the phrase (to go along with conventional music notation).   Multiple
colons  may  be used to indicate multiple repeats without differences
in the endings.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The new standard might also include the statement that  endings  need
not  start  at  bar  lines; i.e., it is legal to use [ to indicate an
ending that is a  partial  measure.   This  is  legal  with  the  old
standard,  of course, but it often doesn't work, because implementors
aren't familiar with the usage.

Some examples of repeated phrases, where ... stands for the notes:

A phrase played three times:
   |:: ... ::|

A phrase played four times, with alternating endings:
   |:   ... | ... |1,3  ... :|2,4  ... :|
   |::: ... | ... |1,3  ... :|2,4  ... :|
   |:   ... | ... |[1,3 ... :|[2,4 ... :|
   |::: ... | ... |[1,3 ... :|[2,4 ... :|
These are equivalent.  The extra colons are useful  for  readability,
but aren't needed because the 1,3 and 2,4 give the same information.

A phrase played four times, with three different endings:
   |: ... | ... |1,3 ... :|2 ... :|4 ... ||

A phrase played four times, with a different ending the fourth time:
   |::: ... | ... |[1-3 ... ::|[4 ... ||
The extra colons may be omitted with no loss of meaning.

A phrase played three times with partial-measure endings:
   |: ... | ... | ... [1 ... :[2 ... :[3 ... ||

Many musicians are not familiar with the multi-colon  notation.   But
dance  musicians  usually  know  it very well, and like it because it
makes the music easier to read.  It's another "standard" that is  not
implemented by all ABC software due to lack of familiarity.

I'd rather not see this degenerate into a discussion of how to notate
all  the  possible repeat patterns.  Granted, this isn't a completely
general solution to all the world's problems. But it's something that
handles  most  of  the common repeat patterns, and can be implemented
very quickly.  Then we  can  discuss  how  best  to  handle  all  the
remaining cases.

I have a growing number of tunes in  my  collection  that  use  these
extensions ...

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