MobileSheets Forums

Full Version: Chordpro Transpose directive
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Sorry... me again...

Any chance on getting the Chrordpro Transpose directive implemented?  

Quote:{transpose: value}

This directive indicates that the remainder of the song should be transposed the number of semitones according to the given value, which is a positive or negative number. When used at the beginning of a song, the whole song will be transposed. When used somewhere in the song it can be used to achieve modulation.

For example:

[C]A song [D] line with [E]chords   [F]
{transpose: 2}
[C]A song [D] line with [E]chords   [F]


This will print:
C      D         E       F
A song line with chords
D      E         F#      G
A song line with chords


I went to modify a song to modulate from C to D and realized... ARGH!  it looks like I will have to manually edit the file to accomplish this.

/ SenseiC bows out.
I'll see what I can do.
Thanks for implementing this!

Unfortunately, there are two flaws... (Don't blame yourself, it happened to me as well when I implemented this in ChordPro Smile ).

One problem is that a chorus recalled with {chorus} is not subject to transposing. For example:

Code:
{soc}
[D]Swing low
{eoc}
[A]Praise
{chorus}
{transpose: +2}
[A]Praise
{chorus}

The first chorus recall shows D, but for the recall following the transpose this should be E.

The second problem is that there is no way to control whether a single step transpose of A should result in A# or Bb. ChordPro uses the method that transpose up will yield sharps, while transpose down will yield flats. So you can write {transpose:-11} to get A transposed to Bb.

Maybe this is not the most elegant solution, but it works like a charm...
I have fixed the issue with the repeating chorus and I've changed the logic to use the transpose specified in the file in order to determine sharp vs flat. Hopefully this won't be confusing when the transpose directive is used in combination with the transposing feature in MobileSheetsPro (and/or the capo).

Thanks,
Mike