ChurchApps / FreeShow

FreeShow is a free and open-source, user-friendly presenter software.
https://freeshow.app
GNU General Public License v3.0
557 stars 86 forks source link

Parsing of song lyrics text on Lyrics Text Mode #152

Closed macdelacruz closed 1 year ago

macdelacruz commented 1 year ago

Hi. I wish it's possible to automatically create new slides, insert slide, or delete slide by editing directly on the Lyrics Text Mode and adding/deleting [Verse], [Chorus] etc. Most of the times it's helpful to be able to just copy lyrics from the internet and paste them into the Lyrics Text Mode and split the verses or lines into slides. I know there is Quick Lyrics textbox on the New show dialog but I think it should also be the same parsing logic on Text Mode.

aJaaaang commented 1 year ago

I recommend this. It's easy to edit with that process. As a user of EasyWorship before and FreeWorship, I was used to the copy paste method and edit the text into verse or lines and tada it's good to go. We'll wait for this update.

vassbo commented 1 year ago

This sounds like a good feature, thanks!

vassbo commented 1 year ago

This should work a lot better in the latest version. Pasting text into the "Text Editor" when it's empty will parse all the text the same as when creating a new show.

I can't parse it the same when it's not empty because that might break a lot of things. But it should for adding/removing/changing slide text and groups now. 😊

macdelacruz commented 1 year ago

I can't parse it the same when it's not empty because that might break a lot of things.

Thanks. Appreciate this. But I guess there's a lot to improve in the Text Editor. If you remove everything in the Text Editor, logically it should remove all slides. Then if you paste something new, it creates new slides. Currently it is so inconsistent and unpredictable when you type something in the Text Editor and switch to Grid view and back to Text Editor. I would rather type in a notepad first then paste into text editor because I'm afraid I might lose my changes when switching to Grid view.

Also, I think it should be clear to users what exactly separates a slide, what markers to use. Is it an empty line or a line that looks like [Verse 1...], [Chorus]. In addition, if in a song you have, say, Verse 1 that has 4 lines then you want to split it to 2 slides to show only 2 lines each, there should also be markers for such.

Ps. This is a concept from OpenLP which I have used most of the time.

vassbo commented 1 year ago

Okay, thank you. I guess it doesn't work well with lots of changes, just small changes. It updates when the textarea loses focus.

The only thing that seperates slides is an empty line, so I think that should be pretty clear. You should be able to just seperate the 4 lines and it should become two slides. You can add [Verse], [Chorus] if you want to label the slides, but that's not necessary.

But I will see that I can do to improve things even further.

macdelacruz commented 1 year ago

Ok. I think I did not know any better how the Groups work. Now I see that when a line starts with [Verse], [Chorus] etc., it creates a Group. Everything under this line until the next [bracket] line is part of that Group. Whenever there is empty line within a Group, it creates a separate slide.

[Verse]
Lorem ipsum
lorem ipsum

Lorem ipsum
lorem ipsum

[Chorus]
Lorem ipsum
lorem ipsum

Lorem ipsum
lorem ipsum

I think it makes sense but I suggest making it easier for an average user to figure this out. Maybe a help button on the upper right corner of the Text Editor that will popup or display a tooltip of a guide on how to use the Text Editor. Or maybe just add a placeholder text on the Text Editor telling users how to use the Text Editor.

RE

You can add [Verse], [Chorus] if you want to label the slides, but that's not necessary.

on an empty Text Editor, pasting onto it, I noticed it automatically adds [Verse] lines when it loses focus.

vassbo commented 1 year ago

I guess I can add some helper text to make it more understandable!

Also when it's empty if will automatically try to add labels, but it should work a little better in the next update.

macdelacruz commented 1 year ago

Yes I really hope it does get better in the next update. For now, I'll just use the Quick Lyrics option in the New show dialog or the Import text file option, these are the only two options that are reliable as of the moment.

macdelacruz commented 1 year ago

Since parsing the song lyrics with the correct groups/labels in brackets doesn't work well even in v.0.9.3, please just disable automatic adding of groups/labels when importing song lyrics that are simply separated by empty lines. It's just confusing to have labels/groups automatically and incorrectly added.

vassbo commented 1 year ago

I will probably make it so it does not auto add groups when formatting is turned off. But I don't see the issue. Do you mean that it e.g. adds "Bridge" to a "Chorus"? In most cases it works well at least in my testing, and it's better than all the slides being "Verse" I think!

vassbo commented 1 year ago

I figured I was just going to rewrite the entire formatting system in the text editor, so now in version 0.9.4 it should be working as expected! 😄🎉

macdelacruz commented 1 year ago

Yes I'm seeing improvements in 0.9.4. Great job on that, thanks, @vassbo .

But I noticed that when importing lyrics text file or using the Quick Lyrics textbox on New Show dialog, a [Verse] tag is always added automatically on every blank line, even though if my text already contains [Chorus], [Pre-chorus], [Bridge] tags etc.

In the text mode of the shows, pasting a lyrics with [Chorus], [Pre-chorus], [Bridge], the tags are respected and no additional [Verse] tag is automatically added when the textarea loses focus. I think there needs to be fixing in the import text file/Quick Lyrics feature.

vassbo commented 1 year ago

I'll fix that. Just enable "Format text" for now to make it work!