Jean-Francois Moine writes: | On Sat, 5 Jul 2003 20:19:47 +0200 (CEST), Manuel Reiter | <[EMAIL PROTECTED]> wrote: | [snip] | >I have noticed that both of you have dropped the original abc2ps's | >transpose function. I guess there's a good reason for that, but I found it | >quite convenient. | [snip] | | There was no transposition in abc2ps when abcm2ps started. Many people | ask for this feature, but I don't think it is a job for a typesetting | program. Generally, the tunes must be transposed only once and for all, | and it exists a lot of programs (as abc2abc) and scripts (in perl) which | already do the job.
Actually, what I found was that, although abc2ps had a transpose option, it didn't really work right for a lot of my music. So I wrote several transpose scripts that I use instead. And I didn't worry if other changes I made broke abc2ps's transpose even more, since I wasn't using it. Doing it right inside a program like that is rather difficult. Every time you make a change to anything, you have to do extensive tests to see if you've broken the transposer. It's a lot easier to do it with a separate program. Part of the problem turns out to be the different ways that people want to transpose music. Something I often find useful is the ability to take a musical fragment and transpose it. A transpose feature that affects whole tunes doesn't work for this. A common example of this is that I want a 2-part tune transposed up a 4th, but then the 2nd part is too high. So what I really want is the first part up a 4th and the 2nd part down a 5th. I've never seen a tune transposer that would do this. By using a fragment transposer from within an editor, it's easy. But if you want to do it from abc2ps's command line, you end up with horrendous syntax for the command-line options. One problem with a fragment transposer, though, is that it usually can't see the key signature. This causes some problems with getting the accidentals right. To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html
