Home Tunes Documents About ...


All material is submitted in the form of an ABC file. This is expected to be encoded as either UTF8 or latin1 (ISO 8859-1); if it uses any other encoding it's expected to say so in a line of the form "%%abc-charset" or "I:abc-charset".

It is processed according to the usual ABC understanding that a key:value line outside of an ABC tune block provides a default value for all subsequent tunes. I extend the original behaviour somewhat, by treating all ABC keys this way, apart from X, T and K, which are required for each tune. These values will be set, and saved, for every tune that doesn't already have a value for that field.

Also, the site recognises lines of the form '%%keyword:value" as ABC header values (information fields); this makes it possible to store any arbitrary facts for a tune, with more decriptive names than the single-letter ABC keys. A few of these have a special meaning to this site :-
  •   '%%Copyright:Insert name here' will cause 'Copyright © Insert name here' to be printed under images of that tune.
  •   Tunes downloaded from here will include an extra line '%%URL' pointing back to where it came from, and a '%%ContributedBy' line saying who contributed it.

If a file contains more than one tune, it can be saved as a "document". This means that the tunes will be entered into the database as normal, but the other contents of the file are also stored. This can contain printable text and typesetting instructions as well as tunes, making it possible to typeset lists of tunes.

For both tunes and documents, there are a couple of extra values that can affect what the site does with a tune. These must be at the top of the file, before any other input :-
•   '%%landscape:1' will cause it to be displayed and printed in landscape mode.
•   You can choose the program that will be used to turn the material into a printable PDF file :-
•   for tunes, write '%%render:abcm2ps' or '%%render:abc2mtex'
•   for documents, write '%%render:abcm2ps', '%%render:abc2mtex' or '%%render:latex'.
If you opt to have the document rendered via LaTeX some extra features are available :-
at the top of the file
•   A line '%%toc:1' will turn on the generation of a table of contents. This is only possible with LaTeX, therefore turning this on will override a '%%render:' value.
Anywhere in the file
•   A line '%%tocfield:header-field' at the top of the file says what field the table of contents should be sorted on (title, by default). If sorting by title, you can enclose a group of tunes in a pair of lines, '%%settitle:"value"' and '%%endset', which will cause the set title to be used in the table of contents instead of the individual tune titles.
•   There is also '%%Allowbreak: 1 or 0' – the issue here is that LaTeX doesn't know how to turn ABC into the printable image of a tune, so that has to be done by the programs that can, and the resulting image included in the LaTeX text. This can result in clumsy layout (the most extreme case being a long tune that's too big to fit on one page). '%%allowbreak:1' will cause separate images to be generated for each line of the music, thus allowing tunes to flow over to the next page. This will be interpreted as a default value, and will affect all subsequent tunes until it's turned off with '%%allowbreak:0'.

Please consider making a contribution towards the upkeep of this site.

Copyright © Richard Robinson 1994 - 2020 "I can remember when all this was empty fields.
I built the database."