On Apr 24, 2026, at 2:17 PM, ᏧᏐᎸᏛ Tsusolvd /Chris Griffith <ch...@zpuppets.org> wrote:
Hello!Can QLab 5 play a video displaying the CC file as closed caption? I see no documentation about this!
--
Contact support anytime: sup...@figure53.com
User Group Code of Conduct: https://qlab.app/code-of-conduct/
Instagram: https://www.instagram.com/Figure53
TikTok: https://www.tiktok.com/@QLab.app
Bluesky: https://bsky.app/profile/qlab.app
---
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 visit https://groups.google.com/d/msgid/qlab/af824f78-607e-4870-ba07-0791eb4c3469n%40googlegroups.com.
On Apr 24, 2026, at 4:14 PM, Andy Dolph <acd...@gmail.com> wrote:
You received this message because you are subscribed to a topic in the Google Groups "QLab" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/qlab/0is6q7HDBbk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to qlab+uns...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/qlab/A367B68A-1082-42E6-BADC-7DEBC48E09E7%40gmail.com.
Seems like it wouldn’t be that hard to allow that feature, and would save a lot of time.
--
Contact support anytime: sup...@figure53.com
User Group Code of Conduct: https://qlab.app/code-of-conduct/
Instagram: https://www.instagram.com/Figure53
TikTok: https://www.tiktok.com/@QLab.app
Bluesky: https://bsky.app/profile/qlab.app
---
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 visit https://groups.google.com/d/msgid/qlab/CAOOK5Ab1vbGRrUXFVCRyD%2BkmMYU8tUHd8P6%3DukPZjOiOQVMNnw%40mail.gmail.com.
-- make Text cues from subtitle SRT file
-- before running this configure the Stage and set up the Template for Text cues to format as you need (Settings-Templates-Text)
-- a SRT file contains 4 lines per subtitle: the sub title number; the start and end time; the text of the subtitle and a blank line
-- a typical entry might look like this
-- 2
-- 00:00:03,000 --> 00:00:09,000
-- Once Upon a Time
-- This would display 'Once Upon a Time' from 3 seconds to 9 seconds
-- note to extract subtitle file from video file use
-- ffmpeg -v error -i movie_with_subtitles.mp4 -map 0:s:0 subtitles.srt
-- prompt the user to choose a SRT subtitle file
set myfile to POSIX path of (choose file with prompt "Select subtitle file" of type "srt" default location (path to documents folder))
-- reformat the srt file to make it easier to parse in Applescript, using sed
-- this edit adds # to beginning of number only lines; changes separater in the time fields from : and , to - hyphen and
-- removes the extra > chacter in the time field
-- note on MacOS need -E flag to sed to use subsitute/modern regex
set myArray to every paragraph of (do shell script "cat " & myfile & " | sed -E \"/^[0-9]+$/s/([0-9]+)/# \\1/; /-->/s/[:,]/-/g;s/-->/--/\" ")
set textCueNumprefix to "st"
set nl to linefeed
set results to {}
set errors to {}
tell application id "com.figure53.QLab.5" to tell front workspace
-- create a Timeline group to put the text cues in
make type "Group"
set groupCue to last item of (selected as list)
set mode of groupCue to timeline
set q name of groupCue to "Subtitles "
set notes of groupCue to "imported from " & myfile & " on " & ((current date) as string)
-- want the scope of the error message to be the whole repeat loop
global errMesg
set errMesg to ""
-- now process each line of the re-formatted file
repeat with myline in myArray
if myline begins with "#" then
-- this is the subtitle number (we use for the text cue number
set subNum to first word of myline
-- in the reformatted srt file the -- in indicates the timing line
else if myline contains "--" then
-- this is the start and end times of the subtitle, which we use as pre wait in the timeline group
set AppleScript's text item delimiters to "-"
set timeItems to every text item of myline
try
-- calculate the start and end time for the subtitle based on the hrs, mins, secs time fields (milliseconds are ignored)
set startTime to (item 1 of timeItems) * 60 * 60 + (item 2 of timeItems) * 60 + (item 3 of timeItems)
set endTime to (item 6 of timeItems) * 60 * 60 + (item 7 of timeItems) * 60 + (item 8 of timeItems)
on error
set errMesg to "error with time formatting " & myline & " check srt file " & subNum
display notification errMesg with title "Subtitle timing format error"
end try
else if length of myline is 0 then
-- blank line is the record delimeter in srt file, now we have the info to make the text cue
make type "Text"
set textCue to last item of (selected as list)
set text of textCue to subText
-- if you don't want cue numbers, comment out this line
set q number of textCue to textCueNumprefix & subNum
-- put the text cue in the Timeline group and set the pre wait and duration
move textCue to end of groupCue
set pre wait of textCue to startTime
set duration of textCue to (endTime - startTime)
-- check for error and set error message to Notes of cue and colour the cue appropiately
if length of errMesg > 0 then
set notes of textCue to errMesg
set q color of textCue to "Red"
set end of errors to errMesg
else
set end of results to "#" & subNum & space & subText as string
end if
set errMesg to ""
else
-- otherwise the line is the subtitle text itself
-- TODO need to check if long subtitles might be on more than 1 line in the srt file ?
set subText to myline
end if
end repeat
-- tell the user the results
set AppleScript's text item delimiters to linefeed
display dialog (results as text) & nl & (length of errors) & " Errors" & nl & (errors as text) with title "Finished. added " & (length of results) & " subtitles"
end tell