# OBS Lyrics



## amirchev (May 4, 2020)

amirchev submitted a new resource:

OBS Lyrics - Manage and display lyrics to any text source in your OBS scene.



> How to use:
> 
> Download the script and open it with OBS.
> Add some songs to the script and save them.
> ...



Read more about this resource...


----------



## amirchev (May 7, 2020)

One function I forgot to include in the description is the ability to mark a line that is to be displayed alone. To do that, you need to append "###" to the end of the line.


----------



## unraveller (May 24, 2020)

Would be nice if upon changing lyrics/text, it could maintain alignment on the screen (like if it is aligned centered on screen). Whenever the next line is shown it never stays on the same position especially if the length is not the same.


----------



## amirchev (May 24, 2020)

unraveller said:


> Would be nice if upon changing lyrics/text, it could maintain alignment on the screen (like if it is aligned centered on screen). Whenever the next line is shown it never stays on the same position especially if the length is not the same.


Hi,

It's actually up to you to format the text source however you need it to look, this code just inserts the lyrics into it. So, right click on your text source and select "Properties", scroll down until you see "Alignment", set it to "Center". Click "Ok" to save. Then, right click on your text source again, go to "Transform", on the sub-menu click "Center Horizontally". That may be what you are looking for.

-Alex


----------



## Tim McD (May 25, 2020)

This is a very neat utility.  I have a couple of ideas for additional functionality:

Ability to optionally link the "Prepared" song to a scene by name.  So the next song in the Prepared list can be indexed by scene.  In a Worship setting it is cumbersome to switch to the script view to select the next prepared song when operating on a single monitor.  I am a new user to OBS so this may not be the best method.....
Add a hotkey for next / previous prepared song.  This would be a good intermediate method to the item above.
When indexing past the end of song file, automatically switch to a blank view.  That would help know that the next prepared song is coming to que.
A way to force the # of lines.  Issue:  If a normal 2 lines ends at a 1 line the text gets scaled up to fit making it a larger font.  
Rather than a directory.txt file can you just list all the files in the folder since they are listed by title?  This would increase the portability of a list of songs (or folder) to copy to another computer.  Especially if the 2 computers have a different directory listing of songs.  
Description to where the songs are stored.  This would help find the list to copy from one computer to another.  Or an "Export / Import Songs" option.
Just some ideas....


----------



## amirchev (May 26, 2020)

Tim McD said:


> This is a very neat utility.  I have a couple of ideas for additional functionality:
> 
> Ability to optionally link the "Prepared" song to a scene by name.  So the next song in the Prepared list can be indexed by scene.  In a Worship setting it is cumbersome to switch to the script view to select the next prepared song when operating on a single monitor.  I am a new user to OBS so this may not be the best method.....
> Add a hotkey for next / previous prepared song.  This would be a good intermediate method to the item above.
> ...


Hi Tim,
Thanks for the feedback. I added numbers to the suggestions so I can address them individually.

I noticed this as well, but wasn't sure if I should address it. Since you mentioned it, I will add 2 ways to do it: a) separate hotkey, b) clicking forward in a song will make the song blank, then it will start the next song automatically. Attaching to a scene is something that I don't have experience with and will look into.
Yes
See above
This seems to be a problem with the formatting of the text box that you're using as your source. I will definitely add that functionality though. In the meanwhile, make sure in the text source properties you set the vertical and horizontal alignment as center. Then, then right click on the source and go to transform -> edit transform. Set positional alignment to center and bounding box type to no bounds. Size your text box using the font size property and center it onto the screen. Now, it will always keep vertical and horizontal center, independently of the length of the text or the number of lines. This is not the only question on this, so I will make sure to add these formatting instructions to the documentation.
I'm not sure I can do this using Lua without having an additional library, but I can see how this is useful. I will look into it.
Good suggestion. On Windows they're stored in C:\Users\YOUR_USER_NAME\.config\.obs_lyrics, on Linux/Mac it is /home/YOUR_USER_NAME/.config/.obs_lyrics . Yeah, I could possibly add export/import functionality, but it will not be my top priority right now.
God bless you in your worship sessions, I'll see if I can get #1 knocked out pretty quickly.


----------



## Tim McD (May 26, 2020)

amirchev said:


> Hi Tim,
> Thanks for the feedback. I added numbers to the suggestions so I can address them individually.
> 
> I noticed this as well, but wasn't sure if I should address it. Since you mentioned it, I will add 2 ways to do it: a) separate hotkey, b) clicking forward in a song will make the song blank, then it will start the next song automatically. Attaching to a scene is something that I don't have experience with and will look into.
> ...


Wow.  Thanks for the quick response.  I'll look into the formatting more as you suggest.


----------



## amirchev (May 29, 2020)

Tim McD said:


> Wow.  Thanks for the quick response.  I'll look into the formatting more as you suggest.


I've made some of the changes, you can view the changes if you click "Go to download". It will take you to the new version.


----------



## RichieTee (Jun 5, 2020)

Would be nice if someone can make a screeshot explanation of the setup, haven't gottena hang of it for days now going by the text guide.


----------



## amirchev (Jun 7, 2020)

RichieTee said:


> Would be nice if someone can make a screeshot explanation of the setup, haven't gottena hang of it for days now going by the text guide.








						Download Berrycast - Record Your Screen & Share It With Ease
					

Dead simple to use screen recording tool. One-click record and share. Mic & webcam support, annotations, password protection, trim videos, & more.



					www.berrycast.com
				




Here is a quick video I made this morning that is not edited or anything. I hope I can come up with a better guide sometime this week. I use the buttons in the video, but all of the buttons have corresponding hotkeys that you can set.


----------



## amirchev (Jun 8, 2020)

amirchev updated OBS Lyrics with a new update entry:

Added a new guide



> I added a guide to the OBS Guides section of this forum, complete with screenshots and step-by-step instructions on how to get this script running.
> 
> Link to the guide.



Read the rest of this update entry...


----------



## Odd Socks (Jun 16, 2020)

Hi this is very usefull for adding the liturgy as well.
Is there anyway of adding some other formating markers like bold so that I can help people know which text is a responce?


----------



## amirchev (Jun 16, 2020)

Odd Socks said:


> Hi this is very usefull for adding the liturgy as well.
> Is there anyway of adding some other formating markers like bold so that I can help people know which text is a responce?


Hi there, unfortunately I don't know of any way to format text, except by formatting the entire source. There are a few ways to do what you're doing, I'm sure you've probably come up with something yourself,  but I would recommend using some sort of marker like *, ", or any other symbol, like parantheses or brackets.


----------



## Ceradsky (Jul 14, 2020)

Amirchev, this is a very helpful utility for our church streaming, I've used it live for the last two weeks. 

Possible enhancements:
1. I don't see a way to keep track of where I am within the song/lyric, so while I have hotkeys working, if ANYTHING gets out of sync, it is very messy to get back on the right path (worship leader misses a verse, mixes songs up, streamer is slow to advance, etc).  Some sort of feedback would be ideal
2. a control panel interface would be highly helpful, something like the lower-thirds plugin that relays on HTML and CSS would be great (https://obsproject.com/forum/resources/animated-lower-thirds-with-control-panel.922/) 
3. Agree with the desire to have a file structure that could hold the songs, the current interface is going to get pretty overloaded over the weeks

No complaints, what you have built is amazing and so helpful. Thank you!


----------



## amirchev (Jul 16, 2020)

Ceradsky said:


> Amirchev, this is a very helpful utility for our church streaming, I've used it live for the last two weeks.
> 
> Possible enhancements:
> 1. I don't see a way to keep track of where I am within the song/lyric, so while I have hotkeys working, if ANYTHING gets out of sync, it is very messy to get back on the right path (worship leader misses a verse, mixes songs up, streamer is slow to advance, etc).  Some sort of feedback would be ideal
> ...


Thank you for the compliments, I'm glad the script has been useful to you. I could implement something like a control panel on the scripts properties page, but it is crowded as it is. Quick question: do you use the buttons on the script or hotkeys? I will look into the control panel issue, but that may require me to use a different approach of HTML controller with browser source. As far as the file structure, you can type into the dropdown and it will search songs from your added list. Also, you can use the "Open Songs Folder" button in the latest version if that is what you meant. Or do you mean one dropdown will end up being too crowded?


----------



## Ceradsky (Jul 17, 2020)

amirchev said:


> Thank you for the compliments, I'm glad the script has been useful to you. I could implement something like a control panel on the scripts properties page, but it is crowded as it is. Quick question: do you use the buttons on the script or hotkeys? I will look into the control panel issue, but that may require me to use a different approach of HTML controller with browser source. As far as the file structure, you can type into the dropdown and it will search songs from your added list. Also, you can use the "Open Songs Folder" button in the latest version if that is what you meant. Or do you mean one dropdown will end up being too crowded?


So, when I wrote this, I didn't understand that the songs are held in .TXT files, which is what I wanted to use, so no worries there.

I do use hotkeys (just set up a Streamdeck XL, oh my that is fun...in a good way). If there was visual feedback on the screen in the script window that gives me what I show below, I could see using that, I have enough screen real estate, but definitely have to keep using hotkeys

Probably the only thing that I would want to have is a control panel that shows the currently prepared song in the list and the next song, along with perhaps the current lines of the lyric that would be shown in the scene if it is visible and the next lines coming up? 

This would be my ideal control panel (mockup)


Current SongAmazing GraceCurrent Lyric​Amazing Grace, how sweet the sound
That saved a wretch like meNext Lyric​I once was lost, but now am found
Was blind, but now I see.Next Song in Prepared ListOnward Christian Soldiers


----------



## renaq (Aug 9, 2020)

Hello, first of all thanks for your effort. I tried to install the script, and the this message appear in secuence command register:

[lyrics.lua] Error calling script_load: ...gins/frontend-tools/scripts/OBS-Lyrics-master/lyrics.lua:311: attempt to call method 'gmatch' (a nil value)

I can´t did the step 3 for that reason. Help please.


----------



## jb75 (Aug 18, 2020)

I get the same error message and am not able to use the script. Any help would be great. Thanks


----------



## amirchev (Aug 24, 2020)

jb75 said:


> I get the same error message and am not able to use the script. Any help would be great. Thanks


Hello, thanks for the inquiry. I'll be looking into it. In the meantime, try installing an older version.


----------



## alfonsoon (Aug 24, 2020)

Thank you for creating this script. We used it for the first time yesterday for the live stream of our Church.

Everything is great, this are my suggestions or possible enhancements:

Option to show the song title at the beginning. My workaround currently is to add the title at the beginning of the lyrics followed by the ###.
When I choose a prepared song on the list the text hides automatically, so I have to click the "show/hide lyrics" button, it is a little confusing for me. Is there a way to avoid this?
Add an option of "next scene" so that of the end of every song the scene changes automatically to the "Speaker Scene" (for example).
Also, when I open and close OBS with the Prepared Songs list ready and click next or previous lyrics it does not work. My workaround is to clear and load the songs again.
Just my suggestions, it's great as it is.
Best regards from Mexico.


----------



## LarryResch (Sep 21, 2020)

I really like this script and think it would be quite useful in our streaming of worship!

My main suggestion is a way to display less lines than the setting. For example, say I have a song with 4 lines per verse, but only 3 lines in the chorus. There is no way to display this - if I put a blank line in the lyrics, when I click on Prepare Song, the blank like is removed. 

It would also be nice if the lyric file stored the number of display lines so that if I have one song that I want to display 4 lines and another to display 6, I don't have to change that in the script and then run Prepare again.

Once again, great script!


----------



## alfonsoon (Oct 18, 2020)

Hello,
My OBS crashes when using this Lyrics Plugin. I assigned Ctrl + UP, DOWN, RIGHT, LEFT to prepare next or previous, and advance or go back on the lyrics.
Here is my crash log: https://obsproject.com/logs/rLfSzuGQ2Q0xW4tW

Is there a way to avoid it from crashing? It does not crash everytime, it appears to be random.
It has not happend by clicking the Next or Previous Buttons. Only when used through HotKeys


----------



## amirchev (Oct 20, 2020)

alfonsoon said:


> Hello,
> My OBS crashes when using this Lyrics Plugin. I assigned Ctrl + UP, DOWN, RIGHT, LEFT to prepare next or previous, and advance or go back on the lyrics.
> Here is my crash log: https://obsproject.com/logs/rLfSzuGQ2Q0xW4tW
> 
> ...


Hey alfonsoon,

Is it a particular song? And are you trying to advance lyrics or change to the next song? Also, have you tried using different hotkeys? I'm not able to tell very much from the crash log, but it does appear to crash in response to your hotkey press.


----------



## alfonsoon (Oct 25, 2020)

amirchev said:


> Hey alfonsoon,
> 
> Is it a particular song? And are you trying to advance lyrics or change to the next song? Also, have you tried using different hotkeys? I'm not able to tell very much from the crash log, but it does appear to crash in response to your hotkey press.



Yes, I've tried different hotkeys. For example: just the arrows, the arrows+CTRL, the F#keys). It happened with different songs and at random points.
It happened with different songs and the crash log is not very telling with this issue, at first I thought it was OBS crashing, but until this crash I narrowed it down to when I was using this plugin with Hotkeys. I cannot remember if I was going fowards or backwards on the lyrics.

I've have also tried to replicate the crash, but was not succesful. It was only happend to while streaming.


----------



## Webmaster (Nov 6, 2020)

We really like this script.  However, it is a pain to have to "prepare" the songs again whenever you restart OBS.  We have someone enter the song lyrics on Thursday, but the volunteer running OBS on Sunday needs to "prepare" the lyrics again, even if they were "prepared" on Thursday.  Is there any way to save the "Prepared" lyrics so we don't need to keep "preparing"?


----------



## Surge42 (Nov 12, 2020)

amirchev   I love your plugin. It took me quite a while to figure out how to set it up but I got it.  I'm going to make a full video on why your software ROCKS, how to set it up, and more.  THANKS BROTHER.


----------



## amirchev (Nov 12, 2020)

Surge42 said:


> amirchev   I love your plugin. It took me quite a while to figure out how to set it up but I got it.  I'm going to make a full video on why your software ROCKS, how to set it up, and more.  THANKS BROTHER.


Glad you find out useful! Please post a link here of the video so people can find it more easily.


----------



## Surge42 (Nov 13, 2020)

amirchev said:


> Glad you find out useful! Please post a link here of the video so people can find it more easily.


YEP!  WILL DO


----------



## Surge42 (Nov 27, 2020)

Surge42 said:


> YEP!  WILL DO



*Here's the link to the tutorial**. This video explains how to use Amirchev's FANTASTIC script in a very easy way. ENJOY!

Thanks again for the hard work Amirchev!*


----------



## DCStrato (Dec 1, 2020)

Amirchev,

I needed different songs to have a different number of "display lines" to better match singing whole verses or having logical divisions.   I modified your prepare_lyrics function to look for "#L:" markup at the beginning of a line (typically the first line of the song), followed by the number of display lines to use for that prepared song.  So the first line of a song typically now looks like #L: 4 for grouping 4 lines at a time, or $L:5 for 5 lines at a time.  If it doesn't find the string it does nothing, so older files still work with the new modifications.  

Thanks for a great script!
-------------------------------------------------

-- prepares lyrics of the song
function prepare_lyrics(name)
    if name == nil then return end
    local song_lines = get_song_text(name)
    local cur_line = 1
    lyrics = {}
    local adjusted_display_lines = display_lines
    for _, line in ipairs(song_lines) do
        local single_line = false
        if line:find("###") ~= nil then
            line = line:gsub("%s*###%s*", "")
            single_line = true
        end
        local comment_index = line:find("%s*//")
        if comment_index ~= nil then
            line = line:sub(1, comment_index - 1)
        end
        local newcount_index = line:find("#L:")
        if newcount_index ~= nil then
            adjusted_display_lines = tonumber(line:sub(newcount_index+3))
            line = line:sub(1, newcount_index - 1)
        end        
        if line:len() > 0 then 
            if single_line then
                lyrics[#lyrics + 1] = line
                cur_line = 1
            else
                if cur_line == 1 then
                    lyrics[#lyrics + 1] = line
                else
                    lyrics[#lyrics] = lyrics[#lyrics] .. "\n" .. line
                end
                cur_line = cur_line + 1
                if (cur_line > adjusted_display_lines) then
                    cur_line = 1
                end
            end
        end
    end
    if ensure_lines and cur_line <= display_lines then
        for i = cur_line, adjusted_display_lines, 1 do
            lyrics[#lyrics] = lyrics[#lyrics] .. "\n"
        end
    end
    lyrics[#lyrics + 1] = ""
end
-----------------------------------------------------------------------------
DCStrato


----------



## DCStrato (Dec 1, 2020)

The last if statement in that function was throwing an error if "Strictly Ensure Number of Lines" was checked and no songs were prepared.  I made this modification that seems to fix it, but not sure if it was anything I did with the other small change.  I did notice I had cur_line <= display_lines rather than adjusted_display_lines in the last post, so here is the combined correction with the nil check.  

    if ensure_lines and cur_line <= adjusted_display_lines and (lyrics[#lyrics] ~= nil) then
        for i = cur_line, adjusted_display_lines, 1 do
            lyrics[#lyrics] = lyrics[#lyrics] .. "\n"
        end
    end


----------



## DCStrato (Dec 2, 2020)

Alfonsoon,

This version of OBS Lyrics has a "Source" added that allows songs to be dynamically prepared when a scene is loaded.  It also allows for the "#L:" markup in the song file.  Adding a first line like #L:5 would overwrite the number of lines used by that song, allowing display line count to vary by song.  If you add a Prepare Lyric Source to a scene, it allows you to select the song from the same list as the script, and automatically renames that source in the scene to "n. Prep lyrics to: _name of song " s_o it's easy to read what song is being prepared in each scene.    I also changed the source of the songs within the script to be a table rather than the script source.  This allowed me to save songs loaded the original way so they are ready when OBS starts.  But you don't really need to pre-prepare songs if you use the source option in scenes to load them dynamically.  All of this is just some small additions to the wonderful code already provided by Amirchev, but it does address some of your listed concerns if you want to give it a try.  

DC


----------



## amirchev (Dec 2, 2020)

Surge42 said:


> *Here's the link to the tutorial**. This video explains how to use Amirchev's FANTASTIC script in a very easy way. ENJOY!
> 
> Thanks again for the hard work Amirchev!*


You're welcome, it was done for a good purpose - to help churches with their livestream. Thank you for the shout-out! I'll post an update with a link to the video.



DCStrato said:


> Alfonsoon,
> 
> This version of OBS Lyrics has a "Source" added that allows songs to be dynamically prepared when a scene is loaded.  It also allows for the "#L:" markup in the song file.  Adding a first line like #L:5 would overwrite the number of lines used by that song, allowing display line count to vary by song.  If you add a Prepare Lyric Source to a scene, it allows you to select the song from the same list as the script, and automatically renames that source in the scene to "n. Prep lyrics to: _name of song " s_o it's easy to read what song is being prepared in each scene.    I also changed the source of the songs within the script to be a table rather than the script source.  This allowed me to save songs loaded the original way so they are ready when OBS starts.  But you don't really need to pre-prepare songs if you use the source option in scenes to load them dynamically.  All of this is just some small additions to the wonderful code already provided by Amirchev, but it does address some of your listed concerns if you want to give it a try.
> 
> DC


Hey, thanks for your work. I will look over and test the script. Hopefully will get it in production sooner than later.


----------



## amirchev (Dec 2, 2020)

amirchev updated OBS Lyrics with a new update entry:

NEW How-To Video Tutorial



> Thanks to Surge42, we now have a video tutorial on how to use this script.



Read the rest of this update entry...


----------



## DCStrato (Dec 2, 2020)

LarryResch said:


> I really like this script and think it would be quite useful in our streaming of worship!
> 
> My main suggestion is a way to display less lines than the setting. For example, say I have a song with 4 lines per verse, but only 3 lines in the chorus. There is no way to display this - if I put a blank line in the lyrics, when I click on Prepare Song, the blank like is removed.
> 
> ...


Larry,

We ran into the same issues at FUMC.  If you want to help test, the script I attached in this discussion thread includes an embedded Line Count change that can be added to the first line of each song.  Good idea for the added phantom line marker when chorus and verse don't match the line count.  We have been adding a "-" or "." on a line to manage a common denominator as a blank line is currently ignored. I started to work on that and opted to add the source loader first. I will add that phantom line option as we would probably use it every Sunday.  I may be able to add a variable line option that changes lines per page of a current lyric, but will start with the phantom option so I know OBS will keep the spacing clean and avoid some of the inner/outer bounding box issues.  I am not trying to take over for Amirchev who did/does a beautiful job starting/running this project, just writing code very selfishly for my own use at FUMC and sharing the changes to the world.  

DCStrato


----------



## DCStrato (Dec 2, 2020)

Larry,

Here is a version that now allows you to add a ##P markup to the Lyric as a phantom placeholder line to help match up those crazy 4 line verses and 3 line choruses.  Just use ##P at the beginning of a line by itself like a comment.  You can put whatever text you want after the ##P and it will be ignored and the entire line will be replaced with a single space.   All my preliminary tests show it works but you should test it in your environment just to be sure.

DCStrato


----------



## Waves138 (Dec 12, 2020)

is the text gdi option only availabe for windows version


----------



## DCStrato (Dec 14, 2020)

Waves138 said:


> is the text gdi option only availabe for windows version


Hey,

I know Amirchev is working on doing some code consolidation.  I sent him this ##P option, a "source" that allows for loading lyrics automatically by scene, a fade in/out transition option, an option to add "#L:" followed by a number in the lyrics that overrides the line count for that song, a reset hot key, and a change to allow paging backwards through a song.  I think he was going to add the OS independent file stuff and offer and update soon.  I am guessing he has some other stuff as well.  Everything else should be OS independent.

DCStrato


----------



## amirchev (Dec 28, 2020)

DCStrato said:


> Hey,
> 
> I know Amirchev is working on doing some code consolidation.  I sent him this ##P option, a "source" that allows for loading lyrics automatically by scene, a fade in/out transition option, an option to add "#L:" followed by a number in the lyrics that overrides the line count for that song, a reset hot key, and a change to allow paging backwards through a song.  I think he was going to add the OS independent file stuff and offer and update soon.  I am guessing he has some other stuff as well.  Everything else should be OS independent.
> 
> DCStrato


Hey DCStrato, thanks for the great work. Just wanted to update everyone that all of these changes are now live.


----------



## dexekiel (Jan 23, 2021)

Any way to load several (+400) lyrics at once? Where do the lyrics get saved? Thanks for the script!


----------



## jgcastror (Jan 23, 2021)

dexekiel said:


> Any way to load several (+400) lyrics at once? Where do the lyrics get saved? Thanks for the script!


Songs folder in windows C:\Users\username\.config\.obs_lyrics , I tried to load some songs in the folder directly and I had some issues with some characters (in spanish), the only way to avoid that was to load song by song within the same script


----------



## amirchev (Jan 24, 2021)

dexekiel said:


> Any way to load several (+400) lyrics at once? Where do the lyrics get saved? Thanks for the script!


Hey, yes it's possible. Click the open songs folder button and load all the lyrics into there as .txt files.


----------



## amirchev (Jan 24, 2021)

jgcastror said:


> Songs folder in windows C:\Users\username\.config\.obs_lyrics , I tried to load some songs in the folder directly and I had some issues with some characters (in spanish), the only way to avoid that was to load song by song within the same script


You may be able to avoid those problems if you change the encoding to UTF for the .txt files. Maybe


----------



## DCStrato (Jan 24, 2021)

I would edit them first and normalize the number of lines to display to a common denominator.  You can pad blank lines with phantom lines using ##P for a blank line.  Then you can add that number of lines to display to each song with #L: N as the first line in each file, where N is that chosen number of lines to display with each page for each song.  I think editing them outside of OBS might be easier.


----------



## chris_prior (Jan 27, 2021)

Hi
I am using obs on gentoo linux and have added the lyrics script. I have managed to get the prepare working and a text source set up with the text display showing. However, I cannot get the hotkey integration to work. I have checked hotkeys elsewhere in obs and they work there. Any thoughts?  Obs version 25.0.8


----------



## DCStrato (Jan 28, 2021)

I know the hot keys only work now if the text source is actually showing somewhere to prevent advancing the lyrics or changing them when not displayed.  I don't have a gentoo linux to test with.  

DCS


----------



## chris_prior (Jan 28, 2021)

DCStrato - thanks for your response.  I have now resolved the issue. I renamed the text box and then renamed it back again and the link suddenly worked. Great feature now its working properly.
Chris


----------



## DCStrato (Jan 29, 2021)

chris_prior said:


> DCStrato - thanks for your response.  I have now resolved the issue. I renamed the text box and then renamed it back again and the link suddenly worked. Great feature now its working properly.
> Chris


Good News!   I also needed to add that code to the hot-keys so I could use the same paging hot-keys for my Python Script that automatically downloads, formats, and pages through scripture.  I didn't want advancing one to advance the other in the background.


----------



## PastorDougC (Feb 4, 2021)

I am trying to get this feature to work, "To display a specific song when a scene is activated, add a "Source" to the scene by clicking the + sign in the scene, adding a "Prepare Lyric" source, and selecting the song to open." I think I did it correctly, but it doesn't work. For example: I have a Scene called "It is Well", with my sources as my PTZ camera and both the "Load lyrics for..." and the text box for the lyric. When I click on that scene nothing is displayed. My desire is to pick which song (Scene) I want in whatever order and the correct song lyrics display. What am I doing wrong?


----------



## PastorDougC (Feb 4, 2021)

Just to add the latest (see post above) ... now, when I click the Scene "It is Well" (with both the Load and the text as sources, I just get the word "Replace" displayed, which is what I put in the original text box. Lastly, If I click around too much on the sources, OBS crashes.


----------



## amirchev (Feb 4, 2021)

PastorDougC said:


> I am trying to get this feature to work, "To display a specific song when a scene is activated, add a "Source" to the scene by clicking the + sign in the scene, adding a "Prepare Lyric" source, and selecting the song to open." I think I did it correctly, but it doesn't work. For example: I have a Scene called "It is Well", with my sources as my PTZ camera and both the "Load lyrics for..." and the text box for the lyric. When I click on that scene nothing is displayed. My desire is to pick which song (Scene) I want in whatever order and the correct song lyrics display. What am I doing wrong?


Hello Pastor Doug,
Have you been successful in using this script prior to using the Source? Make sure you have a Text source selected that will display your lyrics, try using the script without the Prepare Lyric source.


----------



## PastorDougC (Feb 4, 2021)

amirchev said:


> Hello Pastor Doug,
> Have you been successful in using this script prior to using the Source? Make sure you have a Text source selected that will display your lyrics, try using the script without the Prepare Lyric source.


Yes, the script will run without the load, but I'm limited to the order of songs I've prepared. I was hoping for the ability to select a scene per song, that would automatically run only that song.


----------



## DCStrato (Feb 5, 2021)

PastorDougC said:


> Yes, the script will run without the load, but I'm limited to the order of songs I've prepared. I was hoping for the ability to select a scene per song, that would automatically run only that song.


Hey Pastor Doug,
We are also singing "It is well" this Sunday. Try unchecking that box in the source that says Change Lyrics in Preview Mode or switch to Studio Mode.  I will fix it so that it works either way if NOT in Studio mode in the next update.  
DC


----------



## PastorDougC (Feb 5, 2021)

DCStrato said:


> Hey Pastor Doug,
> We are also singing "It is well" this Sunday. Try unchecking that box in the source that says Change Lyrics in Preview Mode or switch to Studio Mode.  I will fix it so that it works either way if NOT in Studio mode in the next update.
> DC


I tried the Load again with that setting off and it still doesn't work the way I thought it would. I guess I'll just have to make it work the way it is.


----------



## DCStrato (Feb 5, 2021)

DCStrato said:


> Hey Pastor Doug,
> We are also singing "It is well" this Sunday. Try unchecking that box in the source that says Change Lyrics in Preview Mode or switch to Studio Mode.  I will fix it so that it works either way if NOT in Studio mode in the next update.
> DC


I did some testing w


PastorDougC said:


> I tried the Load again with that setting off and it still doesn't work the way I thought it would. I guess I'll just have to make it work the way it is.


I tried it with check and without checkbox, studio mode on and off and it works great.  Are you using FADE?  Be sure it is fast enough to actually see.  Setting 6 for fade speed is typical.


----------



## DCStrato (Feb 5, 2021)

PastorDougC said:


> I tried the Load again with that setting off and it still doesn't work the way I thought it would. I guess I'll just have to make it work the way it is.


The way it works for us is this:   When that scene loads in preview, we see the camera move to the preset, and the lyrics load and display the first verse for that song.  We use the keypad + and - keys to page through lyrics.  When the next song scene loads the source in that scene loads the lyrics for that song.  This way we do not have to pre-prepare lyrics as they load on demand with the scene.
DC


----------



## DCStrato (Feb 5, 2021)

Amirchev:  Are you able to duplicate this issue?  I cannot break it in my environment but would love to figure out why it is not working for PastorDoug.  I pushed an update to the DCSTRATO branch in GIT with a change that might help.  It also includes the new markups with #D:n text to duplicate text n times,  #B:n or #Pn to add n blank lines, ##B or ##P to add a single blank line, #R[ and #R] to bracket and mark lines of a refrain, and ##R to repeat the marked refrain without having to type in the lines again.


----------



## PastorDougC (Feb 5, 2021)

DCStrato said:


> The way it works for us is this:   When that scene loads in preview, we see the camera move to the preset, and the lyrics load and display the first verse for that song.  We use the keypad + and - keys to page through lyrics.  When the next song scene loads the source in that scene loads the lyrics for that song.  This way we do not have to pre-prepare lyrics as they load on demand with the scene.
> DC


So, here is what I'm doing. I have a scene called Normal with just the PTZ camera feed. I have a Scene called Prayer, which drops in a motion banner for 10 seconds and then fades out. All that works. I went into the Script and cleared all prepared songs. To set up a song, I duplicated my Normal scene and called it It is Well. I then added the Load Source and picked the correct song. It allowed me to pick it from the list. We don't normally use Studio mode, so I unchecked the Preview box. When I now select that scene, nothing happens on the screen. I still see the camera view, but no text. What am I doing wrong? By the way, I so appreciate both of you helping me with this. Our online following has grown significantly in the last few weeks and as everyone, we're trying to give them the best experience we can.
Also, if I use the Load Source, do I still need the text box source?


----------



## PastorDougC (Feb 5, 2021)

DCStrato said:


> Amirchev:  Are you able to duplicate this issue?  I cannot break it in my environment but would love to figure out why it is not working for PastorDoug.  I pushed an update to the DCSTRATO branch in GIT with a change that might help.  It also includes the new markups with #D:n text to duplicate text n times,  #B:n or #Pn to add n blank lines, ##B or ##P to add a single blank line, #R[ and #R] to bracket and mark lines of a refrain, and ##R to repeat the marked refrain without having to type in the lines again.


It crashed every time I had a Text source and a Load source and would click back and forth between them in the Sources box. The screen would go gray and that was it. Is there a place I an download and install the latest version of the script. Maybe that would fix things.


----------



## PastorDougC (Feb 5, 2021)

Another attempt. I added the text box. Set it to center and added the word "Replace", hoping the words to It is Well would replace that text. Now, when I pick that Scene, I just see the word "Replace". I even put the Load command at the top before the text box with the camera at the bottom, hoping that it would load, then put it in the text box. All that didn't work. I Just see "Replace".


----------



## DCStrato (Feb 5, 2021)

It is certainly not doing the load it is supposed to do.  I wonder if it is reacting badly with another source.  Did you try it in a new scene with nothing except the text source for the Lyrics?  Attached is my latest copy of the lyrics script that I am using.  If I can get it to duplicate your issue here I can fix it pretty quickly.  What did you mean by "clicking back and forth between text source and load source"?  I am trying that to see if I can get it to crash.  The script attached has some timer callback protections that might help that on your computer.   I can also try some other guesses as to what it might be and add diagnostics to a new script to run on your computer.


----------



## DCStrato (Feb 5, 2021)

PastorDougC said:


> So, here is what I'm doing. I have a scene called Normal with just the PTZ camera feed. I have a Scene called Prayer, which drops in a motion banner for 10 seconds and then fades out. All that works. I went into the Script and cleared all prepared songs. To set up a song, I duplicated my Normal scene and called it It is Well. I then added the Load Source and picked the correct song. It allowed me to pick it from the list. We don't normally use Studio mode, so I unchecked the Preview box. When I now select that scene, nothing happens on the screen. I still see the camera view, but no text. What am I doing wrong? By the way, I so appreciate both of you helping me with this. Our online following has grown significantly in the last few weeks and as everyone, we're trying to give them the best experience we can.
> Also, if I use the Load Source, do I still need the text box source?


Thanks,
Yes you will still need the text box source.  The script just loads song lyrics from the file and replaces the text in that text box with the selected lyrics.  The "source" just gets focus like all the other sources in the scene when it loads, except that it simply causes the "load lyric" operation using the exact same function that the manual button would use in the script window.  The basic rule of software is that there is ALWAYS one more bug, it just has not yet been discovered.  Someday, something will change the environment to something different and software that has worked flawlessly for years will quit working.  Those of us who love writing this stuff know we need to take every change we can find to track down issues.  The puzzle is always "WHY".  Why does it work here and not there.  Why, Why , Why.  So any an all feedback is greatly appreciated as we mentally try to think through what could be wrong.  
DC

You can check out what we are doing with OBS and Lyrics on our Facebook Page.  https://www.facebook.com/fumcgreeleyco/


----------



## DCStrato (Feb 5, 2021)

As a sample of the new markup in the script I attached, here is how I entered It Is Well with My Soul Lyrics for the first three verses.

#L:4
When peace, like a river, attendeth my way,
When sorrows like sea billows roll;
Whatever my lot, Thou hast taught me to say
It is well, it is well with my soul.
#R[
##B
It is well with my soul,
It is well, it is well with my soul.
##B
#R]
Though Satan should buffet, though trials should come,
Let this blest assurance control,
That Christ hath regarded my helpless estate,
And hath shed His own blood for my soul.
##R
My sin—oh, the bliss of this glorious thought!—
My sin, not in part but the whole,
Is nailed to the cross, and I bear it no more,
Praise the Lord, praise the Lord, O my soul!
##R


----------



## DCStrato (Feb 5, 2021)

Progress!!   I installed and ran OBS and this script on a slower computer and it started behaving similar to how you describe including the crash if switching scenes to quickly.  The code for one had not finished before it tried to call it again and it obviously does not like that.  I will make adjustments and see if these issues are somehow related, although I don't think so.  Issue is pointing to the very small LoadSong function in the script and some simple visibility settings, or one of the last three functions anyway.  I will review those closely and send you an update to try within a few hours. 
DC


----------



## DCStrato (Feb 6, 2021)

PastorDoug,

Thanks for your help in finding issues with the source option for lyrics.  I had never thought that a script would need to be recursive safe.  I had started to suspect timer callbacks were experiencing recursion problems on slower machines and was able to all but confirm this afternoon that OBS does no checking for recursive calls to user scripts.  Attached is a try at solving some of these issues, a potential memory leak issue fix, and a possible visibility issue fix for your environment.  Let me know how it goes if/when you get a chance at trying it.  You may need to delete and recreate the PrepareLyric Source entries in scenes.

DC


----------



## PastorDougC (Feb 6, 2021)

So, I took the test script and put it in the correct folder. I removed the original script from OBS, then added the new script. I assume that is what I should have done. Then, I created a brand new scene. I then created a text box source and put the word Replace in it. I created a source to load the It is Well lyric. Now, when I select that scene, all I see is the word "Replace"; no text. One positive thing though is that I haven't been able to crash it by selecting the two sources one after the other. Even though it's not working yet, I do so appreciate you both working on this issue with me.


----------



## PastorDougC (Feb 6, 2021)

I'm making progress. I went into the script box and pressed Reset Lyrics and they showed up. I don't if I need to do that when I switch songs. I haven't gotten that far yet, but it did lead to two questions. What do I need to do in the script box when setting things up for each scene to make it work? Is there a way to automatically begin the song at the beginning when I enter that Scene? When I select a different scene and then go back, it picks up in the lyric where I was at last. So, maybe this whole time it wasn't working because I was at the end of the lyric. Also, I added the PTZ camera back in as a source and set it to be the bottom in the list, but now I can't see the text box at all. I have to press Reset Lyrics again for them to show up.


----------



## PastorDougC (Feb 6, 2021)

When I add a second song the same way, nothing works until I reset the lyrics. Even then, the first song doesn't work now because it is not selected in the script box again.


----------



## DCStrato (Feb 6, 2021)

PastorDougC said:


> I'm making progress. I went into the script box and pressed Reset Lyrics and they showed up. I don't if I need to do that when I switch songs. I haven't gotten that far yet, but it did lead to two questions. What do I need to do in the script box when setting things up for each scene to make it work? Is there a way to automatically begin the song at the beginning when I enter that Scene? When I select a different scene and then go back, it picks up in the lyric where I was at last. So, maybe this whole time it wasn't working because I was at the end of the lyric. Also, I added the PTZ camera back in as a source and set it to be the bottom in the list, but now I can't see the text box at all. I have to press Reset Lyrics again for them to show up.


It does reset to the beginning of the song when I load a new scene.  But that's me and not you.  My goal is to get what works for me also working for you.  But I still am looking for Why not you.   It DOES sound like you were at the end of the lyric and that is why it was not showing.  Now I can go look for why it may not be resetting back to the start of the new song.  Baby steps but steps just the same.

I am curious when you add a second song, are you duplicating the scene?  If you use the same PrepareLyrics source entry in a new scene by adding a reference (default of OBS), then when you change it in one scene it will change in the other scene.  I added code to change the color of the entry to orange to let you know this was the case and alert you to that common source potential.  Just delete one of them and use the + source to add a new one unique to that scene.  It should stay in white and not turn orange.


----------



## DCStrato (Feb 6, 2021)

PastorDougC:

Here is a version that calls the exact same function for Home Lyrics as gets called when you push the Reset Lyrics button. I am curious if this works.   Thanks again for all your help.  I find that setting hot-keys for at least Next lyric, Previous lyric, and Reset Lyric very helpful for my tech team.


----------



## PastorDougC (Feb 6, 2021)

DCStrato said:


> PastorDougC:
> 
> Here is a version that calls the exact same function for Home Lyrics as gets called when you push the Reset Lyrics button. I am curious if this works.   Thanks again for all your help.  I find that setting hot-keys for at least Next lyric, Previous lyric, and Reset Lyric very helpful for my tech team.


I had it working for a minute with It is Well. When I added Great are You Lord, it wouldn't load the proper file. So, I tried duplicating my It is Well scene and just changing what file it called, but then it messed up my It is Well song. So, I deleted the second script and now my It is Well shows, but the hotkeys don't advance the lyrics. I checked and the hotkeys are still there. They just don't work. Also, where do I find the hotkey area for Reset? I didn't see it in the list.


----------



## DCStrato (Feb 6, 2021)

Yes, when you "Duplicate" a scene in OBS, all the sources are not duplicated.  Strange but true.  The new scene only has sources that are referenced to the original sources.  So when you change settings for a source in the duplicate you also change it in the original. They are essentially the same exact source used in two different scenes.  The scenes are now sharing the same source rather than each having their own.  There are times when this is good.  Two scenes in a row with the same title for example so you only have to change the title of the text once!  With Lyrics, you only get to select one text source to modify, so these all need to be shared.  But the source to modify that text needs to be unique to each scene.  Good practice if you duplicate a Lyric scene with a Prepare Lyric source is to delete the Prepare Lyric source and create a new one.  Each of the Prepare Lyric source entries should have turned orange when you duplicated the scene to remind you they were actually the same source shared in different scenes.   As for hot keys not working, I would delete and reset them since LyricTest2 is a new script.  The RESET hot key has a different name (my bad) called Prepared Home.


----------



## PastorDougC (Feb 7, 2021)

We are getting very close. I did find one issue that may have affected some actions. When I tried to run OBS as Administrator,  I got a warning that another OBS was already running. When I checked the Processes, there were about 10 processes running connected with OBS. I ended all those tasks and ran OBS as administrator again. My current setup is this. It is Well runs perfectly, starting at the beginning, resetting when needed, advancing and going back as needed. Perfect. However, my Great is the Lord scene isn't working. I created a brand new scene. created the appropriate text box. I created the appropriate Prepare Lyric source and linked it to the correct song. Now, when I select that scene all I see is my word Replace. It isn't loading the new lyric. The same is true for a third song created the same way. Only the word Replace is in the red box.


----------



## DCStrato (Feb 7, 2021)

Here is another LyricsTest3 if you want to try it.  Yes, every time OBS crashes it often leaves a process running that has to be cleaned up manually.  Hey, it's a free product right!   This code mostly just attempts to eliminate any possible recursion.   If the first song works, then your text object is getting changed as it should.  If that is not also changing in the other scenes, then you can't have the same text object in each of the Lyric scenes.  Lyrics can only change ONE text object, so they MUST all be the same.  Delete the text object in the 2nd and 3rd songs where you put the word Replace.  Copy the text object that is working in the first song and paste (replicate) it into each of the other songs and try again.


----------



## DCStrato (Feb 7, 2021)

Sorry,  I meant Paste "REFERENCE" into the other song scenes.


----------



## PastorDougC (Feb 8, 2021)

I am going to say, tentatively, VICTORY! I couldn't get anything to work with the Test3 script, so I went back to Test2. I think the key was the copy/paste reference. I have successfully created three songs which all operate perfectly. Now, to figure out the best way to break the lines of each song in the text file, so they look the way I want on the screen. That's easy. Thanks so much for working on this so diligently for me. We're getting over 60 families watching our livestream each week and this will take our effectiveness up a nice notch.


----------



## DCStrato (Feb 8, 2021)

So, I am not sure if you are still interested in testing this stuff, but I made a few more changes to try and figure out what is going on.  I loaded the test code I wrote for you on our production computer and it had a few issues when I was not using hotkeys, but trying to use the buttons in the script.  The source prepares a song, but the script was not aware of that.  It is now and won't undo what the source has already done.  The only issue will be the typical OBS deal where if your first scene has a source that tries to load a song, you have to go out of the scene and back into it for the active or show calls to work.  I will look at possible trying to examine the current scene on startup and if it has a Preset Source then doing the load and not depend on the OBS callback in that one case.  Let me know how it goes.


----------



## DCStrato (Feb 8, 2021)

PastorDougC said:


> I am going to say, tentatively, VICTORY! I couldn't get anything to work with the Test3 script, so I went back to Test2. I think the key was the copy/paste reference. I have successfully created three songs which all operate perfectly. Now, to figure out the best way to break the lines of each song in the text file, so they look the way I want on the screen. That's easy. Thanks so much for working on this so diligently for me. We're getting over 60 families watching our livestream each week and this will take our effectiveness up a nice notch.


Great!  Congratulations on the updated viewers.  We have less now that we are accepting up to 50 people in person, but a lot are still more comfortable watching the stream.   I think these last changes will apply if you exit the Lyrics Script setup/control screen and go back into it.  The Test 2 script could still fail to use the buttons correctly if that happens.  Now I need to document these changes (which turned out pretty minor) and get them pushed to Amirchev to test and maybe post another update.  FYI, I have gone back and updated our songs with some of the new markups for blank lines and repeated refrains and it seems to help them read more like a song book and it saves some cut/paste editing.  Thanks again for all YOUR help testing!  No software solutions can survive without great feedback.

Between this and the Python script I wrote to automatically download bible verses, scrape them, format them by width and lines, and page through the text like Lyrics, our setup time went from 3 hours down to less than one to prepare for a service!   

DC


----------



## PastorDougC (Feb 8, 2021)

DCStrato said:


> Great!  Congratulations on the updated viewers.  We have less now that we are accepting up to 50 people in person, but a lot are still more comfortable watching the stream.   I think these last changes will apply if you exit the Lyrics Script setup/control screen and go back into it.  The Test 2 script could still fail to use the buttons correctly if that happens.  Now I need to document these changes (which turned out pretty minor) and get them pushed to Amirchev to test and maybe post another update.  FYI, I have gone back and updated our songs with some of the new markups for blank lines and repeated refrains and it seems to help them read more like a song book and it saves some cut/paste editing.  Thanks again for all YOUR help testing!  No software solutions can survive without great feedback.
> 
> Between this and the Python script I wrote to automatically download bible verses, scrape them, format them by width and lines, and page through the text like Lyrics, our setup time went from 3 hours down to less than one to prepare for a service!
> 
> DC


I switched to the Test3 and at first I couldn't get anything to work again, but I did find one song that began to work, so I did the copy/paste reference again with the other two songs and everything is fine now. Next project is to be able to do this same thing with our Scripture text for the week.


----------



## PastorDougC (Feb 8, 2021)

DCStrato said:


> Great!  Congratulations on the updated viewers.  We have less now that we are accepting up to 50 people in person, but a lot are still more comfortable watching the stream.   I think these last changes will apply if you exit the Lyrics Script setup/control screen and go back into it.  The Test 2 script could still fail to use the buttons correctly if that happens.  Now I need to document these changes (which turned out pretty minor) and get them pushed to Amirchev to test and maybe post another update.  FYI, I have gone back and updated our songs with some of the new markups for blank lines and repeated refrains and it seems to help them read more like a song book and it saves some cut/paste editing.  Thanks again for all YOUR help testing!  No software solutions can survive without great feedback.
> 
> Between this and the Python script I wrote to automatically download bible verses, scrape them, format them by width and lines, and page through the text like Lyrics, our setup time went from 3 hours down to less than one to prepare for a service!
> 
> DC


I switched to the Test3 and at first I couldn't get anything to work again, but I did find one song that began to work, so I did the copy/paste reference again with the other two songs and everything is fine now. Next project is to be able to do this same thing with our Scripture text for the week.


----------



## DCStrato (Feb 9, 2021)

PastorDougC said:


> I switched to the Test3 and at first I couldn't get anything to work again, but I did find one song that began to work, so I did the copy/paste reference again with the other two songs and everything is fine now. Next project is to be able to do this same thing with our Scripture text for the week.


Are you interested in using the script I wrote in Python for paging scripture?  You have to install Python 3.6 on your computer locally https://youtu.be/i-MuSAwgwCU.  Then you have to install the Beautiful Soup library.  https://www.geeksforgeeks.org/beautifulsoup-installation-python/


----------



## PastorDougC (Feb 9, 2021)

DCStrato said:


> Are you interested in using the script I wrote in Python for paging scripture?  You have to install Python 3.6 on your computer locally https://youtu.be/i-MuSAwgwCU.  Then you have to install the Beautiful Soup library.  https://www.geeksforgeeks.org/beautifulsoup-installation-python/
> View attachment 67190


Will this work within OBS? If so, then I will certainly try it out.


----------



## DCStrato (Feb 9, 2021)

PastorDougC said:


> Will this work within OBS? If so, then I will certainly try it out.


Yes it ONLY works within OBS.


----------



## PastorDougC (Feb 10, 2021)

DCStrato said:


> Yes it ONLY works within OBS.


I think I have everything installed, so how do I use it? If there was a Readme, I missed it.


----------



## DCStrato (Feb 11, 2021)

Sorry, no readme.  Does the script come up similar to how Lyrics works? It installs in the same directory and is selected in OBS the same way. If so then you should be able to choose a bible, a book, a starting and ending verse, a text object to change (like with lyrics) and click load.  It should load and show you the text in the lower windows.  You can change the desired width and number of lines to show at one time (page).  You can also assign hot keys for previous/next and reset or home.   (it is designed to work using the same keys as Lyrics if you want).


----------



## PastorDougC (Feb 12, 2021)

DCStrato said:


> Sorry, no readme.  Does the script come up similar to how Lyrics works? It installs in the same directory and is selected in OBS the same way. If so then you should be able to choose a bible, a book, a starting and ending verse, a text object to change (like with lyrics) and click load.  It should load and show you the text in the lower windows.  You can change the desired width and number of lines to show at one time (page).  You can also assign hot keys for previous/next and reset or home.   (it is designed to work using the same keys as Lyrics if you want).


Thanks. I'll give it a try.


----------



## PastorDougC (Feb 12, 2021)

Is there a way in the Lyrics script to have the text centered in the box as it is displayed instead of left aligned?


----------



## DCStrato (Feb 12, 2021)

PastorDougC said:


> Is there a way in the Lyrics script to have the text centered in the box as it is displayed instead of left aligned?


It will keep whatever formatting your text object has applied.  If the text object is set to center text then the text will always be centered even if Lyrics changes that text.  I suggest you also play around with the text Transformation properties and find the scale to bounds that works for you.  Otherwise different text lengths can cause the size to also change.


----------



## PastorDougC (Feb 12, 2021)

DCStrato said:


> It will keep whatever formatting your text object has applied.  If the text object is set to center text then the text will always be centered even if Lyrics changes that text.  I suggest you also play around with the text Transformation properties and find the scale to bounds that works for you.  Otherwise different text lengths can cause the size to also change.


I'm sure if I'm missing something or it's just not working for me, or I haven't been clear on what I'm looking for. I've attached a snip of my current setup and the words.  I have the Alignment in Bounding Box to Bottom Center, but the second line of the text "Look up child" is clearly not centered. Thoughts?


----------



## DCStrato (Feb 13, 2021)

PastorDougC said:


> I'm sure if I'm missing something or it's just not working for me, or I haven't been clear on what I'm looking for. I've attached a snip of my current setup and the words.  I have the Alignment in Bounding Box to Bottom Center, but the second line of the text "Look up child" is clearly not centered. Thoughts?View attachment 67394


----------



## PastorDougC (Feb 13, 2021)

DCStrato said:


> View attachment 67418


So simple, I never saw the vertical scroll bar, so I never saw these options. It works perfectly. I think I have everything set up for Sunday, but they are calling for a lot of ice Saturday night, so I may be doing everything remotely from my home.


----------



## amirchev (Feb 14, 2021)

PastorDougC said:


> It crashed every time I had a Text source and a Load source and would click back and forth between them in the Sources box. The screen would go gray and that was it. Is there a place I an download and install the latest version of the script. Maybe that would fix things.


This page has all of the releases: https://github.com/amirchev/OBS-Lyrics/releases



PastorDougC said:


> Another attempt. I added the text box. Set it to center and added the word "Replace", hoping the words to It is Well would replace that text. Now, when I pick that Scene, I just see the word "Replace". I even put the Load command at the top before the text box with the camera at the bottom, hoping that it would load, then put it in the text box. All that didn't work. I Just see "Replace".


For this attempt, did you go to the script and select the new text source you will use?

We test before every release, but bugs can happen depending on OS and in some special use cases.

I'm sorry for all of the hassle. There is a lot of troubleshooting we can do, but it will be time consuming. If you'd like, I can connect with you via TeamViewer. Send me a private message if you'd like to do that. Otherwise, please make sure you are using the newest version of OBS and the newest version of the script. If not, we can continue on the forum, please upload a screenshot with all of the script settings and the scene that you are trying to use it in.


----------



## DCStrato (Feb 14, 2021)

PastorDoug,  I was able to recreate the crash by switching in and out of a scene with a load source repeatedly.  I was unable to crash the attached version of the script and is the code I will be streaming with later today.   This has been a tough bug to track down.  Still a lot to learn about all the inner workings of OBS.    

DCStrato


----------



## PastorDougC (Feb 15, 2021)

Today was my first church service running the script. Everything worked perfectly! It looked good when I looked back at the livestream and recording. Thank you both for all your work getting this working for me.


----------



## DCStrato (Feb 15, 2021)

Awesome!  Did you ever get the python script working?


----------



## PastorDougC (Feb 15, 2021)

DCStrato said:


> Awesome!  Did you ever get the python script working?


I didn't work with it much, since the other script works as well doing the Scripture as it does with the songs.


----------



## PastorDougC (Feb 15, 2021)

I don't know if I'm asking for the moon now, but here goes. I know I asked before about making sure when I select a scene that the lyric go back to the beginning and that is what it does. But now, I can see the value of it not doing that. Sunday, during the application part of a passage, it would have been nice to select my Prayer script, which plays a 10 second banner video which displays our prayer email address then fades out, and then be able to go back to my Scripture scene and have the lyric pick up in the text the pastor left off with instead of starting at the beginning. I can always start over by tapping the Reset hotkey. Thoughts?


----------



## DCStrato (Feb 15, 2021)

PastorDougC said:


> I didn't work with it much, since the other script works as well doing the Scripture as it does with the songs.


Yes, I tried using lyrics for scripture but had to copy and paste then format (wrap) text correctly and it was taking a lot of time.  I would love the feedback if you get a chance to try to use it.  Thanks.


----------



## DCStrato (Feb 15, 2021)

PastorDougC said:


> I don't know if I'm asking for the moon now, but here goes. I know I asked before about making sure when I select a scene that the lyric go back to the beginning and that is what it does. But now, I can see the value of it not doing that. Sunday, during the application part of a passage, it would have been nice to select my Prayer script, which plays a 10 second banner video which displays our prayer email address then fades out, and then be able to go back to my Scripture scene and have the lyric pick up in the text the pastor left off with instead of starting at the beginning. I can always start over by tapping the Reset hotkey. Thoughts?


I have done just that, but currently don't use the Lyrics Script for scripture.  I do use the same hot keys for paging as I didn't want to have to explain different page keys to the rest of the tech team.  Both Lyrics and Scripture scripts only advance their text if the text is active in OBS so text won't advance in the background if you press the hot keys accidentally or use them with a different script.   :)  Lyrics is different because it has a source that loads each time with the scene that is homing the lyrics.   I will look at adding a check box for Home Lyric on active scene.  If the same lyric is already showing and this box is Unchecked, it will leave it where it left off.  If checked, or a NEW lyric is being loaded it will Home the lyric when activated.  Does this sound like what you are looking for?  I am planning to add code to fade the background color, and also honor the current opacity settings for text, outline, and background and fade from that setting to zero and back rather than assume 100% opacity for text and outline as it does now.  Fading the background color with the text will be optional.  I am needing that for some fancy scene formatting I am doing next Sunday.  While I am adding stuff I will look at adding your option to not home the lyric if not loading a new lyric.   Scripture script also has the option to change the Title of the scripture that was loaded.  So if you chose to load John 3:16 then it grabs that text from the internet and also changes a selected Title Text object to "John 3:16".  I think someone asked for the ability to modify a Song Title text object with the name of the loaded song.  So in addition to choosing a text object to modify with new Lyrics, you could choose another text object that would be loaded with the Song Title.

DC


----------



## PastorDougC (Feb 15, 2021)

DCStrato said:


> I have done just that, but currently don't use the Lyrics Script for scripture.  I do use the same hot keys for paging as I didn't want to have to explain different page keys to the rest of the tech team.  Both Lyrics and Scripture scripts only advance their text if the text is active in OBS so text won't advance in the background if you press the hot keys accidentally or use them with a different script.   :)  Lyrics is different because it has a source that loads each time with the scene that is homing the lyrics.   I will look at adding a check box for Home Lyric on active scene.  If the same lyric is already showing and this box is Unchecked, it will leave it where it left off.  If checked, or a NEW lyric is being loaded it will Home the lyric when activated.  Does this sound like what you are looking for?  I am planning to add code to fade the background color, and also honor the current opacity settings for text, outline, and background and fade from that setting to zero and back rather than assume 100% opacity for text and outline as it does now.  Fading the background color with the text will be optional.  I am needing that for some fancy scene formatting I am doing next Sunday.  While I am adding stuff I will look at adding your option to not home the lyric if not loading a new lyric.   Scripture script also has the option to change the Title of the scripture that was loaded.  So if you chose to load John 3:16 then it grabs that text from the internet and also changes a selected Title Text object to "John 3:16".  I think someone asked for the ability to modify a Song Title text object with the name of the loaded song.  So in addition to choosing a text object to modify with new Lyrics, you could choose another text object that would be loaded with the Song Title.
> 
> DC


That would be wonderful. I teach an Introduction to Computer Programming class, but you are way past me.


----------



## DCStrato (Feb 15, 2021)

PastorDougC said:


> That would be wonderful. I teach an Introduction to Computer Programming class, but you are way past me.


Fifty years of programming computers later, it is good to know I am past somebody anyway.


----------



## DCStrato (Feb 16, 2021)

Ok PastorDougC....

Attached is your requested option to not Home lyrics when returning to a scene without a lyric change.  This is the default behavior and a checkbox in the Source Properties causes it to home lyrics anytime it returns to the scene.  So it can be a different action for different lyrics.  Maybe Songs start at the top each time, but scripture continues where it left off.  :)

All the other changes are there now too.  Here are my comments within the source code since you are a programmer type.

-- Source updates by W. Zaggle (DCSTRATO) 2/16/21
-- Removed obs_frontend_get_current_preview_scene() in show callback  (crashes OBS)
-- Removed obs_frontend_get_current_scene() in show callback (crashes OBS)
-- Added code to honor current opacity level of Text, Text Outline, and Text Background during fade in/out
-- Added option to NOT fade background color with text
-- Removed auto HOME when using the source object to prepare Lyric and returning to scene without a lyric change
-- Added option to Home lyric when return to scene without a lyric change
-- Added code to instantly show/hide lyrics ignoring fade option  (Should fade be optional?)

A lot of differences so any and all testing of this version would be appreciated.

DC


----------



## DCStrato (Feb 16, 2021)

That last attachment has some issues.  This one is better.


----------



## DCStrato (Feb 17, 2021)

Not sure the fade options for honoring opacities is going to work the way I thought.  Sorry.  I will back that code out and just leave the options you were wanting for home and title set.  I need to go back a few squares and see if I can learn more about how OBS likes things to happen.


----------



## DCStrato (Feb 18, 2021)

This is a Next Release Candidate version.   Any testing feedback would be appreciated.    DC.


----------



## PastorDougC (Feb 20, 2021)

DCStrato said:


> This is a Next Release Candidate version.   Any testing feedback would be appreciated.    DC.


Bad news ... with this release my system reverted back to not loading the lyrics when I picked a scene. I made sure to create a new Load source, a new Lyric, set up new hot keys, went into the script and picked Lyric as the text source and did everything the way I had before, but I would get the box the lyrics should be displayed, but nothing I tried worked. When I went back to the Test 3 lyric and reset all the above items, it worked again. I tried the new one again making sure I didn't miss anything, but no lyric text on the display. So, I'm back to Test 3, which doesn't give me the option I saw about resetting or not, and everything works again.


----------



## DCStrato (Feb 20, 2021)

PastorDougC said:


> Bad news ... with this release my system reverted back to not loading the lyrics when I picked a scene. I made sure to create a new Load source, a new Lyric, set up new hot keys, went into the script and picked Lyric as the text source and did everything the way I had before, but I would get the box the lyrics should be displayed, but nothing I tried worked. When I went back to the Test 3 lyric and reset all the above items, it worked again. I tried the new one again making sure I didn't miss anything, but no lyric text on the display. So, I'm back to Test 3, which doesn't give me the option I saw about resetting or not, and everything works again.


Humm,  I used this version for Ash Wed service we created from scratch.  I also setup our service for this Sunday with no issues.  I am curious for sure.  Here are some questions so I can try to duplicate the issue here.  1. Are you using fading?  Is that value  bigger than 5?  I noticed a slow fade of 1 looks like it is not loading and plan to correct that default.  Does reset lyric make a difference?   I just repeated your exact steps and it all works.  We must be doing something different somewhere.   Thank YOU for your help.  It is the only cost to free software and greatly appreciated.   I just remembered I didn't try it in Non-Studio mode which is your preferred profile.  I will try it in non-studio mode, and if you will switch with me and try it in studio mode that would be awesome!

DC


----------



## DCStrato (Feb 20, 2021)

Let's just be double sure we are using the same version.  Sorry for not doing a better job of version control here.


----------



## DCStrato (Feb 20, 2021)

Found it!   Fade speed matters even if not selected for the first time lyric.  Seems to not matter after that.  It's apparently an initialization issue.  I will fix that tomorrow.  For now just run the fade speed up to beyond 5 and it should work.


----------



## DCStrato (Feb 20, 2021)

This should do it.   You do have to go out of the scene and back into the scene to activate the source create and see the lyrics!  OBS has a bug that the source create/show function does not get called when the source is first added to a scene.  Several of their other functions suffer from this same problem, so I am not sure why they haven't fixed it yet.  Didn't change the default fade speed yet so if you use that be sure to set it fast enough to see it.  THANK YOU for helping me test this code.  Amirchiv is also testing and there should be a new release pretty soon.  I will try to work on a tutorial video as using this is a bit more complex in its new advanced formats.


----------



## PastorDougC (Feb 20, 2021)

DCStrato said:


> This should do it.   You do have to go out of the scene and back into the scene to activate the source create and see the lyrics!  OBS has a bug that the source create/show function does not get called when the source is first added to a scene.  Several of their other functions suffer from this same problem, so I am not sure why they haven't fixed it yet.  Didn't change the default fade speed yet so if you use that be sure to set it fast enough to see it.  THANK YOU for helping me test this code.  Amirchiv is also testing and there should be a new release pretty soon.  I will try to work on a tutorial video as using this is a bit more complex in its new advanced formats.


Thanks again for all your work. For tomorrow, I will just leave it at its current state with the Test3 release, but on Monday I'll give the new release a run through. I have never changed the fade, so the default is still there. I will play with that as well.


----------



## DCStrato (Feb 20, 2021)

Understood.  I hate changing things too close to Sunday and prefer to try new things on Monday.  :)


----------



## PastorDougC (Feb 24, 2021)

DCStrato said:


> Understood.  I hate changing things too close to Sunday and prefer to try new things on Monday.  :)


Sunday worked perfectly with the LyricsTest3 script, so I tried today to use the new lyric you sent me. It works! I did discover a few things in the way I create the text to be pasted into the lyric script. I am using Word with line numbering turned on so I can make sure each verse of the Scripture or certain song lyrics begin at the right place within my two-line limit. I then set the right margin at 3.75" so the text doesn't bleed off the screen in OBS. What I discovered is that I must end each line with a hard return and not let word wrap determine my lines. Otherwise, the text size goes crazy in OBS. I also need to make sure there is not a blank line at the bottom of the script or the size goes crazy again. I just use the ##P whenever I need and it all looks great.
The feature to not reset a lyric automatically works perfectly. I moved a few verses into one scene, then jumped to another scene, then back and it was right where I left it. I know I can't pay you for all the time you have in this, but I sure do appreciate the hours you have spent with this script. Right now, I can't think of another feature I need, but no promises!


----------



## DCStrato (Feb 25, 2021)

PastorDougC said:


> Sunday worked perfectly with the LyricsTest3 script, so I tried today to use the new lyric you sent me. It works! I did discover a few things in the way I create the text to be pasted into the lyric script. I am using Word with line numbering turned on so I can make sure each verse of the Scripture or certain song lyrics begin at the right place within my two-line limit. I then set the right margin at 3.75" so the text doesn't bleed off the screen in OBS. What I discovered is that I must end each line with a hard return and not let word wrap determine my lines. Otherwise, the text size goes crazy in OBS. I also need to make sure there is not a blank line at the bottom of the script or the size goes crazy again. I just use the ##P whenever I need and it all looks great.
> The feature to not reset a lyric automatically works perfectly. I moved a few verses into one scene, then jumped to another scene, then back and it was right where I left it. I know I can't pay you for all the time you have in this, but I sure do appreciate the hours you have spent with this script. Right now, I can't think of another feature I need, but no promises!


Yes, hard returns are required.  ##B works the same now as ##P.  My tech guys wanted to remember the blank line with a "B".  I retired early in life most blessed and enjoy paying back my time.  The more I give the more I get.   PROVERBS 11:24–25


----------



## Rob M (Feb 25, 2021)

Hi

When using the script (which I love) I would like to use two different colours. One to signify the leaders text and a second for congregation response. Is this possible please

Thanks


----------



## amirchev (Feb 25, 2021)

Rob M said:


> Hi
> 
> When using the script (which I love) I would like to use two different colours. One to signify the leaders text and a second for congregation response. Is this possible please
> 
> Thanks


At this time, it's not supported, but you can try using multiple versions of this script, with one displaying the leaders text and the other displaying the response, connecting each script to a different text source, and formatting that source with the colors and font that you choose.


----------



## DCStrato (Feb 26, 2021)

amirchev said:


> At this time, it's not supported, but you can try using multiple versions of this script, with one displaying the leaders text and the other displaying the response, connecting each script to a different text source, and formatting that source with the colors and font that you choose.





amirchev said:


> At this time, it's not supported, but you can try using multiple versions of this script, with one displaying the leaders text and the other displaying the response, connecting each script to a different text source, and formatting that source with the colors and font that you choose.


Rob M.

Here is a version you can try if you want.   
1. Create an Alternate Text source in the scene and format it differently.
2. Select  this Alternate Source in the Script the same as Text Source and Title Source
3. Mark your Lyrics with #A[ and #A] for the text you want to be loaded to this alternate text source.

Example:
#L:1
#A[
Leader:  God be with you
#A]
People: And also with You

Note: Text inside #A[ and #A] is treated as its own lyric text.  So you need to manage the number of lines selected by adding blank lines ##B or using #L: markups where they might be different between the two independent Text Sources.   For example:

#A[
#L:1
Leader:  Single Line Lead #1
#A]
#L:2
Response:  Line one of Response 1
                     Line two of Response 1
#A[
#L:1
Leader:  Single Line Lead #2
#A]
#L:2
Response:  Line one of Response 2
                     Line two of Response 2

I did some pretty good testing on this script, but it might still have issues.  You asked for the feature so you get to help test!  :)  I am working on setting the #L: automatically inside of #R[ and #A[ constructs in the next update.   All feedback appreciated. 
DC Strato


----------



## Rob M (Feb 28, 2021)

DCStrato said:


> Rob M.
> 
> Here is a version you can try if you want.
> 1. Create an Alternate Text source in the scene and format it differently.
> ...


Many thanks.. Will give it a go and report back


----------



## Rob M (Feb 28, 2021)

Hi DC
Tried it today, but I guess I am doing something wrong. 
I created the alternate text source in my scene, but that displayed the "Song Title"
I was unable to make the main text appear in the correct box

I attach two screen captures so you can see what I had set up and where I have gone wrong.

Otherwise it looks good


----------



## DCStrato (Feb 28, 2021)

I only see one text object?   
1. Create a text object named Text1 and another named Text2
2. Format Text1 Red and formate Text2 White
3. In the script there are THREE text objects.  
    a. Source  (The text object where lyrics typically get loaded)
    b. Alternate Source (Where text between #A[ and #A] goes)
    c.  Title Source (Where the title of the lyric gets loaded)


----------



## DCStrato (Feb 28, 2021)

Rob M said:


> Hi DC
> Tried it today, but I guess I am doing something wrong.
> I created the alternate text source in my scene, but that displayed the "Song Title"
> I was unable to make the main text appear in the correct box
> ...


You have both Text Source and Title Source set to go to the same "Main Text" object.  So Main Text is getting over-written by the Title.


----------



## Rob M (Mar 1, 2021)

DCStrato said:


> I only see one text object?
> 1. Create a text object named Text1 and another named Text2
> 2. Format Text1 Red and formate Text2 White
> 3. In the script there are THREE text objects.
> ...


Thanks for the clarification.. It was the "Title" text that I hadn't picked up on needing a text box for it. The other thing we have discovered is that the #A commands needed to be on a seperate line to the text to make it work


----------



## DCStrato (Mar 1, 2021)

Rob M said:


> Thanks for the clarification.. It was the "Title" text that I hadn't picked up on needing a text box for it. The other thing we have discovered is that the #A commands needed to be on a seperate line to the text to make it work


Yes, right now markups need to be on their own line.  Title text is not required. Someone had just requested having the song titles put in automatically from the title of the Lyric.


----------



## Rob M (Mar 1, 2021)

DCStrato said:


> Yes, right now markups need to be on their own line.  Title text is not required. Someone had just requested having the song titles put in automatically from the title of the Lyric.


Having now got all my boxes in the right place. I tried to use the script but found that, although it moved through if I used the "Next" and "previous" buttons on the control window, if I tried to use the hotkeys I had previously set, it didn't appear to recognise them. I did a reset on the hotkeys to try and force them to be recognised and also closed and re-started OBS.
Help please


----------



## DCStrato (Mar 1, 2021)

No issues that I can see here.  Did a reset and defined new hot-keys just to be sure.  All seems to work as before.  Do the hot-keys work with just the lyrics text?  How about the original Lyrics Script?  Attached is the latest code with very minor changes.


----------



## Rob M (Mar 1, 2021)

DCStrato said:


> No issues that I can see here.  Did a reset and defined new hot-keys just to be sure.  All seems to work as before.  Do the hot-keys work with just the lyrics text?  How about the original Lyrics Script?  Attached is the latest code with very minor changes.


Sorted... Moment of clarity kicked in.. It's a different script. I was using the original Lyrics script and hadn't realised it would need seperate entries

Thank you for your work on this


----------



## DCStrato (Mar 2, 2021)

Rob M said:


> Sorted... Moment of clarity kicked in.. It's a different script. I was using the original Lyrics script and hadn't realised it would need seperate entries
> 
> Thank you for your work on this


Awesome!  Thanks for trying it out.


----------



## Sagwin (Mar 5, 2021)

DCStrato said:


> No issues that I can see here.  Did a reset and defined new hot-keys just to be sure.  All seems to work as before.  Do the hot-keys work with just the lyrics text?  How about the original Lyrics Script?  Attached is the latest code with very minor changes.


Thanks for the great work and all your effort. Exactly what I was searching for.

Is there an option to keep the "alt-text" for the whole song? I want to use the "alt-text" for the copyright information of the song.
At the moment I'm using a workaround, but this needs some time to set up for every song:

_Lyrics Line 1_​_Lyrics Line 2_​_#A[_​_#L:1_​_Copyright Information_​_#A]_​_Lyrics Line 3_​_Lyrics Line 4_​_#A[_​_#L:1_​_Copyright Information_​_#A]_​_Lyrics Line 5_​_...._​


----------



## DCStrato (Mar 6, 2021)

Hi Sagwin,

As you see, Alternate Text syncs with the Lyrics and needs repeated line management.  I added it with a Responsive Reading use-case but used it last Sunday like you have for copyright info and displayed Verse Number or Refrain. 

Try this version.  I added a "Static" text source that loads with any text bracketed by #S[ and #S] and stays static through the song.

So point the Static Source to your copyright text object and then use the #S option somewhere in the Lyric.  

_#S[
Copyright Information
#S]_

I only did some really quick testing but the addition was minor.  Let me know how it goes.

DC


----------



## Sagwin (Mar 8, 2021)

Hi DC Strato,
Amazing work. Thanks for the quick update. Works fine for me.


----------



## ac1219 (Apr 9, 2021)

Hi, I wonder if this is just a problem for me.

Everything works fine. The lyrics displays, I can go back and forward. Except everytime I change lyrics it updates in the preview but not in the live program. I have to click transition for every new lyrics line. I don't think that is what is supposed to happen. Anyone got any suggestions?


Thank you


----------



## DCStrato (Apr 13, 2021)

ac1219 said:


> Hi, I wonder if this is just a problem for me.
> 
> Everything works fine. The lyrics displays, I can go back and forward. Except everytime I change lyrics it updates in the preview but not in the live program. I have to click transition for every new lyrics line. I don't think that is what is supposed to happen. Anyone got any suggestions?
> 
> ...


AC1219,   Lyrics just updates the "text" content of the selected text source object.  I think that by design, that text is being shown in real-time in both preview and program screens.  I am not sure I could program it to only change preview and not program views, even if I set out to actually do that.  I wish I knew how it was doing that on your system and I would purposely use it a LOT of places.  As far as I know, it can't be done on purpose.  Even though you are witnessing it.   Maybe someone else knows a way that can happen.

DC


----------



## DCStrato (Apr 13, 2021)

AC1219,  Like I used to tell my students in College.  I may not know the answer but I can probably find it faster than you.  :)  I think you have "Duplicate Sources" set on your Transition.  This DOES allow sources to be modified in Preview without changing them in Program.   Learn something new every day!  Click on the Gear to the right of Transition between Preview and Program and uncheck Duplicate Sources.


----------



## chadbrewyet (May 13, 2021)

This is absolutely great stuff!  Your script is going to save our team SO MUCH time and make our services SO MUCH better.  I'm playing around with some things and there's one thing I want to try that I can't seem to figure out.

I'm wanting to use the script both for song lyrics AND scripture verses.  The trouble I'm running into is how I have my scenes set up.  For scripture readings, I have the text showing up along the right side of the screen so I can increase the number of lines being displayed.  I also use custom text extends to wrap the text to fit on an overlay.  For scenes with song lyrics, I want the lyrics to show on the bottom of the screen.  However, whatever changes I make to the text box affects the other scripture scenes.  I tried using the Alt Text for the song lyrics in a different text box but I can't get it to page through the lyrics.  It only stays on the first lines of the song.

So, I was thinking about loading the same script twice into OBS and use different settings for the target text boxes for songs and scriptures.  However, I'm guessing the 2 scripts are conflicting and not working right.  What changes would I need to make to the script to allow for 2 scripts to run simultaneously?


----------



## DCStrato (May 14, 2021)

Hi,
I use my python script (shared in OBS) for scripture as it auto loads any range of book/chapter/verse from the internet, formats and pages for me so I don't have to copy-paste.  But I know people are using lyrics for a lot of things like responsive reading (why the alternate text) and probably scripture.  I will check out why the alternate text is not paging.  It should if the source text is formatted properly in an alternate block.  

DC


----------



## DCStrato (May 14, 2021)

Chadbrewyet.  I found that primary (not the alternate text inside of #A[ ... #A]) controls paging.  I will try to find time to offer some alternative to that, but for now, if you include your scripture twice, once in regular text and again inside of #A[ ... #A], and only have an alternate text source in your scene it should work.  For example to page one line at a time:

#L:1
Dummy Line 1
Dummy Line 2
Dummy Line 3
#A[
Scripture Line 1
Scripture Line 2
Scripture Line 3
#A]

It will page correctly because of the dummy lines, but display the scripture lines in the alternate text source.

DC


----------



## chadbrewyet (May 14, 2021)

DCStrato said:


> Chadbrewyet.  I found that primary (not the alternate text inside of #A[ ... #A]) controls paging.  I will try to find time to offer some alternative to that, but for now, if you include your scripture twice, once in regular text and again inside of #A[ ... #A], and only have an alternate text source in your scene it should work.  For example to page one line at a time:
> 
> #L:1
> Dummy Line 1
> ...



That seemed to work.   Oddly enough, I found that it still wouldn't page unless I had the main text box also as part of the scene.  Not a big problem.  I just added it and pushed it off the screen.  I'm also running an v27rc3 so that may have a little to do with it as well.

Great work guys!  If there is any way to make the Alternate Text "pageable", this would be absolutely perfect and could easily be one of the most useful tools in OBS.


----------



## DCStrato (May 16, 2021)

chadbrewyet,

Sorry for the delay.  
Assuming Alternate Text is defined in the loaded Lyric and an Alternate Source is selected and present in the current scene.   The attached version will Page on Alternate Lyrics instead of Main Lyrics on the following conditions.

A. There are ZERO Main lines in the prepared Lyric file.
OR
B. The Main Text Source selected is Undefined in the script settings.
OR
C. The Main Text Source selected in the script settings is NOT present in the current scene.

Basically, if it can't find a main Lyric to show, or a Text Source to show it in, then it uses the Alternate Lyrics instead.  So to get your #A[ ... #A] only text to drive paging, either be sure you have no other lines outside the #A[..#A] constructs in the scripture Lyric, or remove the Text Source used for the main text from the scripture scenes (instead of moving it off the page) and only have an Alternate Source in those scenes.

Let me know if you think of any other use cases I missed.  

Thanks
DC


----------



## chadbrewyet (May 17, 2021)

Bravo sir!  Seriously, this script is outstanding and any church should see a benefit from it.  I know it will for ours.

If I may make an enhancement request for the next major release.  :) 
It would be much easier to be able to add/edit the lyrics within a dockable panel that can be accessed from the main screen instead of having to go through the scripts menu.  Maybe not all the settings of the text targets but just the ability to load a song and change the title and/or lyrics.  It is rather easy currently but I'm just thinking of having it to where someone who may not be as experienced using OBS could be trained to make these changes.


----------



## DCStrato (May 17, 2021)

Thanks,

I think to be a dockable panel it would have to be rewritten and compiled to use the OBS dev library.  This started as a  rather simple LUA script by Amirchev and evolved (feature crept) into not so simple a Lua script.   Maybe someday we can tackle the docking window.  I can program in almost any language, but Lua was just readily available for OBS and easy.  I have a nifty PTZ camera controller I wrote for OBS that drives our five cameras with 12 presets each (plus home) that are also dynamically loaded with source objects per scene.  I don't have PTZOptics cameras and didn't like having to use the browser source to change presets anyway.  It is a separate executable that I have considered turning into a dockable window for OBS later this summer.  If I start down that road I will try to drag Lyrics along for the ride.   Right now everything is working for our services and I and afraid to mess with it too much.

Question: Do you pre-prepare lyrics or dynamically load them with the Prepare Lyrics source object?  One of my to-dos is to be sure the dynamic load method using the source object is somehow fully compatible with pre-prepared lyrics.  I think right now you pretty much have to do it one way or the other but not both.  Right now you get either a pre-prepared LIST of songs that get paged through, or you can dynamically prepare one lyric per scene.  The blend would be to be able to dynamically prepare either a single lyric or a  "Playlist" using the Prepare Lyric source object.   It would mean adding the ability to save the pre-prepared list, adding those marked as playlists of multiple lyrics when selecting, and preparing ALL the songs in the list from the Source object.  Most of the infrastructure code is already there and is just missing little glue.  

DC


----------



## hpluke (May 22, 2021)

Besides [Reset to Song Start] and [Reset to First Song] , izit possible for me to add a hotkey for #chorus or #bridge?  Cause some songs have many lines and hard to go to the correct one with [Next/Previous Lyrics] function while doing live..


----------



## hpluke (May 22, 2021)

hpluke said:


> Besides [Reset to Song Start] and [Reset to First Song] , izit possible for me to add a hotkey for #chorus or #bridge?  Cause some songs have many lines and hard to go to the correct one with [Next/Previous Lyrics] function while doing live..


Found a way to do it by separating a song into few "songs" (by verse, chorus, bridge). Thanks :)


----------



## TheNam (Jul 7, 2021)

Hey, thank you so much for making this awesome script! I only have one problem and that is that when I got to the next or previous lyric the text goes aways for a fraction of a second. I have my transitions turned off. Do you know about this problem?
Here's a video https://streamable.com/0e0npe


----------



## TheNam (Jul 7, 2021)

TheNam said:


> Hey, thank you so much for making this awesome script! I only have one problem and that is that when I got to the next or previous lyric the text goes aways for a fraction of a second. I have my transitions turned off. Do you know about this problem?
> Here's a video https://streamable.com/0e0npe


Also another problem I have is that when I save Vietnamese song lyrics, the file name doesn't save right and the song lyrics don't show in the script. I want to use this script in a big Vietnamese church conference in a few weeks, but I have to find an alternative if this bug isn't fixed by then.


----------



## DCStrato (Jul 10, 2021)

The Nam,

Are you using the latest version?  Are you electing to "fade in/out" scripts?  Best fade times might vary with processing speed.  I watched the video but didn't see what you were referring to.  The Song Title is used for the filename the song is saved under.  This probably works in English, but if special characters are used in a different language, then I don't know how an OS (or Lyrics Script) might react.  The key might be to separate Title from FileName and offer those somehow as two different entries.  I will look into it. 

DC


----------



## DCStrato (Jul 11, 2021)

TheNam said:


> Also another problem I have is that when I save Vietnamese song lyrics, the file name doesn't save right and the song lyrics don't show in the script. I want to use this script in a big Vietnamese church conference in a few weeks, but I have to find an alternative if this bug isn't fixed by then.


The Nam,

Lua is not very supportive of Unicode in file operations which is the root cause of the Titles not saving right with songs like Amazing Grace,  spelled in Vietnamese as Ơn lạ lùng.  The attached revisions will now detect ANY invalid character in a Song Title that is to be used for a file name and encode an alternate filename with all valid characters.  I tested it with Unicode and invalid characters like '?' in the title.  This is a big help for English songs like "What Child is This?".   Normally songs are stored in .config with a .txt suffix, but encoded files are now stored with a .enc suffix to tell them apart.  When building the song list it knows to decode .enc files back to their original name.   Give this a try and report back anything that does not seem to act normal now.   Thanks for the help debugging.

DC


----------



## amirchev (Jul 13, 2021)

DCStrato said:


> The Nam,
> 
> Lua is not very supportive of Unicode in file operations which is the root cause of the Titles not saving right with songs like Amazing Grace,  spelled in Vietnamese as Ơn lạ lùng.  The attached revisions will now detect ANY invalid character in a Song Title that is to be used for a file name and encode an alternate filename with all valid characters.  I tested it with Unicode and invalid characters like '?' in the title.  This is a big help for English songs like "What Child is This?".   Normally songs are stored in .config with a .txt suffix, but encoded files are now stored with a .enc suffix to tell them apart.  When building the song list it knows to decode .enc files back to their original name.   Give this a try and report back anything that does not seem to act normal now.   Thanks for the help debugging.
> 
> DC


Nice work, I wasn't sure how to actually implement that. It's included in 1.4.2!


----------



## DCStrato (Jul 15, 2021)

amirchev said:


> Nice work, I wasn't sure how to actually implement that. It's included in 1.4.2!


Thanks,  

I was trying to solve "The Nam"'s problem before he needed the script for his service.  I have not heard anything back from him yet on this thread.  Were you able to reproduce his other issue of text going away for a fraction of a second?  

DC


----------



## robh (Jul 21, 2021)

Hello,

I'm new to this forum so I apologize if I am contacting you unconventionally. I am bringing up a new topic.

First, thanks for your lyrics script, I look forward to using it in our church services.

OBS: 27.0.1
script: 1.4.2
Windows 10 64 bit

Problem 1:
When I press [Delete Song] this error message appears:

[lyrics.lua] Failed to call button_prop_clicked for button_prop_clicked: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:954: attempt to concatenate local 'suffix' (a nil value)

Problem 2:
When I first run the script all the sources -- text and non-text -- from the first non-empty scene populate the "text source" drop down; none of these sources are for lyrics. I have found no way to remove them. (I say 'first non-empty scene' because I put an empty scene at the top of the scene list but it was ignored and the behaviour remained the same.)

I have been able to get one lyric to display properly but problem 2 is very annoying since the lyrics text source name is added to the many irrelevant sources.

Possible Issue:
A few months ago my colleague used an earlier version of the lyrics script; I simply overwrote that version with 1.4.2. Is it possible there are files floating around that need to be deleted?

I have done a reinstall of OBS, this did not change anything.

Thanks again for your hard work and I hope you can resolve these problems.

Regards,
Robert


----------



## DCStrato (Jul 21, 2021)

robh said:


> Hello,
> 
> I'm new to this forum so I apologize if I am contacting you unconventionally. I am bringing up a new topic.
> 
> ...


Sorry Robert,

Looks like a bug that needs addressing.  New additions were recently made to accommodate titles that didn't work as file names.  The "Delete" option for this was overlooked.   Fix for delete is attached.

D.C.


----------



## DCStrato (Jul 21, 2021)

robh said:


> Hello,
> 
> I'm new to this forum so I apologize if I am contacting you unconventionally. I am bringing up a new topic.
> 
> ...


Robert,

I am unable to duplicate your Problem 2 where "non-text" sources are being loaded for selection.  The script specifically tests for "text_gdiplus" or "text_ft2_source" as the source_id and only loads those returning those types.  I can see where this would be an annoyance, however I am unable to help at this time.  I will continue to try and replicate your situation and maybe discover why OBS would be returning all sources with a text ID in your environment.  Maybe Amirchev will have time to see if he can duplicate the issue.  If we can get others with the same problem it might be easier to isolate and repair.   We use this script multiple times every Sunday, so we get a chance to find most issues pretty quickly.  

DC Strato


----------



## TheNam (Jul 22, 2021)

DCStrato said:


> The Nam,
> 
> Lua is not very supportive of Unicode in file operations which is the root cause of the Titles not saving right with songs like Amazing Grace,  spelled in Vietnamese as Ơn lạ lùng.  The attached revisions will now detect ANY invalid character in a Song Title that is to be used for a file name and encode an alternate filename with all valid characters.  I tested it with Unicode and invalid characters like '?' in the title.  This is a big help for English songs like "What Child is This?".   Normally songs are stored in .config with a .txt suffix, but encoded files are now stored with a .enc suffix to tell them apart.  When building the song list it knows to decode .enc files back to their original name.   Give this a try and report back anything that does not seem to act normal now.   Thanks for the help debugging.
> 
> DC


Thank you so much for fixing the Unicode bug! I believe it works now as it should. However, the problem of the text disappearing for like 20-50ms when going to the next lyric second still remains. When using older versions like 1.2.1 I didn't have this problem. Here's another video demonstrating the issue:  https://streamable.com/45yigk


----------



## DCStrato (Jul 22, 2021)

The Nam,

I think I found the issue in the small delay you are seeing.  Some fade cycles were still being included even if fade was not selected.  Please try this attached version and see if it performs more like you were expecting.   It also repairs the Previous Lyric button not backing up to prior songs when paged backward past the first verse of a song.  (It is the current design to start back at the first lyric of an earlier prepared song in this case. )

DC Strato


----------



## TheNam (Jul 25, 2021)

DCStrato said:


> The Nam,
> 
> I think I found the issue in the small delay you are seeing.  Some fade cycles were still being included even if fade was not selected.  Please try this attached version and see if it performs more like you were expecting.   It also repairs the Previous Lyric button not backing up to prior songs when paged backward past the first verse of a song.  (It is the current design to start back at the first lyric of an earlier prepared song in this case. )
> 
> DC Strato


It works now as it should! I can't thank you enough for all your effort. God bless you!


----------



## an tam (Jul 26, 2021)

Hello everyone!

I'm new to this forum so I apologize if I am contacting you. I have problem with the lycrics text. Could you please have look the pictures attached and give me some advises.

Thanks a lot


----------



## DCStrato (Jul 26, 2021)

Hi an tam,

Any text in the text object "Lyrics" within the scene (like the word "TEXT" in your example, will be replaced with text of the lyrics when you run the script.   However, the script does change the opacity of the Lyric Text Object to fade it out and back in as an effect if selected.  What version of Lyrics script are you using?   

D.C.


----------



## an tam (Jul 26, 2021)

DCStrato said:


> Hi an tam,
> 
> Any text in the text object "Lyrics" within the scene (like the word "TEXT" in your example, will be replaced with text of the lyrics when you run the script.   However, the script does change the opacity of the Lyric Text Object to fade it out and back in as an effect if selected.  What version of Lyrics script are you using?
> 
> D.C.



Thanks D.C
I download OBS-Lycrics-1.4.2
Thanks for your help

AnTam


----------



## amirchev (Aug 1, 2021)

DCStrato said:


> Thanks,
> 
> I think to be a dockable panel it would have to be rewritten and compiled to use the OBS dev library.  This started as a  rather simple LUA script by Amirchev and evolved (feature crept) into not so simple a Lua script.   Maybe someday we can tackle the docking window.  I can program in almost any language, but Lua was just readily available for OBS and easy.  I have a nifty PTZ camera controller I wrote for OBS that drives our five cameras with 12 presets each (plus home) that are also dynamically loaded with source objects per scene.  I don't have PTZOptics cameras and didn't like having to use the browser source to change presets anyway.  It is a separate executable that I have considered turning into a dockable window for OBS later this summer.  If I start down that road I will try to drag Lyrics along for the ride.   Right now everything is working for our services and I and afraid to mess with it too much.
> 
> ...


Yup a dockable panel means an entire rewrite. It's possible using browser docks and Browser Source that spoke to each other, but we'd lose the ability to use hotkeys.


----------



## amirchev (Aug 1, 2021)

Ceradsky said:


> So, when I wrote this, I didn't understand that the songs are held in .TXT files, which is what I wanted to use, so no worries there.
> 
> I do use hotkeys (just set up a Streamdeck XL, oh my that is fun...in a good way). If there was visual feedback on the screen in the script window that gives me what I show below, I could see using that, I have enough screen real estate, but definitely have to keep using hotkeys
> 
> ...


I think this is something we can look into for sure.


----------



## DCStrato (Aug 3, 2021)

Ceradsky:

If you want to try the attached test version of Lyrics, it creates and maintains a Monitor.htm file in the same folder with songs.  You can paste this file location into an OBS Browser dock and monitor Current Song, Current Lyric, Next Lyric, and Next Song.  

D.C.


----------



## DCStrato (Aug 5, 2021)

Ceradsky: I have done some additional work on your monitor page idea.  Here is what the Lyrics Web Monitor Page looks like in a Browser Dock in OBS.   Hopefully, this will help with what you were looking for.   We are still testing this addition so some changes might still happen before any official release, but if you want to try it, it has shown to be stable so far and the code you see here is attached.  Any feedback is welcome.  D.C.


----------



## OBSisSoGenerous (Aug 13, 2021)

How do you repeat one paragraph, for example the chorus?


----------



## DCStrato (Aug 13, 2021)

OBSisSoGenerous said:


> How do you repeat one paragraph, for example the chorus?


Hi OBSisSoGenero,

Here is an example of Recording the chorus (refrain) after the first verse and replaying it after subsequent verses...

// *** How Great Thou Art 
#L:4 
// 1st Verse
O Lord my God! when I in awesome wonder,
consider all the worlds thy hands have made,
I see the stars, I hear the rolling thunder,
thy power throughout the universe displayed.
// -- Chorus
#R[ Show and record chorus the first time
#L:4 Use four lines again
Then sings my soul, my Savior God to thee;
how great thou art, how great thou art!
Then sings my soul, my Savior God to thee;
how great thou art, how great thou art!
#R] Stop recording chorus
// 2nd Verse
When through the woods and forest glades I wander,
and hear the birds sing sweetly in the trees;
when I look down from lofty mountain grandeur
and hear the brook, and feel the gentle breeze;
// -- Chorus
##R Replay chorus again
// 3rd Verse
When Christ shall come with shout of acclamation
and take me home, what joy shall fill my heart.
Then I shall bow in humble adoration,
and there proclaim, my God, how great thou art!
// -- Chorus
##R Replay chorus again


----------



## Neferpitou (Aug 26, 2021)

DCStrato said:


> Ceradsky: I have done some additional work on your monitor page idea.  Here is what the Lyrics Web Monitor Page looks like in a Browser Dock in OBS.   Hopefully, this will help with what you were looking for.   We are still testing this addition so some changes might still happen before any official release, but if you want to try it, it has shown to be stable so far and the code you see here is attached.  Any feedback is welcome.  D.C.
> View attachment 73940



Im just wondering, how can I put the Lyrics Monitor using Custom Browser DOck


----------



## DCStrato (Aug 27, 2021)

You just put the URL from the file location of Monitor.htm into a custom browser dock. One way is to go to where the lyrics are stored in files and open Monitor.htm with a browser then copy that location and paste it into OBS custom dock.   I think the next official release is almost completed with the monitor window.


----------



## Neferpitou (Aug 27, 2021)

DCStrato said:


> You just put the URL from the file location of Monitor.htm into a custom browser dock. One way is to go to where the lyrics are stored in files and open Monitor.htm with a browser then copy that location and paste it into OBS custom dock.   I think the next official release is almost completed with the monitor window.



*WOW. Thanks for the response. I do really love the support of the creators. I am looking forward on giving back something that I can afford to support you guys.*

I'll look into that. This makes it more user friendly imo

Cheers!


----------



## amirchev (Aug 28, 2021)

DCStrato said:


> You just put the URL from the file location of Monitor.htm into a custom browser dock. One way is to go to where the lyrics are stored in files and open Monitor.htm with a browser then copy that location and paste it into OBS custom dock.   I think the next official release is almost completed with the monitor window.


Release complete, while there is a minor bug but that can come in next minor release


----------



## WaveSim (Aug 30, 2021)

Hi guys, it's a great plugin for my service! I have one question about how to change the space between lines. Is there any way to change it? Also, I can't open the folder where lyrics are saved. Just the screen is blinking very short time like trying to do open.


----------



## amirchev (Aug 31, 2021)

WaveSim said:


> Hi guys, it's a great plugin for my service! I have one question about how to change the space between lines. Is there any way to change it? Also, I can't open the folder where lyrics are saved. Just the screen is blinking very short time like trying to do open.


Hey, yes, all the formatting is done through OBS, but I don't think OBS has a line height option. Are you using a Windows, Mac, or Linux computer? And what version of OBS and of the plugin?


----------



## WaveSim (Sep 5, 2021)

amirchev said:


> Hey, yes, all the formatting is done through OBS, but I don't think OBS has a line height option. Are you using a Windows, Mac, or Linux computer? And what version of OBS and of the plugin?


Thanks for your reply. Mine are Windows 10 and OBS 27.01..


----------



## WaveSim (Sep 5, 2021)

DCStrato said:


> Ceradsky: I have done some additional work on your monitor page idea.  Here is what the Lyrics Web Monitor Page looks like in a Browser Dock in OBS.   Hopefully, this will help with what you were looking for.   We are still testing this addition so some changes might still happen before any official release, but if you want to try it, it has shown to be stable so far and the code you see here is attached.  Any feedback is welcome.  D.C.
> View attachment 73940


WoW, this is exactly what I wanted from using your current version. Because I can't predict where I am and which verse is last to prevent moving next song. How can I use this dock system?


----------



## WaveSim (Sep 5, 2021)

I can't open songs folder. just blinking the screen..Windows 10 and OBS 27.01.


----------



## iraytrace (Sep 6, 2021)

The refrain feature is tempting but I don't seem to be able to enforce display line counts in refrains. The "Lines to Display is set to 2 and "Strictly ensure number of lines" is also set.  When the following refrain is displayed the second time, it is displayed as 4 lines.  


```
To God be the glory, great things he hath done!
So loved he the world that he gave his Son,
#R[
#L:2
Praise the Lord, praise the Lord, let the earth hear his voice!
Praise the Lord, praise the Lord, let the people rejoice!
O come to the Father thru Jesus the Son,
and give him the glory, great things he has done.
#R]
O perfect redemption the purchase of blood,
to every believer the promise of God;
##R
```
Am I missing something?  What should I be doing?


----------



## DCStrato (Sep 6, 2021)

iraytrace said:


> The refrain feature is tempting but I don't seem to be able to enforce display line counts in refrains. The "Lines to Display is set to 2 and "Strictly ensure number of lines" is also set.  When the following refrain is displayed the second time, it is displayed as 4 lines.
> 
> 
> ```
> ...


No you are doing it correct.  It is NOT doing it correct.    It should have honored the #L:2 for both main and refrain.  Does the first time through the refrain but not the repeat.  Must be something with the latest update that had quite a few changes.  It will be fixed by sometime tomorrow.  Sorry...  
D.C.


----------



## DCStrato (Sep 6, 2021)

iraytrace:   Here is a corrected version that properly honors lines per page in Refains.  These changes should be in the next official release after more testing.  Let us know if you find anything else after these corrections. 

D.C.


----------



## iraytrace (Sep 6, 2021)

DCStrato said:


> iraytrace:   Here is a corrected version that properly honors lines per page in Refains.  These changes should be in the next official release after more testing.  Let us know if you find anything else after these corrections.
> 
> D.C.


Thanks!!!!


----------



## iraytrace (Sep 6, 2021)

In previous versions of the script, when I got to the end of a song and clicked "Next Lyric" it would show a blank page before starting the next prepared song.  This was nice as it served as a visual cue that the song was over.  It seems that Version 1.5.1 moves directly to the start of the next song.  I miss the old behavior.


----------



## iraytrace (Sep 6, 2021)

Things I would like to suggest / point out.

The Markup section at the top uses too much vertical screen space. I would suggest making this a button that opens a web browser to a file or web url instead.  I sympathize with the goal of making the information more available / accessible.

I notice if I add the Lyrics script, then add a text source to my scene, the lyrics script doesn't see it (offer it as a choice in the "Text Source field") until I re-start OBS.  Having taught several people to use this script in OBS, it was a point of confusion for all of them.

Similar, but less troubling, if I put a text file in the Songs Folder, the script doesn't pick up that it is there (show in Song Directory) until the next restart.

Is there a way to turn off word wrap in the Song Lyrics text area?  When trying to edit lyrics there people seem to expect line breaks on screen to match what they see in the Song Lyrics box.  It is really hard to know where lines wrap without constantly resizing the Scripts window to check.

FWIW I am preparing training videos at the moment for upload to YouTube and use teaching in our church.


----------



## DCStrato (Sep 6, 2021)

iraytrace said:


> Things I would like to suggest / point out.
> 
> The Markup section at the top uses too much vertical screen space. I would suggest making this a button that opens a web browser to a file or web url instead.  I sympathize with the goal of making the information more available / accessible.
> 
> ...


Thanks for the feedback.  OBS is pretty limited in how we can format UI objects.  I had added a refresh sources button for adding text objects after the fact and just included refreshing the songs directory with the same button.    Not sure OBS allows scripts much leeway in changing the operation of the edit windows either.  We somewhat just get what we get.  I also put back in the "blank" screen at the end of each song.   You should see all of these changes in the attached Lua script if you want to help test it, all feedback is always welcome.

D.C.


----------



## DCStrato (Sep 7, 2021)

iraytrace:

Here is another version that adds a button to edit the selected song with the default system editor for .txt or .enc files.
That is just Notepad on my PC.  I don't own a Mac to test it with but assume someone will verify its function at some point.

D.C.


----------



## Neferpitou (Sep 11, 2021)

Just wondering if the Lyrics MOnitor also shows the comment sections within the song.


----------



## DCStrato (Sep 11, 2021)

Sorry, not at this time.  For now the comments in the lyrics text are just ignored as communication to editors and not viewers.  This script is very large and complex at the moment so I don't expect many more additions for a while.


----------



## Neferpitou (Sep 13, 2021)

DCStrato said:


> Sorry, not at this time.  For now the comments in the lyrics text are just ignored as communication to editors and not viewers.  This script is very large and complex at the moment so I don't expect many more additions for a while.



Yes sure! On the other hand, u guys are doing such a big help on us. And all of this for free. Thank you so much


----------



## WaveSim (Sep 17, 2021)

WoW, finally got the dock for this plugin!!. Great!
I just want to ask one thing about this dock. When I hide the lyrics, also the 'current Page' row disappears. I usually use the hide function for moving to the specific lyric, however, I can't know where I am when I hide lyrics.
So, I think when I hide lyrics, would you change only the color for current lyrics on the dock from green to red or any other color?
So we can recognize whether the lyrics are displayed or hidden.


----------



## WaveSim (Sep 17, 2021)

WaveSim said:


> WoW, finally got the dock for this plugin!!. Great!
> I just want to ask one thing about this dock. When I hide the lyrics, also the 'current Page' row disappears. I usually use the hide function for moving to the specific lyric, however, I can't know where I am when I hide lyrics.
> So, I think when I hide lyrics, would you change only the color for current lyrics on the dock from green to red or any other color?
> So we can recognize whether the lyrics are displayed or hidden.


One more thing to fix: 'reset to song start'
When I click this function, the lyrics seem to move to the first however, it is not shown on the screen and when I click next then the second lyrics appear on the screen. It should work like 'reset to first song', I think. it works well that shows the first song as soon as I click.


----------



## DCStrato (Sep 18, 2021)

Sorry about the new bugs.  This code version is way overdue for a refactor that is in progress but not yet completed.  I put these patches in for you and hopefully didn't introduce any new issues.  Background of current and alt text in monitor turns red if currently hidden. 

D.C.


----------



## WaveSim (Sep 18, 2021)

DCStrato said:


> Sorry about the new bugs.  This code version is way overdue for a refactor that is in progress but not yet completed.  I put these patches in for you and hopefully didn't introduce any new issues.  Background of current and alt text in monitor turns red if currently hidden.
> 
> D.C.


Great!!! Thanks a lot!!
I will check it later!


----------



## WaveSim (Sep 18, 2021)

WaveSim said:


> Great!!! Thanks a lot!!
> I will check it later!


WoW!!! Perfect!
It works great and the bug is also fixed regarding 'reset to song start' as well. 

Also, I tested if I can use two scripts at the same time to separate the song lyrics and bible verses. And it is possible too.
And the dock also works like expected. 
Thanks!!!


----------



## DCStrato (Sep 19, 2021)

The lyrics script was designed to only work if the target text objects were active.  This should allow you to use the same hotkeys in both scripts with different target text objects for lyrics and scripture.  I have not tried two scripts but glad it works!  If you have python installed for OBS, you can also use this script for downloading and formatting scripture.  It is also posted on OBS.


----------



## WaveSim (Sep 21, 2021)

DCStrato said:


> The lyrics script was designed to only work if the target text objects were active.  This should allow you to use the same hotkeys in both scripts with different target text objects for lyrics and scripture.  I have not tried two scripts but glad it works!  If you have python installed for OBS, you can also use this script for downloading and formatting scripture.  It is also posted on OBS.


Thanks for your reply. Actually, I can make hotkeys for each scripts.So It works as I expected. BTW, I am so sorry for your scripture script because it only works for English bible however, I need Korean. It looks great when I check the interface which is exactly what I need.


----------



## DCStrato (Sep 21, 2021)

WaveSim said:


> Thanks for your reply. Actually, I can make hotkeys for each scripts.So It works as I expected. BTW, I am so sorry for your scripture script because it only works for English bible however, I need Korean. It looks great when I check the interface which is exactly what I need.


I am doing some work to support bible.com which offers more language versions in addition to helping Amirchev with a refactored version of Lyrics.  Next month I should have more free time to complete some of these projects.

D.C.


----------



## WaveSim (Sep 21, 2021)

DCStrato said:


> I am doing some work to support bible.com which offers more language versions in addition to helping Amirchev with a refactored version of Lyrics.  Next month I should have more free time to complete some of these projects.
> 
> D.C.


Great!!! Today, I even studied python scripts to crow the Korean bible. However, it's beyond my ability, so sad. Thanks for your effort to support foreign languages like us. Anyway, I am now making a youtube clip to introduce this script in Korean.


----------



## WaveSim (Sep 22, 2021)

Found one more bug. Would you hide the song title also like lyric? When I hide Lyrics, the title still remains on the screen. I think it should be affected by the hide function as well.


----------



## WaveSim (Sep 22, 2021)

I have uploaded the video clip captured regarding the opening folder function. 
I can't open the folder on two PCs.
What should I do for it?


----------



## WaveSim (Sep 22, 2021)

I have two suggestions:
1. Would you make a tree structure for the song list? Can't imagine how to select the songs from hundreds of songs as time goes by. We need any method for it.
2. PLZ make a function or button to erase one by one from the prepared songs list. Also the function for editing the list order to change the order.
Also, it would be good to select the prepared songs by just clicking the song name as the song directory button.


----------



## DCStrato (Sep 23, 2021)

WE can certainly look at some form of tree or category structure, but again OBS is limiting with just a script.  I think we can add a delete currently selected song from the prepared list feature.  As for auto prepare, that would lose the ability to preview a song without preparing it, but maybe that option is less important.  


WaveSim said:


> Found one more bug. Would you hide the song title also like lyric? When I hide Lyrics, the title still remains on the screen. I think it should be affected by the hide function as well.


did you check the box "Only show title and static text with lyrics"?  This should link the Title and Static text objects to hide with text.


----------



## WaveSim (Sep 23, 2021)

DCStrato said:


> WE can certainly look at some form of tree or category structure, but again OBS is limiting with just a script.  I think we can add a delete currently selected song from the prepared list feature.  As for auto prepare, that would lose the ability to preview a song without preparing it, but maybe that option is less important.
> 
> did you check the box "Only show title and static text with lyrics"?  This should link the Title and Static text objects to hide with text.


oops.. that option works for the title issue. However, it makes a bug at the end of the last lyric.
Both clicking and hotkey.
"
[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
[lyrics.lua] Failed to call button_prop_clicked for button_prop_clicked: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:730: bad argument #1 to 'len' (string expected, got nil)
"


----------



## WaveSim (Sep 23, 2021)

DCStrato said:


> WE can certainly look at some form of tree or category structure, but again OBS is limiting with just a script.  I think we can add a delete currently selected song from the prepared list feature.  As for auto prepare, that would lose the ability to preview a song without preparing it, but maybe that option is less important.
> 
> did you check the box "Only show title and static text with lyrics"?  This should link the Title and Static text objects to hide with text.


Regarding the tree structure, My thinking is to add the folder selection box above the song selection box. Then, I can use any folder for that show.


----------



## WaveSim (Sep 23, 2021)

Would you support Korean for the song title?
Attached screen shot for it.
Can't read Korea on title and lyrics too.
Also, the song files' extensions are changed to .enc from .txt when it contains Korean charactors.


----------



## DCStrato (Sep 23, 2021)

The script uses the title as the filename which is often not a valid filename.  So the enc files get created to encode the Korean (or any invalid character) title to a valid filename for the song.  That gets decoded back to Korean when it loads.    I will look at the hotkey bug and see if I can do a minor hotfix, but we should have a new version posted soon and may choose to just wait for that to release.   The current script is old and a bit hard to change even something small without the risk of breaking something else.  :)

D.C.


----------



## DCStrato (Sep 24, 2021)

WaveSim:

Good News!  UnPrepare the currently selected song is now completed for a next release.  I also added the option to provide a valid filename for the title to prevent the encoding and then provide the actual title someplace in the lyric script with #T: _new title.  _Your last request to offer a tree structure is a bit tougher.  I am considering a "filter" option under the song directory to at least logically reduce the size of the selections to start. Options would be fixed genres, or maybe a "meta" tag option to the internal markup that allow multiple keywords to be specified in the filter.  Praise, Worship, Gospel, Rap, Pop, Blues, Metal, Traditional, Hymn,  Public-Domain, Licensed,  Scripture, Responsive-Reading, and Other are examples.  Probably not in the next release, but maybe an update in a month or so.   Thanks for the suggestions.

D.C.


----------



## WaveSim (Sep 24, 2021)

DCStrato said:


> WaveSim:
> 
> Good News!  UnPrepare the currently selected song is now completed for a next release.  I also added the option to provide a valid filename for the title to prevent the encoding and then provide the actual title someplace in the lyric script with #T: _new title.  _Your last request to offer a tree structure is a bit tougher.  I am considering a "filter" option under the song directory to at least logically reduce the size of the selections to start. Options would be fixed genres, or maybe a "meta" tag option to the internal markup that allow multiple keywords to be specified in the filter.  Praise, Worship, Gospel, Rap, Pop, Blues, Metal, Traditional, Hymn,  Public-Domain, Licensed,  Scripture, Responsive-Reading, and Other are examples.  Probably not in the next release, but maybe an update in a month or so.   Thanks for the suggestions.
> 
> D.C.


WoW, It sounds great!! So happy to get information about the further release.


----------



## WaveSim (Sep 24, 2021)

Sorry for bothering you. 
I have a big problem at my church's PC running OBS during service.
Lyric script can't read the song list from the folder. When I save a song then, it is saved well and I can see the file name on the list.
However, when I open OBS again, all song titles are disappeared from the song directory pull down list.
Also, after clicking the refresh on the scrip window, it happen again. also default button too.
You can see the screen capture that there're many files in the directory however, we can't see those lists in the dropdown list.
What can I do? 
I have four PCs running OBS. this is the only one having this bug.


----------



## WaveSim (Sep 24, 2021)

WaveSim said:


> Sorry for bothering you.
> I have a big problem at my church's PC running OBS during service.
> Lyric script can't read the song list from the folder. When I save a song then, it is saved well and I can see the file name on the list.
> However, when I open OBS again, all song titles are disappeared from the song directory pull down list.
> ...


I think I need to change the song folder to the root since the path has Korean.
Can I change the default folder?


----------



## DCStrato (Sep 24, 2021)

Right now files get stored wherever the environment variable USERPROFILE is pointing, plus .config/.obs_lyrics.   

D.C.


----------



## DCStrato (Sep 25, 2021)

It is probably an issue with Unicode in OBS lua (not supported).  Try running this version and report what is shown in the script log.  Thanks


----------



## WaveSim (Sep 25, 2021)

DCStrato said:


> Right now files get stored wherever the environment variable USERPROFILE is pointing, plus .config/.obs_lyrics.
> 
> D.C.


I think so. So now I changed my default home directory using the OS sysdm.cpl app to any path which doesn't have any Korean character through the path. I will add this tip for Korean users.


----------



## WaveSim (Sep 25, 2021)

I have solved two issues.
For the not reading the folder, I changed the home folder by using sysdm.cpl.
For the not working for the title by show/hide function, I have set the hotkey for the source.
Thanks.


----------



## WaveSim (Oct 13, 2021)

Sorry


DCStrato said:


> It is probably an issue with Unicode in OBS lua (not supported).  Try running this version and report what is shown in the script log.  Thanks



[lyrics.lua] .
[lyrics.lua] ..
[lyrics.lua] 64KY7J2YIOyCtuydmCDqsrDsnbQgLeuniOy7pOyKpA==.enc
[lyrics.lua] 7JiI7IiY.enc
[lyrics.lua] Monitor.htm
[lyrics.lua] Prepared.dat
[lyrics.lua] .
[lyrics.lua] ..
[lyrics.lua] 64KY7J2YIOyCtuydmCDqsrDsnbQgLeuniOy7pOyKpA==.enc
[lyrics.lua] 7JiI7IiY.enc
[lyrics.lua] Monitor.htm
[lyrics.lua] NO1.txt
[lyrics.lua] Prepared.dat
[lyrics.lua] .
[lyrics.lua] ..
[lyrics.lua] 64KY7J2YIOyCtuydmCDqsrDsnbQgLeuniOy7pOyKpA==.enc
[lyrics.lua] 7JiI7IiY.enc
[lyrics.lua] Monitor.htm
[lyrics.lua] NO1 - 복사본.txt
[lyrics.lua] NO1.txt
[lyrics.lua] Prepared.dat
[lyrics.lua] .
[lyrics.lua] ..
[lyrics.lua] 64KY7J2YIOyCtuydmCDqsrDsnbQgLeuniOy7pOyKpA==.enc
[lyrics.lua] 7JiI7IiY.enc
[lyrics.lua] Monitor.htm
[lyrics.lua] NO1 - 복사본.txt
[lyrics.lua] NO1.txt
[lyrics.lua] Prepared.dat


----------



## WaveSim (Oct 13, 2021)

WaveSim said:


> Sorry
> 
> 
> [lyrics.lua] .
> ...


Is it possible not to change the file format? I think we can try the default encoding option for Korean.
The only problem is not to recognize the file names on the file explorer.
If possible, I can manage the files by making sub folders on the file explorer 

Thanks a lot as always!


----------



## WaveSim (Oct 13, 2021)

I tried to set the hot key to hide title by same hot key(ctrl-H)
However, it didn't work as I expected.
It depended on the initial state of the tile source. So, I dropped this idea now.
I need your effort to add this function as well.
Also, it would be great if you add the hide some specific sources because we add some background color bar for the lyrics and titles which are related to the hide function.
Hope you understand what I mean.
Thanks always!!!
Best regards,
Wave


----------



## DCStrato (Oct 13, 2021)

Yes the current lyrics hot key toggles the hide/show state of Lyrics, or title and lyrics (if linked).  
Can you explain further your use case?   How do you expect titles, lyrics, alternate lyrics and static text to be visible or not visible in the currently active scene?   
I am not sure I know what you mean about color sources.  You can probably set separate hotkeys for those in OBS settings.  

DC


----------



## WaveSim (Oct 13, 2021)

DCStrato said:


> Yes the current lyrics hot key toggles the hide/show state of Lyrics, or title and lyrics (if linked).
> Can you explain further your use case?   How do you expect titles, lyrics, alternate lyrics and static text to be visible or not visible in the currently active scene?
> I am not sure I know what you mean about color sources.  You can probably set separate hotkeys for those in OBS settings.
> 
> DC


At first, I can't check the option 'only show the title and static text with lyrics; because it makes a lot error popups. I think it would happen when there's no lyrics to show.: 

[lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:729: bad argument #1 to 'len' (string expected, got nil)

I usually make a set for lyrics with text source for lyrics and title text source for title and color bars for their background.
These are for the lyric so I want to hide/show function for all of them by one hot key.

Here's my idea:
1. set the option: hide/show related sources.
2. set the number how many sources are affected by this option.
3. show the drop down list bars as much as the user set before
4. select the source that the user wants to act from every drop-down bar.

Thanks !!!


----------



## DCStrato (Oct 13, 2021)

WaveSim said:


> At first, I can't check the option 'only show the title and static text with lyrics; because it makes a lot error popups. I think it would happen when there's no lyrics to show.:
> 
> [lyrics.lua] Failed to call hotkey_pressed for hotkey_pressed: ...tudio/data/obs-plugins/frontend-tools/scripts/lyrics.lua:729: bad argument #1 to 'len' (string expected, got nil)
> 
> ...


Ok I think I understand.  You have a color bar behind the lyrics that you want to control along with the lyric text source.   So just as we allow you to link static and title text to optionally appear with lyrics, you would want a possible list of other sources selectable to join with them.  I think this is a great idea, and will look to see how much effort it will take to include it in our next release that is nearly completed.   If it looks like it will cause too many issues then it might need to wait for a future update.   My instinct is that because we already have the "linked" logic, that it could be tied to this that the effort should be minimal.  It will probably be all or none however with whatever is in the list.   FYI, most of the issues you are seeing now have already been addressed in the upcoming major release.

DC


----------



## WaveSim (Oct 14, 2021)

DCStrato said:


> Ok I think I understand.  You have a color bar behind the lyrics that you want to control along with the lyric text source.   So just as we allow you to link static and title text to optionally appear with lyrics, you would want a possible list of other sources selectable to join with them.  I think this is a great idea, and will look to see how much effort it will take to include it in our next release that is nearly completed.   If it looks like it will cause too many issues then it might need to wait for a future update.   My instinct is that because we already have the "linked" logic, that it could be tied to this that the effort should be minimal.  It will probably be all or none however with whatever is in the list.   FYI, most of the issues you are seeing now have already been addressed in the upcoming major release.
> 
> DC


Great!!!!
I have seen some similar scripts for OBS, however, yours is best for this specific dedicated purpose. Made a youtube clip already regarding this script. And going to make a video clip more introducing how to set and use. I think it would be better after releasing your new version.
As I mentioned before, I am struggling to use the link option so far.

So excited to consider my suggestion and you guys already have done all issues I confront!!!

Thanks a lot D.C and guys!


----------



## DCStrato (Oct 14, 2021)

Yes, please wait for any video efforts.  I plan to do a short intro video but nothing too extensive.  Users with specific use cases are better at doing targeted instruction.  The new version is a bit different in looks, with the same basic functionality and a few extras.  FYI, I am almost done adding your suggestions to the new release.  Amirchev worked to clean up and refactor the basic script functions over the last month, while I worked on improving the User Interface and adding some additional capabilities. The ease in adding your suggestions is confirmation that new ideas and additions are now much easier to entertain with the new script which at last count is now over 2500 lines of Lua code.  :)    It should be available very soon, hopefully with updated documentation.   Your instructional videos will be very much appreciated!   Are you interested in helping us test the new release?

DC


----------



## WaveSim (Oct 14, 2021)

DCStrato said:


> Yes, please wait for any video efforts.  I plan to do a short intro video but nothing too extensive.  Users with specific use cases are better at doing targeted instruction.  The new version is a bit different in looks, with the same basic functionality and a few extras.  FYI, I am almost done adding your suggestions to the new release.  Amirchev worked to clean up and refactor the basic script functions over the last month, while I worked on improving the User Interface and adding some additional capabilities. The ease in adding your suggestions is confirmation that new ideas and additions are now much easier to entertain with the new script which at last count is now over 2500 lines of Lua code.  :)    It should be available very soon, hopefully with updated documentation.   Your instructional videos will be very much appreciated!   Are you interested in helping us test the new release?
> 
> DC


Sure! why not?
It is my honor to be a beta tester!


----------



## WaveSim (Oct 14, 2021)

One more thing to ask..
Would you put the hammer box to the bottom?
I think the user interface would be at the top to make it easy to control.


----------



## DCStrato (Oct 14, 2021)

Sorry,  I don't understand "hammer box" ???


----------



## WaveSim (Oct 14, 2021)

DCStrato said:


> Sorry,  I don't understand "hammer box" ???


woops..
I mean the grammar box. on the top of the script.
It takes so large space and I need to scroll down to access the prepare section.

Sorry, the online grammar tool changed it..


----------



## DCStrato (Oct 14, 2021)

WaveSim said:


> woops..
> I mean the grammar box. on the top of the script.
> It takes so large space and I need to scroll down to access the prepare section.
> 
> Sorry, the online grammar tool changed it..


Already changed in the new version.  It is now an optional button to display the syntax help.  There is still a heading but it is not that big.


----------



## apluzz (Oct 25, 2021)

I am experiencing with a glitch right now with the "Fade Text Out/In for Next Lyric" function. When it is off the lyric of the song advances, but if I turn it on, it fades in/out on the same line only whenever I press to advance or go back. Please help


----------



## DCStrato (Oct 25, 2021)

Hi Apluzz,

I am unable to duplicate your issue.  I am testing with this version.  A new version is very close to release so I don't expect any more patches to the older code.  

DC


----------



## apluzz (Oct 25, 2021)

DCStrato said:


> Hi Apluzz,
> 
> I am unable to duplicate your issue.  I am testing with this version.  A new version is very close to release so I don't expect any more patches to the older code.
> 
> DC


Thanks.

I have 3 computers, it works ok on 2 with Win 10, but for some reason, the function does not work with Win 11.
I already tried reloading the lua, but the issue persist


----------



## DCStrato (Oct 25, 2021)

apluzz said:


> Thanks.
> 
> I have 3 computers, it works ok on 2 with Win 10, but for some reason, the function does not work with Win 11.
> I already tried reloading the lua, but the issue persist



Thanks,

We have not tested this with Windows 11 that I am aware.  It might be a timing issue with OBS and Win 11 that will need to be sorted.

D.C.


----------



## WaveSim (Oct 26, 2021)

apluzz said:


> Thanks.
> 
> I have 3 computers, it works ok on 2 with Win 10, but for some reason, the function does not work with Win 11.
> I already tried reloading the lua, but the issue persist


Mine works well with win11.


----------



## amirchev (Dec 7, 2021)

amirchev updated OBS Lyrics with a new update entry:

Newest version: 2.0.0



> This version is expected to be more stable and easier to maintain for developers.
> 
> Please find all documentation at https://github.com/amirchev/OBS-Lyrics/
> Also, thanks to DCStrato for all his work on this release.
> ...



Read the rest of this update entry...


----------



## WaveSim (Jan 17, 2022)

Now, I am back!!!
I have used an older version until before this week.
Last week, I have tested the 2.0 version on my home PC, and it looks great than expected except for only the Korea file name issue.
However, when I upgraded for my church's PC on Sunday, I struggled to use it, especially the show/hide function.
I can't use the show/hide function.
When I clicked the button on the script window, the related sources didn't act correctly. 
Here's my experience:
1. click the show/hide button.
2. the related sources can't be show or hide.
3. The preview window doesn't change as well.
4. When I  click other function buttons which will next,previous lyrics, next, previous songs etc, the previous window become red which means now the lyric is hide. However, still lyric can't be hide on the main screen.

Attached screen captured file.


----------



## DCStrato (Jan 24, 2022)

Thanks for the feedback.  I have been using the 2.0 version and hide show works but see if I can find something.  Thanks for the screen shot.  The old version blanked the Text differently.    I think there will be a few updates to minor bugs soon, and hopefully, I can get this addressed as well.   Does using non-Korea file names work if you don't use them for Titles?  You can specify the text for the title in the hymn text.


----------



## WaveSim (Jan 26, 2022)

DCStrato said:


> Thanks for the feedback.  I have been using the 2.0 version and hide show works but see if I can find something.  Thanks for the screen shot.  The old version blanked the Text differently.    I think there will be a few updates to minor bugs soon, and hopefully, I can get this addressed as well.   Does using non-Korea file names work if you don't use them for Titles?  You can specify the text for the title in the hymn text.


Thanks for your answer.. 
Does this 'non-Korea' mean 'non-Englsh'? That function works well. However, it doesn't fit my situation. For our volunteers, it is difficult to name in English for file names. It is almost the same as the ENC file name.
Any new functions look some complicate however, the features are great!!! except this issue~.


----------



## radiotibor (Feb 6, 2022)

Hello and a huge thank you for OBS Lyrics!  The United Presbyterian Church of MIllstone uses it as a lifeline for our livestreams.  I updated to 2.0 this week and see the following:
-Prepared songs and connection to sources don't survive laptop standby (I prepare songs at home and bring the laptop to the church)
-Toggling show/hide often results in switching scenes
The first is a bigger deal, the second is just an inconvenience, any others seeing this?
I'm running Win 11


----------



## DCStrato (Feb 11, 2022)

WaveSim said:


> Thanks for your answer..
> Does this 'non-Korea' mean 'non-Englsh'? That function works well. However, it doesn't fit my situation. For our volunteers, it is difficult to name in English for file names. It is almost the same as the ENC file name.
> Any new functions look some complicate however, the features are great!!! except this issue~.


Fundamentally OBS does NOT support Korean filenames for LUA scripts.  It is a LUA limitation that is very difficult to overcome. The script will try to Encode Korean characters into a simple file name (no extended asciii character set) then decode it back.  This does make filenames viewed in windows not have a recognizable name.  I wish there was a more eloquent answer/solution.


----------



## DCStrato (Feb 11, 2022)

radiotibor said:


> Hello and a huge thank you for OBS Lyrics!  The United Presbyterian Church of MIllstone uses it as a lifeline for our livestreams.  I updated to 2.0 this week and see the following:
> -Prepared songs and connection to sources don't survive laptop standby (I prepare songs at home and bring the laptop to the church)
> -Toggling show/hide often results in switching scenes
> The first is a bigger deal, the second is just an inconvenience, any others seeing this?
> I'm running Win 11


Prepared lyrics were moved to settings file in the latest version.  However there is a checkbox inside the Edit Prepared Songs List dialog box that moves them back to a separate file in the Songs Folder.   Maybe this will cure your "standby" issue.  We use the same computer and it really never gets turned off.  I will try to somehow emulate the "standby" condition and see what is happening.  Thanks for the feedback.
D.C.


----------



## Linksup (Feb 16, 2022)

I have been using the Lyrics script and it is pretty awesome. But it looks lke OBS 27.2 broke the script. I can step through the lyrics with my hot keys and the Preview window is updated,  but the Program window does not update unless I hit the Transition button in between.


----------



## Linksup (Feb 16, 2022)

Linksup said:


> I have been using the Lyrics script and it is pretty awesome. But it looks lke OBS 27.2 broke the script. I can step through the lyrics with my hot keys and the Preview window is updated,  but the Program window does not update unless I hit the Transition button in between.



I got it to work. I had Duplicate Sources check on the Transition button. After unchecking it, it started to work!


----------



## DCStrato (Feb 17, 2022)

Linksup said:


> I got it to work. I had Duplicate Sources check on the Transition button. After unchecking it, it started to work!


Unfortunately Duplicate Sources does not let Lyrics change the program text.  Tried adding a "transition after load" box to automatically press the transition button with duplicate sources, but it was not very consistent.

D.C.


----------



## St.Joseph-streamer (Mar 21, 2022)

amirchev said:


> amirchev updated OBS Lyrics with a new update entry:
> 
> Newest version: 2.0.0
> 
> ...


Amirchev,
I have a question. Is it possible to display italic text with this script.
When i use "<i> & </i>" it displays it in italic in the dock-menu but on screen it doesn't work (it shows <i> the text </i>).
Because i wanna use Latin scripture and on the other (separate) line the translation in italic.
Hope to hear from u.


----------



## DCStrato (Apr 5, 2022)

St.Joseph-streamer said:


> Amirchev,
> I have a question. Is it possible to display italic text with this script.
> When i use "<i> & </i>" it displays it in italic in the dock-menu but on screen it doesn't work (it shows <i> the text </i>).
> Because i wanna use Latin scripture and on the other (separate) line the translation in italic.
> Hope to hear from u.


The only italic supported would be if the text object is actually formatted that way in OBS.  The LUA editor is a different text engine.   Some language based users are leveraging the "alternate" text object which can be formatted separately from the primary text object.

D.C.


----------



## St.Joseph-streamer (Apr 6, 2022)

DCStrato said:


> The only italic supported would be if the text object is actually formatted that way in OBS.  The LUA editor is a different text engine.   Some language based users are leveraging the "alternate" text object which can be formatted separately from the primary text object.
> 
> D.C.


Thanks....this works for me.


----------



## RLShop (Jun 22, 2022)

Hello Amirchev.
I am trying to call the refrain inside the "#A[ #A]" alternate source block. I have both English and Spanish showing at the same time and the English is shown in the text source and the Spanish is shown in the Alternate Source. When I setup the Lyrics I setup the English with the refrain "#R[ #R]" and it all works great. Then I add the Spanish and put it into the "#A[ #A]" alternate block and set up the Spanish refrain inside the alternate block, but when I try to use it, the Spanish inside the alternate block only shows the last line of the alternate refrain when the refrain is called "##R". I can't figure out how to call the whole refrain inside the alternate block.
I was using OBS 27.2.4 but I installed 27.1.1 to see if it works there. Both are the same. Also using latest version of OBS Lyrics+ and Windows 10


----------



## DCStrato (Jul 9, 2022)

RLShop said:


> Hello Amirchev.
> I am trying to call the refrain inside the "#A[ #A]" alternate source block. I have both English and Spanish showing at the same time and the English is shown in the text source and the Spanish is shown in the Alternate Source. When I setup the Lyrics I setup the English with the refrain "#R[ #R]" and it all works great. Then I add the Spanish and put it into the "#A[ #A]" alternate block and set up the Spanish refrain inside the alternate block, but when I try to use it, the Spanish inside the alternate block only shows the last line of the alternate refrain when the refrain is called "##R". I can't figure out how to call the whole refrain inside the alternate block.
> I was using OBS 27.2.4 but I installed 27.1.1 to see if it works there. Both are the same. Also using latest version of OBS Lyrics+ and Windows 10


Hey RL,
 I will try to test that case sometime this week and see what is going on.  Sorry for the late reply but I have been traveling and not checking the forum.    D.C.


----------



## RLShop (Jul 18, 2022)

DCStrato said:


> Hey RL,
> I will try to test that case sometime this week and see what is going on.  Sorry for the late reply but I have been traveling and not checking the forum.    D.C.


Thank you.


----------



## DCStrato (Jul 23, 2022)

RL,

I think this version of Lyrics+ repairs the Refrain Block of the Alternate Block as requested.

D.C.


----------



## RLShop (Jul 30, 2022)

Thank you DC.  Only did some quick tests but it seems to work as expected. Thank you again for all your work and your quick solution


----------



## PastorDougC (Sep 6, 2022)

I haven't needed to post anything for some time now, but the Lyric script isn't working. Background: I installed the latest version of OBS which crashed my camera controller, so I uninstalled the new version and reinstalled the previous version. I copied Lyric script to the proper folder and I can see my list of songs again and I see it listed in the Scripts library. However, I'm used to using my right & left arrow keys to move through the script, but that is not working now. I'm assuming it's loading the lyrics fine but just not displaying them. I don't see any settings that are wrong, but something is obviously not working. Suggestions?


----------



## PastorDougC (Sep 7, 2022)

PastorDougC said:


> I haven't needed to post anything for some time now, but the Lyric script isn't working. Background: I installed the latest version of OBS which crashed my camera controller, so I uninstalled the new version and reinstalled the previous version. I copied Lyric script to the proper folder and I can see my list of songs again and I see it listed in the Scripts library. However, I'm used to using my right & left arrow keys to move through the script, but that is not working now. I'm assuming it's loading the lyrics fine but just not displaying them. I don't see any settings that are wrong, but something is obviously not working. Suggestions?


I found it. The intro video helped. I needed to set my advance/go back hotkeys in the Setting box. Life is good again!


----------



## PastorDougC (Sep 9, 2022)

I have one more issue I can't resolve. When I switch Scenes, the script is not loading the new lyric file. It just keep showing the same lyric no matter which Scene I pick. I have the Load Lyric first in the list, then my Lyrics box, then my PTZ camera source. Ideas?


----------



## PastorDougC (Sep 9, 2022)

PastorDougC said:


> I have one more issue I can't resolve. When I switch Scenes, the script is not loading the new lyric file. It just keep showing the same lyric no matter which Scene I pick. I have the Load Lyric first in the list, then my Lyrics box, then my PTZ camera source. Ideas?


OK. I found it. I had somehow set the Prepared Song box to a particular song, so that is the only song that it would load. When I took that off it seems to be working correctly again.


----------



## St.Joseph-streamer (Oct 8, 2022)

Tonite after mass i wanted to load other lyrics for the next mass but when i selected "Tools", "Scripts" it didn't show the lua script window. I updated to OBS 28.03 last Thursday.......can anyone help?
I can't say what kind of window opened because i'm not in church anymore.....maybe Monday again.
Thanks in advance!


----------



## St.Joseph-streamer (Oct 11, 2022)

St.Joseph-streamer said:


> Tonite after mass i wanted to load other lyrics for the next mass but when i selected "Tools", "Scripts" it didn't show the lua script window. I updated to OBS 28.03 last Thursday.......can anyone help?
> I can't say what kind of window opened because i'm not in church anymore.....maybe Monday again.
> Thanks in advance!


Solved......i was looking at the wrong tab in the scripts window.....Sorry


----------



## PastorDougC (Nov 21, 2022)

I seem to remember reading about a feature, but I didn't need it at the time, and now I can't find the part of this thread that addresses that issue. I'll just pose it as a question instead. Is there a way to code my text file to display the words following that code to be formatted differently than the regular text? Example: responsive reading where leader's words are white, but the what the congregation reads is in yellow. Thoughts? Doable?


----------



## St.Joseph-streamer (Nov 24, 2022)

PastorDougC said:


> I seem to remember reading about a feature, but I didn't need it at the time, and now I can't find the part of this thread that addresses that issue. I'll just pose it as a question instead. Is there a way to code my text file to display the words following that code to be formatted differently than the regular text? Example: responsive reading where leader's words are white, but the what the congregation reads is in yellow. Thoughts? Doable?


I had the same question about translation, and the only solution is the alternate text object which can be formatted separately from the primary text object.








						GitHub - amirchev/OBS-Lyrics: Manage and display lyrics to any text source in your OBS scene.
					

Manage and display lyrics to any text source in your OBS scene.  - GitHub - amirchev/OBS-Lyrics: Manage and display lyrics to any text source in your OBS scene.




					github.com


----------



## St.Joseph-streamer (Nov 24, 2022)

PastorDougC said:


> I seem to remember reading about a feature, but I didn't need it at the time, and now I can't find the part of this thread that addresses that issue. I'll just pose it as a question instead. Is there a way to code my text file to display the words following that code to be formatted differently than the regular text? Example: responsive reading where leader's words are white, but the what the congregation reads is in yellow. Thoughts? Doable?


The thread you were looking for (i think):





						OBS Lyrics
					

That would be wonderful. I teach an Introduction to Computer Programming class, but you are way past me.  Fifty years of programming computers later, it is good to know I am past somebody anyway.




					obsproject.com


----------

