Scripts: Web Interface Lyrics (2022-06-21: New Scrolling Lyrics interface!)
Hi all,
So I just released for free a web remote/Interface lyrics viewer (or any kind of text anyway, lyrics is just the main purpose), based on Lyrics track text items OR based on region SWS subtitles.
You have to run one or the other script assocated with it to push "lyrics" info to the web remote, called X-Raym_Lyrics.html. As it is in Reapack, all should be downloaded at the right place already.
X-Raym_Convert Lyrics track items notes for dedicated web browser interface.lua
This works with text items and a track named Lyrics. Case unsensitive.
X-Raym_Convert region subtitles for dedicated web browser interface.lua
It is really basic but do the job. It is more a demonstration purpose about how to pass info from REAPER to web interface in "real time" (still limited by reascript rate of course) than a web interface meant to be perfect etc.
But I included a TextFIt JS script to the web interface so the text fit the viewport nicely.
Feel free to mod it to your own needs.
Please consider making a donation if you like it. From start dev to release, it took about 5 hours to make.
Cheers !
EDIT/ and thanks cfillion for assistance about the distribution!
EDIT:
added X-Raym_Convert region names for dedicated web browser interface.lua
EDIT (2022-06-02) New X-Raym_Scrolling Lyrics.lua interface !
Works with X-Raym_Convert first selected track items notes for scrolling web browser interface.lua (I see later if I create other scripts)
@Reno
Intersting idea,
Calculating real latency seems complex BUT we can apply a fix offset for play cursor pos at about 1/32 seconds which is approx the rate of a background script.
So that if interface is in Play, then it look ahead 1/32 second in front of play cursor instead of directly under it.
It's surely not enough, other factor will influence latency (the interface itself refresh only every 10ms) (it could be set to 1 but that seems complete overkill). So the best way is to manually find the right offset. Need testing, but as this latency isn't fixed it can be a bit tricky.
I think we need two more features
- Fullscreen when opening the browser (I'm using iPad Sarafi), Jon's WRB2 is doing this well
- Show the lyrics waiting just like Notes Reader of Heda
Your ideas and sharing about this script are really nice and helpful. Thank you very much again
@lachinhan
Hi,
-fullscreen: can yous show me a screenshot of that issue ?
Scaling lines of text or even multiline of text is a bit more com complex than 'blocks' especially on vertical axes but maybe I can see what would need to be updated.
-I see. its indeed how its done in karaoke software too. This would require to mod the scripts AND the web interface. I have high priority job to do for now so I invite any moder to take a shot on this. Maybe a progress bar like in heda note could be added too, but it will require even more modding
my contribution was mostly bringing the basis for future modders :P
We are using reaper to control our lights, for click, backing and vocal cue tracks as well as for sending video to two tv screens for our live performances. Is it possible to use the teleprompter functionality on a third tv (on stage setup to look like a wedge monitor) while also using two TVs on the back line for video and, if so, any recommendations on setup?
@keener3rd
Reaper has only one video feed output so tonoutput on two monitord, one have to be mirror of the other.
For prompter, web interface require a web browser, so as long as your third monitor can display a web page either natively (smart tv) or by using a computer feed (behaving like a regular extra computer monitor) you should be good.
This is theoricall and is really hardware dependant so it is a bit out of scope of this thread :P
Thank you for the reply X-Raym! You are correct in that we are duplicating the video to the two TVs via a splitter. I hadn’t the thought about the smart TV option for the teleprompter, so that is worth investigating. I do apologize if I derailed the thread!
track items notes for dedicated web browser interface.lua:57: attempt to call a nil value (field 'ULT_GetMediaItemNote'
I get the above error. Is there anything I appear to have done incorrectly? I installed reapeaks, open it from the actions menu, added notes to an empty track item, and then when I play that happens.
Any help would be appreciated
Thanks
Last edited by AlexRDL88; 05-11-2022 at 12:14 PM.
Reason: add image
I have SWS extension, I tire to run the scripts. I get the HTML page that tells what to do and to run the companion scripts. I run them after have created 2 regions with their names , nothing occurs ... still the instruction page that says that it's off ... but the script (convert region name) is on.
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
@BartR
Do you access the page via the reaper local server URL ?
yes, it's what I said indeed. I see the page with written:
"REAPER Lyrics Web Interface by X-Raym
State
OFF: Run a companion script to initialize.
Installation
Set this page as REAPER web interface, with menu Options > Preferences > Control/Osc/Web.
Start
Connect to the web interface using web browser of device on your local network
Run one of the companion script, to push lyrics to the web interface from items notes on lyrics tracks, regions etc...
Companion Scripts
Item Notes: X-Raym_Convert Lyrics track items notes for dedicated web browser interface.lua
Region Names: X-Raym_Convert region names for dedicated web browser interface.lua
Region Subtitles: X-Raym_Convert region subtitles for dedicated web browser interface.lua"
But the script status is not OFF it's ON ... into the STATUS on Actions > Action list, is clearly visible
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
@BartR
Do you access the page via the reaper local server URL ?
Perhaps I'm doing something wrong however
Lyrics Tracks: empty item with lyrics iui notes. Right?
The script X-Raym_Convert Lyrics track items notes for dedicated web browser interface.lua is ON
out the page X-Raym_Lyrics.html there is nothing rather than what I said before
then SHIFT+R I create a region and I put phrases into that region.
I turn off the previous script and I turn on
Script: X-Raym_Convert region names for dedicated web browser interface.lua
I refresh the page: nothing ... same situation
Where am I wrong?
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
@BartR
This kind of issue might take forever to bug hunt with forum posts, I would have propose a remote control session over Zoom but I'm currently sick and it is a bit painful to talk.
@BartR
This kind of issue might take forever to bug hunt with forum posts, I would have propose a remote control session over Zoom but I'm currently sick and it is a bit painful to talk.
Yes we can organize it ..I wil send you a PM
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
Just for info, the Lyrics.lua with the lyrics.html (efault) works fine.
I wanted to use your script because I find that the regions have their own meaning
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
Updated Script: X-Raym_Convert Lyrics track items notes for dedicated web browser interface.lua to works at cursor >= item pos, not just cursor > item_pos. So it can now works if cursor and item are at same pos.
Updated Script: X-Raym_Convert Lyrics track items notes for dedicated web browser interface.lua to works at cursor >= item pos, not just cursor > item_pos. So it can now works if cursor and item are at same pos.
Great. Updated it
First and foremost: thank you so much for the help of today
A further improvement suggestion, if ever it's possible (not clue)
When 2 regions are overlapping, to show both lines in the HTML page.
What does it serve (if it's possible to implement)?
By overlapping the regions, it makes possible to anticipate the next text line to the singer
This helps to have a kind of seamless passage, under the mental point of view, losing the tension generated by "to wait what will come".
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
When 2 regions are overlapping, to show both lines in the HTML page.
I don't think overlapping the regions or making the regions note aligned with what they are supposed to match is very elegant, IMHO all this (offset, next display etc) should be some kind of variable from the scripts themsleves.
This makes me thing of another alternative of SWS Notes window which I use a lost which is Heda's Notes Reader, which does have next line display.
I don't think this is the kind of thing of feature I will integrated without sponsor cause it require quite some rewritten of several scripts (the one who get the next, and the HTML display, the javascript code etc), though I recognize this is a good idea and would be appreciable. 👍
I don't think overlapping the regions or making the regions note aligned with what they are supposed to match is very elegant, IMHO all this (offset, next display etc) should be some kind of variable from the scripts themsleves.
This makes me thing of another alternative of SWS Notes window which I use a lost which is Heda's Notes Reader, which does have next line display.
I don't think this is the kind of thing of feature I will integrated without sponsor cause it require quite some rewritten of several scripts (the one who get the next, and the HTML display, the javascript code etc), though I recognize this is a good idea and would be appreciable. 👍
WOW another way to add :-) it demonstrate the flexibility of Reaper.
Many ways many solutions more possibility to bend it toward each workflow.
Yes I imagine that my request can be cumbersome to implement. That's why I wrote "if possible" ... it doesn't mean only technically but also time-spending-valuable.
Thanks a zillion :-)
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
when regions are used and yo want to insert multiple lines, you separate them with "\n" (new line special char).
On the browser, the "\n" is correctly executed but the "" still visible instead of to be hidden
EDIT i'm going to remove all HeDa scripts since from a long ago, I get "there is a problem reading updates for the server. Try again later". I reinstalled I tried anything.
Nothing. i'm not willing to become crazy with. hence I can't consider HeDa as a viable solution.
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
@BartR
You should definitely consider heda's notes window as a solution, it has some unique feature ! It is the one I use the most. Just contact him so he can support you !
Try just \n instead of "\n", or even the html equivalent directly, <br> for Break Line.
@BartR
You should definitely consider heda's notes window as a solution, it has some unique feature ! It is the one I use the most. Just contact him so he can support you !
Try just \n instead of "\n", or even the html equivalent directly, <br> for Break Line.
i contacted him to solve the bug of the Manager.
However if you solve the "\n" glitch on you script, please don't hesitate to tell so I will update the script and test it.
__________________
Reaper: always the most up-to-date.
O.S.: Windows 11 Pro
ReaPack (with bilingual Tutorials): https://bit.ly/ReaPack_Repository
I think the best is just to have all items starting before the actual place the lyrics appears, like a global left offset, I think this pretty unreadable in context. I'm not sure I will push it public.
But I like to keep items pos at right place etc so I think the best would be that the offset is "virtual" can adjustable by the user, but without having to actually edit the project.