Here's an example where both transposing up or down would make sense.
Transposing down from C to G works fine, both on Win11 and in the eink version
Transposing up fails, in the eink version the result is one octave too high, on Win11 the screen is empty
Another example. This time transposing down fails.
The original is in G
Transposing down to C creates this (same result for eink and Win11)
I'd expect that the note g that I marked in green in the 4th measure of the original (in G) would become the C on the first ledger line, as marked in the next-to-last measure of the transposed version. It seems that in this case also transposing down transposes one octave more as it should.
There are songs that are transposed correctly, but I didn't check every combination.
Another example. This time transposing down fails.
The original is in G
[attachment=4170]
Transposing down to C creates this (same result for eink and Win11)
[attachment=4171]
I'd expect that the note g that I marked in green in the 4th measure of the original (in G) would become the C on the first ledger line, as marked in the next-to-last measure of the transposed version. It seems that in this case also transposing down transposes one octave more as it should.
There are songs that are transposed correctly, but I didn't check every combination.
I implemented the logic we discussed in that previous thread. So I'll have to double check whether what I'm doing is somehow different than what you'd get if you just used the transpose command directly in the ABC content.
04-07-2026, 03:30 AM (This post was last modified: 04-07-2026, 03:38 AM by Zubersoft.)
I think my understanding of your suggestion in the previous thread was incorrect. You said:
for transposing up:
- find the source key in the left half of the list of notes
- find the destination key in the list of notes to the right of the source key
I incorrectly interpreted that as, "find the destination key in the list of notes in the right half".
So I think that's the source of the problem. I think I need to use two capital letters when transposing within the same octave, and if the offset is +12 or more, then I use a capital letter with a lowercase letter.
As far as the rendering issue on Windows, that's occuring because the image generated by the SVG file is so large and does not appear to have anywhere it can be split, so the application is giving up on trying to display it. I'm going to modify this logic to scale the image down to fit the page if needed if it can't be split up easily.
We were talking about a list like
C D E F G A B c d e f g a b
It's about finding the NEXT note that matches. Transposing up means searching to the right, transposing down means searching to the left.
For transposing up "All I Do Is Dream Of You" as above from C to G both
%%transpose cg
and
%%transpose CG
work fine
For transposing down only
%%transpose cG
is available
Similarly transposing down "Bad Bad Leroy Brown" down from G to C
works correctly with
%%transpose GC
or
%%transpose gc
Sharps and flats were missing by now, so I played around a bit in Jef Moines ABC edit http://moinejf.free.fr/js/edit-1.xhtml
and extended the list to
C ^C _D D _E E F ^F _G G _A A _B B c ^c _d d _e e f ^f _g g _a a _b b
using the ABC syntax ^ for sharp and _ for flat
D# G# A# seem to be missing, they are replaced by their enharmonics Eb Ab and Bb - this is how the transpose list is already implemented in MobileSheets.
04-09-2026, 03:26 AM (This post was last modified: 04-09-2026, 03:27 AM by Zubersoft.)
I can send you an updated installer for Android right away, but I'm in the middle of integrating some new changes that I don't want to rush. Windows is obviously more of a pain because the Microsoft Store version of MobileSheets can only be updated through the Microsoft Store. If you want an early installer, just shoot me an email.