Well, it's been about a month since these topics were last discussed.
In  the meantime, I decided to see how hard it could be.  Finding the
spare time was mostly what was hard, what with a new job and it being
summer and all that. But my tune finder has been using my new version
for a few days, and it seems pretty stable,  so  I  thought  I'd  tip
people  off  about what I'd implemented.  The extensions are actually
rather small, but they are useful.

First, to make it clear that this is  a  branch  off  the  "official"
abc2ps, I named my version jcabc2ps.  It's at:
   http://trillian.mit.edu/~jc/music/abc/src/jcabc2ps/
   http://trillian.mit.edu/~jc/music/abc/src/jcabc2ps.tar.gz

I've tested it on linux (RedHat) and FreeBSD.  I suppose I should  be
looking  into  getting this compiled on more kinds of machines.  It's
definitely ANSI C now, as were the last few  versions  from  msm,  so
ancient compilers may not like it.

The keysig syntax that it recognizes is:
   K:<tonic><mode><accidentals>
where all three of the fields are  optional.   If  both  <tonic>  and
<mode> are given, the appropriate accidentals are generated. If there
is a list of <accidentals> in addition, they are added to the  mode's
accidentals.     K:<tonic><accidentals>   gives   only   the   listed
accidentals; the tonic is effectively ignored.  For example:

   K:^G          Just a ^G as the key signature, no tonic given.
   K:_f_B_e      Balkan and Middle-Eastern musicians will recognize this
   K:D_f_B_e     D hejaz/freygish scale
   K:C_f_B_e     C misheberach scale.
   K:Dmaj_e_B    D^f^c_e_B -- what's this one called?
   K:Amix=g      paranoid A mixolydian, with explicit G natural.

For some examples, here's a page that our klez gang  has  played  for
contras.  Most of you will recognize the tune.  The first version has
an explicit =g to tell novices that it isn't in A and  the  signature
isn't  a  mistake.  The second version is "Balkanized" in a form that
works quite well with this tune.
   http://trillian.mit.edu/~jc/music/abc/KlezContra/KJ04_C.abc
   http://trillian.mit.edu/~jc/music/abc/KlezContra/KJ04_C.ps
(I've also used this at Scottish country dances, and it gets quite  a
reaction - and a lot of grins.)

The repeats that I've implemented aren't yet as general  as  everyone
would  like, but they cover the most common cases.  The syntax allows
for the chars [-,.x0-9] after a  bar  line,  and  simply  copies  the
string  to  the  music  under the ending box.  The trickiest part was
getting chord symbols (and their notes)  moved  over  so  as  not  to
overlap. This isn't quite perfect; sometimes they are still too close
together.  Also, multiple colons are allowed and are  copied  to  the
music in the usual way.  So a three-times phrase can be written:
    |:: ... ::|  
This can be combined with the endings in the obvious ways:
    |::: ... |1,3 ... |2,4 ... :|
This is the more correct form of what is often written:
    |:   ... |1,3 ... |2,4 ... :|
Both are correct, as is omitting an initial repeat symbol completely,
but all the colons are useful if you want to maximize readability.

Some examples that use these repeats (and explicit keysigs):
   http://trillian.mit.edu/~jc/music/abc/Intl/Belasicko.ps
   http://trillian.mit.edu/~jc/music/abc/Intl/Bucimis.ps

The ps files will probably go away in a  few  days,  though  the  abc
files  will  stay there, of course..  Meanwhile, people who get tunes
from my web site will see the effect of this as I copy tunes from  my
home system.

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

Reply via email to