I realize this isn’t a MobileSheets issue, however as I use ChordPro sheets in MSP, I was hoping someone with more experience might have a workaround or an idea for a way to handle optional chord symbols in ChordPro.
Here is the situation:
I come across music or chord charts where optional chord symbols are indicated with parentheses. However, if you use parentheses inside of the normal square brackets for chord symbols on a ChordPro sheet, the transposition feature does not work.
Transposition also does not work if another character is placed in the square brackets in front of the chord symbol like a + sign for example.
If I place parentheses on the outside of the square brackets, it screws up the placement of the parentheses.
I did discover I could add parentheses outside of the square brackets like this:
[(][G][)]
However, even though the transposition feature works using this method, it really screws up the chord symbol placement.
Has anyone come up with a workable solution or is there an “official” way to indicate optional chords in ChordPro that I am unaware of?
Thanks in advance for any ideas or enlightenment you can offer!
03-24-2022, 04:21 AM (This post was last modified: 03-24-2022, 04:22 AM by Zubersoft.)
If ChordPro supports parenthesis around the chords, then it sounds like I need to update the code to allow for that. Does chord pro allow for a plus symbol before the chord as well? At what point does the logic stop trying to consider the entry as a valid chord? Does it just ignore symbols at the start?
ChordPro tries to recognize what is between the brackets as something that looks like a chord. In its default setting, that should be one of the letters C, D, E, F, G, A, or B, optionally followed by sharp or flat, optionally followed by things like m, maj, 7, aug, etc.
The chord may be parenthesised, e.g. [(A)]. This is treated as an A chord, transposed, and shown with parens. Except for NC (and N.C.) and spaces, eveything else is flagged as 'unknown chord' and treated as an annotation. So [+D] is treated as [*+D].
It is possible to define non-conformant chords but these cannot be transposed:
03-24-2022, 07:30 PM (This post was last modified: 03-24-2022, 07:31 PM by pianistslogic.)
Second the request to allow parentheses around chords.
In an earlier topic we discussed unrecognized chords that would still transpose what comes after the /
We had the [Astronomical/C] example. I think it'd make sense to apply the same logic to whatever's inside the parentheses. Annotations could then be supported by an * inside the () I suppose
Chords in brackets are handled differently in MSP and in the ChordPro reference implementation.
[(C7)] takes less space and looks nicer as [(][C7][)], but [(C7)] is not transposed in MSP.
It would be great if MSP could handle it similar to the ChordPro reference implementation.
03-29-2022, 01:18 AM (This post was last modified: 03-29-2022, 02:50 AM by Scherzo.)
I guess a ChordPro update for MSP is needed to handle parentheses...
As I only use ChordPro within MSP and reluctantly when I can't find sheet music and I am too lazy to transcribe, I was unaware that parentheses are supported elsewhere.
Just add it to the other 16,000 things you are working on Mike.
In the meantime, thanks everyone for the insight!!