Subtitling in Qlab with playlist and incoming timecode

83 views
Skip to first unread message

Pieter Nys

unread,
Jul 2, 2024, 10:25:58 AM (3 days ago) Jul 2
to ql...@googlegroups.com
Hi Friends,

I am making a subtitling file with Qlab.
The subtitles need to follow the incoming timecode.  

I have an excel file (or google sheet, or csv) with the Cue nr, timecode and 4 columns for different languages (Dutch, French, German, English,...)

I use for every language a group as a playlist and it works perfectly because I can choose what group needs to be active.

Now I am looking to find a quick way to import the data in the playlists.
I already found 2 ways in the cookbook; It is an old way where they did create 3 cues for each subtitle FI / FO. (but now with the playlist, we don't need this anymore) Thanks!!!

In a second recipe of the cookbook, I found a way of importing the TC into the TC field.

So It works.  To be honest, it is a long walk before getting there. So my question is if anybody wrote or can easily write a script to do this in 1 move?  Even better would be to implement this in Qlab (by dragging a txt file into Qlab...)

Any ideas?
I am not a very good script writer...

I am sure this can be a good new recipe in the Qlab cookbook!

Thanks a lot!

Greetings,


Pieter Nys


www.pnpbvba.com
PNP bv - +32 477 444 095 - BTW BE0832.811.118
Hoofdzetel: Van den Bogaertlei 11, 2920 Kalmthout - Belgium
Kantoor Antwerpen: De Beuckerstraat 4, 2018 Antwerpen - Belgium
Magazijn: Brasschaatsteenweg 268C, 2920 Kalmthout - Belgium

micpool

unread,
Jul 3, 2024, 11:27:00 AM (2 days ago) Jul 3
to QLab
I don't have time at the moment to look at your scripting problem, but you have accidentally discovered a very useful way of using a playlist mode group cue.

One of the problems with not having a fade out and a fade in on text cues, (or images of different sizes) is that if you don't explicitly fade in the new text/image you see it immediately because the text is on a transparent background  or there are portions of the new image that are visible behind the old image.

Putting cues in a playlist group, but starting them individually using TC as you are doing, or just by using start cues targetting each cue in the group, means that you can set a complicated custom crossfade in the playlist group curve,  and that will be applied when starting any cue within the playlist group.

This means that you can use something like this:

Screenshot 2024-07-03 at 16.16.52.png

To get the classic surtitle transition, i.e., a fast fade out of the current title, followed by a slightly slower fade in of the new title.

Screen recording attached


Mic
Screen Recording 2024-07-03 at 16.25.37.mov

micpool

unread,
Jul 3, 2024, 7:06:58 PM (2 days ago) Jul 3
to QLab
I think this script does what you describe from a spreadsheet formatted like this:

Screenshot 2024-07-03 at 23.55.16.png

--import timecoded multilingual titles from an open excel Spreadsheet

--timecodes in spreadsheet must be entered with ' before timecode to force text

set theCount to 10 --Number of titles to Generate

set theLanguageList to {"English", "French", "German", "Spanish"}

set theColumnList to {"C", "D", "E", "F"}

tell application id "com.figure53.QLab.5" to tell front workspace

repeat with i from 1 to 4

make type "group"

set theGroup to last item of (selected as list)

set the mode of theGroup to playlist

--assumes all other playlist parameters set in cue Template

set the q name of theGroup to item i of theLanguageList

set the q number of theGroup to ((first character of item i of theLanguageList) & "0")

set firstFlag to 1

repeat with x from 1 to theCount

make type "Text"

set theCue to last item of (selected as list)

--assumes all font and color details set in template

set the q number of theCue to ((first character of item i of theLanguageList) as text) & x as text

tell application "Microsoft Excel" to tell active sheet to set theValue to (value of cell ((item i of theColumnList) & x + 1 as text))

set the text of theCue to theValue

tell application "Microsoft Excel" to tell active sheet to set theTC to value of cell ("B" & (x + 1 as text))

set the timecode text of theCue to theTC

set the timecode trigger of theCue to enabled

if firstFlag is 1 then

set theID to uniqueID of theCue

move cue id theID of parent of theCue to end of theGroup

set the selected to theCue

set firstFlag to 0

end if

end repeat

set the selected to theGroup

end repeat

end tell


to make this:

Screenshot 2024-07-03 at 23.58.08.png

Screen recording, QLab workspace  and Excel spreadsheet attached

Mic
On Tuesday, July 2, 2024 at 3:25:58 PM UTC+1 pie...@pnpbvba.com wrote:
4 Language timecode subtitles.xlsx
import timecoded multilingual titles from an open excel Spreadsheet.qlab5
Screen Recording 2024-07-03 at 23.52.18.mov

Pieter Nys

unread,
Jul 4, 2024, 5:40:53 AM (yesterday) Jul 4
to ql...@googlegroups.com
Hi Mic,

Thanks a lot! 
With this script I really can do a lot!
I also scripted almost a night and started loving it!

What I am doing at the moment (but much slower as you):
For every language I create a stage 1920x160 and a separate q list.  So I can easily arm or disarm a language.
If I need to project 2 languages (In Brussels fe: French and Dutch) I can do this with 1 projector and 2 languages above each other in this solution.
So I found out that I can assign also the stage name in the cue: 
set stage name of newCue to "theLanguage"
My next goal now is to create the 4 language Cuelists and the language stages automatically.  
But for this I think I will use 2 different scripts as safety...
btw, fade in and out can be set also in the same script, isn't it?

When finished, I'll send you the script for some feedback...

Thank you very much!

Greetings,


Pieter Nys


www.pnpbvba.com
PNP bv - +32 477 444 095 - BTW BE0832.811.118
Hoofdzetel: Van den Bogaertlei 11, 2920 Kalmthout - Belgium
Kantoor Antwerpen: De Beuckerstraat 4, 2018 Antwerpen - Belgium
Magazijn: Brasschaatsteenweg 268C, 2920 Kalmthout - Belgium



Op do 4 jul 2024 om 01:07 schreef micpool <m...@micpool.com>:
--
Contact support anytime: sup...@figure53.com
Follow QLab on Threads: https://threads.net/@QLabApp
User Group Code of Conduct: https://qlab.app/code-of-conduct/
---
You received this message because you are subscribed to the Google Groups "QLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qlab+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qlab/c102b61a-5f2e-4928-909e-8c0d11820377n%40googlegroups.com.

micpool

unread,
Jul 4, 2024, 6:06:46 AM (yesterday) Jul 4
to QLab
Great, Glad it was useful.

You can also arm and disarm cues with OSC with wildcards, so as long as you were only using the letter q number prefixes to differentiate languages you could use network cues with /cue/E*/armed 0 to disable all English Cues and /cue/F*/armed 1 to enable all French cues.

Mic
Reply all
Reply to author
Forward
0 new messages