MobileSheets Forums

Full Version: ChordPro & ABC
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The ChordPro reference implementation supports inserting standard notation in ABC format into ChordPro.
That's a convenient method to insert little snippets of standard notation into lyrics&chords scores.
I usually use the reference implementation to create a PDF and import both the PDF and the ChordPro file into my MSP library.
The ChordPro file in MSP is useful to transpose the song into another key.
MSP already ignores start_of_abc and end_of_abc - I can't remember in which MSP version this helpful little feature has been introduced.
So I would propose some additions:
1.) ignoring not only start_of_abc and end_of_abc but also those lines of the ABC section that start with the tags scale= width= and X: would make room for some more lines of lyrics and chords on a page. That's sometimes useful on a small tablet.
2.) experienced users of ABC are even able to play from the ASCII text of ABC scores as shown here
So it would make sense to transpose the ASCII text of the ABC section together with the ChordPro part of the song.
This should be relatively easy to implement - just apply existing transposing rules & code
(mostly as a workaround as long as 3.) is not available)
3.) The perfect solution, but not so easy to implement: render ABC within MSP to show standard notation that allows transposing
My preference would be to support the ABC rendering as that is another request that has come up on the forums several times. There are third party libraries which should be able to help with this I believe, lowering the level of effort required. I can always look into short term fixes to help until then. I'm not sure how easy it would be to apply the transposing logic to sections that aren't normal chord definitions - just thinking about it at a high level, I think I would have to hack a lot of code to force the abc section to be handled completely differently than any other lines in the file, as I would need to treat every character as an independent chord to be transposed.

So don't invest too much effort and concentrate on more important things.
ABC support in MSP would be really great.
An intermediate step could be to first implement handling images (that's also on the list). Then it would be possible to externally generate an image (or SVG) from the ABC and include that. Of course, you'll loose the ability to transpose.
Handling images wouldn't really help.
If I cannot transpose in MSP and have to use an external program I'm fine with transposing in the ChordPro reference implementation and creating one PDF per key.