I am making pro files for some french songs where I am labelling verses as "Couplet" and choruses as "Refrain". This works for the first chorus, however, when adding a 2nd chorus, the displayed label stays as "Chorus". It is not a big problem, but it would be better to have the label displayed as "Refrain".
Initially, I thought that if the label entered for the first chorus is other than "Chorus" ("Refrain" in this case), this would be the trigger label for a new chorus. So "{Refrain}" would trigger a new chorus. But this doesn't work, only "{Chorus}" works.
The other way that the label could be displayed corretly is by having the ability to enter a new label when "{Chorus}" is entered, such as "{Chorus:Refrain}".
Would there be a possibility to modify the workings for one of those two scenarios to be implemented?
01-24-2022, 05:11 PM (This post was last modified: 01-24-2022, 05:21 PM by Zubersoft.)
Johan can correct me if I'm wrong, but according to the Chord Pro specification (https://www.chordpro.org/chordpro/direct...nv_chorus/), you must use {chorus} because that is the directive. The label that is used with the chorus directive does not change the way that directive works for repeating it. Having said that, you are correct that it is a bug that MobileSheets is not assigning the same label to the repeated chorus sections. In your case, it should be showing "Refrain", so I will fix the code if it's not working that way at the moment. I also should be supporting {chorus: Refrain}, so I will fix that as well.
Thanks,
Mike
UPDATE:
Both fixes have been made and will be included with the next update.
@madoues I'm not sure I understand what you mean by "labelling verses and choruses". Can you give a sample?
@mike In the ChordPro reference implementation, {chorus: Refrain} provides a label that will be put in the left margin of the song. Changing the text "Chorus" can be done in the configuration.
For example,
[C]More
{chorus:Foo}
[C]More
will appear as shown in the attachment, and I don't think that is what @madoues intended.
You could change the text "Chorus" according to the selected locale.
In the ChordPro specification, section directives (start_of_verse etc.) take an optional argument that is used to produce a margin label to the section.
For example
{sov: Verse 1}
[A]Hello, [Bm]World!
{eov}
{soc: Sopranos}
[E]Say no more
{eoc}
{sov Verse 2}
[F]Always look on the [Bb]bright side
{eov}
{chorus: All}
results in something similar to [see attachment 1].
With the latest MSPro changes, the argument is used to change the "Chorus" heading that precedes the chorus. This may lead to unpleasant surprises for people that share ChordPro files between PC and MSPro.
Displaying "Refrain" instead of "Chorus" is actually a localisation issue. Maybe what we really need is a setting (and directive) for the locale to be used per song? E.g. {locale: fr} .
I'm not sure how to resolve this kind of difference in behavior from the reference implementation and MobileSheetsPro. Due to the fact that I don't display labels beside the chorus heading, my only option at the moment is either to ignore the label the user provided or replace Chorus with that label. I can consider adding logic to place a label in the margin, but the margins aren't very large currently, so I don't think that will work with the current approach. I could also tab over the Chorus label to make room for the other label, but that seems like it would look unusual.
I currently use the active locale to determine what to print. If the active locale is French, then the Chorus label will display "Refrain", because that is what is present in the translation. This seems like the correct behavior to me - if the user is French and the app is displaying everything in French, why would I display Chorus in that situation instead of Refrain?
Great to hear that you already support foreign texts according to the locale. I wonder why that didn't solve madoues' use case.
As said, ChordPro will treat the extra arguments to section directives as margin labels. These do not make much sense for MSPro. ChordPro has an option to produce a comment instead of a margin label. The example I posted will then look like (see attachment).
I think that matches the MSPro default behaviour already quite closely.
The start_of_chorus and (now) chorus directives behave different, because the additional text replaces the default "Chorus" text instead of precedes.
I notice that for start_of_chorus this has already been the case for a number of years so I'll try to fit this in the ChordPro specification somehow.
01-29-2022, 05:14 AM (This post was last modified: 01-29-2022, 07:20 AM by madoues.)
Sorry for the delay.
Here are 2 pdfs, one is the txt(pro) file,
and the other is what I would like to see (result) in MS
Notice that there are two different choruses(Refrain) and only the 2nd one repeats. Also, the same with Verses(Couplet), since both verses are repeated. This part, i.e.verses, is obviously not the current implementation, but more what I would wish for.
I have been converting a fair number of charts from rtf lately with many more to come, and finding that many times choruses are not the same and only one of them repeats. Same with verses, often the first verse is repeated at the end.
So I was thinking, why not treat all parts the same, {sop}, {sov} and {soc}. Just use the label provided to know which one should repeat, so
{soc:Refrain 1}, use the directive {Refrain 1} to repeat it.
{soc:Refrain 2}, use {Refrain 2} to repeat it.
{sov:Couplet 1}, use {Couplet 1} to repeat.
{sop:Intro}, use {Intro} to repeat.
In this case however, the directives {eop}, {eov} and {eoc} would be mandatory to properly identify the sections. And only the chorus would be indented and bolded. However, this is secondary to me since I don't feel the need for the chorus to be indicated differently than the other parts of the song, but it is nice to have.
I realize this is going further than my initial question, which was only to have the chorus labelled correctly ("Refrain" instead of "Chorus").
However, since Mike has already implemented that the same day that the question was posted, these are additional modifications that would be nice.
I do not know what repercussion this has on having MS abide by the "standard" for pro files. Maybe it is just not possible, that will be for Mike and others to see as I am not a programmer.
Sincerely,
Dan
!!!Edit: Ooops, just noticed that one of the files is a jpg. Changed it.
Also had not inserted chords inline. Dan
PS: Not knowing if we are allowed to posrt actual charts in here, the chart is modified with just jibberish; that is intentional.
Treating all section directives the same and using the label for repeat is an interesting idea. But what you call label is already intended as a margin label and may not be suitable for identification.
For example:
The next version of the ChordPro specification will introduce a more flexible syntax for directives, and this will allow the specification of proper identification labels.
I'd suggest to subscribe to the ChordPro user community https://groups.io/g/ChordPro/ . You ideas will be appreciated.
(01-30-2022, 05:47 AM)sciurius Wrote: I'd suggest to subscribe to the ChordPro user community https://groups.io/g/ChordPro/ . You ideas will be appreciated.
Thanks, scirius.
I've subscribed, will follow the progress and chip in if I see an opportunity.