This is a summary of the differences between jcabc2ps and the original abc2ps program. The original abc2ps was written by Michael Methfessel, who bowed out around 2000 due to being to busy with his day job (math prof). Several people made forks to add features that they wanted. The known abc2ps clones are: abc2ps by Michael Methfessel jcabc2ps by John Chambers jaabc2ps by John Atchley abcm2ps by Jean-Francois Moine moinejf@hol.fr Jean-Francois.Moine@bst.bsf.alcatel.fr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Command-line options. *** BIG CHANGE *** Options are now indicated by an initial '-' or '+'. There is a consistent pattern now: An initial '-' means "off" or "disable" or "no"; an initial '+' means "on" or "enable" or "yes". In a few cases, there is no on/off concept assotiated with an option, and either '-' or '+' may be used. The reason for this was to end the confusion that meant constant lookups and testing to determine the sense of an option. It has made life a bit easier for me when writing makefiles. But it does require rewriting all makefiles, mostly by converting -c and -F to +c and +F throughout. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Conventional unix "filter". The PS output from jcabc2ps is now written to stdout, unless there's an explicit +o option. Messages are always written to stderr. This allows jcabc2ps to be used in conventional unix pipelines, so that pre-filters can be applied to the abc input, and post-filters can be applied to the PS output, without the need to mess with intermediate files. So you can convert a single abc file to PS via: jcabc2ps foo.ps You can also combine several abc files in the usual manner: jcabc2ps tune1.abc tune2.abc tune3.abc >tunes.ps Note that for this to work, the single-tune files should all begin or end with a blank line, so that the abc parser code sees that they're separate tunes. (However, this is often not necessary, since jcabc2ps recognizes any X: line as the start of a new tune, regardless of whether the previous tune was terminated by a blank line.) There are a number of PS-tweaking programs around, and they should be easy to apply with our PS output now. There are also a number of abc-tweaking programs, such as transposers, filters that extract a single voice, etc., and they can be piped together as preprocessors to jcabc2ps. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Explicit key signatures You can use notes with accidentals in a K: field to get exactly those accidentals in the key signature. They are added to the usual key signature, if any. Examples: K:Amix=g % A mixolydian with a natural on the g space (or line for bass) K:^G % Just a sharp on the G line K:_B_e^F % Three explicit accidentals (could be D hijaz) K:D_B_e^F % Three explicit accidentals (D hijaz/freygish) K:none % Explicit no-key signature The last looks the same as K:C or K:Am on paper, but won't match either in a lookup. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Marked letters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quarter tones You can use quarter-tone symbols (that can't be shown here because there's no ascii symbol) in jcabc2ps. This is indicated by preceding the '^' or '_' witn a backslash '\'. So '\^' is a quarter-tone sharp and '\_' is a quarter-tone flat. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -