Resource icon

OBS Lyrics 2.0.0

DCStrato

Member
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
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

New Member
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)

View attachment 68272
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

Member
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

New Member
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

Member
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.
 

Attachments

  • lyrics-altText.zip
    8.8 KB · Views: 30

Rob M

New Member
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

Member
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

New Member
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

Member
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
 

Attachments

  • lyricsWithStaticText.zip
    9.2 KB · Views: 39

ac1219

New Member
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

Member
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
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

Member
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.
 
Last edited:

chadbrewyet

New Member
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

Member
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

Member
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

New Member
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

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

Member
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
 

Attachments

  • lyricsWithAlternateTextPaging.zip
    9.4 KB · Views: 23

chadbrewyet

New Member
clap.gif


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

Member
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
 
Top