目前很多用户在演出现场使用QLab都是纯粹的播放音乐或视频,有时候团队其他成员可能想要了解音乐的播放状态,比如当前的播放时间,剩余时间和下一个Cue的名称等信息。虽然在QLab的Active Cues里面可以查看播放时间,但这仅限于电脑屏幕,如果可以有一个监视屏幕或iPad或iPhone里面显示这些状态信息那将会非常的方便,旁边的灯光师再也不用大声喊话问你音乐还有几秒放完!
抖音观看视频
你可以点击以上按钮链接,跳转到抖直接观看视频!
如果你用的是QLab5 请查看OSC单独显示QLab5播放状态(名称和时间)
有两种实现的方式:1.使用QLab自带的预览窗口显示,2.以OSC通过本地广播的方式发送文本信息
所使用的脚本 的主要功能:
列表设置Solo模式,一次只允许播放一个Cue。
当Cue已经在播放时不允许其他Cue开始。
脚本生成当前播放Cue的播放时间和剩余时间以及显示下一个Cue的信息。
将“播放状态”信息显示在预览窗以分发到扩展显示器上面。
将“播放状态”信息作为OSC消息通过本地网络广播,以便在运行#TouchOSC#、Lemur或其他类似程序的设备上接收。
当上下切换光标时实时输出下一个Cue为光标所选Cue的名称
如何使用?下载并解压并打开示范工作区之后,打开QLab软件设置
2.Network选项里 修改OSC也就是Broadcast的IP地址
3.如果使用TouchOSC 请修改TouchOSC输出端口为5300 输入端口:8000 如下图所示:
1.以正常方式添加音频到列表中。
2.打开预览窗口和TouchOSC
3.选择一个Cue 然后空格键开始运行及播放音乐。(空格键是脚本的快捷键,如果没按空格直接播放音乐是不会发送状态信息的)
如果只想以预览窗口显示的话只需要打开预览窗口即可。如果是连接了第二个屏幕就把预览窗口拖到另扩展屏幕即可。如下图:
当然也可以同时打开预览窗口和TouchOSC:
以下是主要的脚本部分 你可以根据自己要求进行修改.
定义播放时间和剩余时间:
--elapsed time
set theelapsedtimer to ((round (action elapsed of theCurrentCue) * 10) / 10)
set theHours to (text -1 thru -2 of ("00" & (theelapsedtimer div 3600)))
set theRemainderSeconds to (theelapsedtimer mod 3600)
set theMinutes to (text -1 thru -2 of ("00" & (theRemainderSeconds div 60)))
set theRemainderSeconds to (text -1 thru -4 of ("0000" & (theRemainderSeconds mod 60)))
set theelapsedseconds to (theHours & ":" & theMinutes & ":" & theRemainderSeconds)
--remaining time
set theRemainingTimer to ((round (((duration of theCurrentCue) - (action elapsed of theCurrentCue)) * 10)) / 10)
set theHours to (text -1 thru -2 of ("00" & (theRemainingTimer div 3600)))
set theRemainderSeconds to (theRemainingTimer mod 3600)
set theMinutes to (text -1 thru -2 of ("00" & (theRemainderSeconds div 60)))
set theRemainderSeconds to (text -1 thru -4 of ("0000" & (theRemainderSeconds mod 60)))
set theRemainingTime to (theHours & ":" & theMinutes & ":" & theRemainderSeconds)
生成并输出OSC文本信息:
--format text
try
set thenextcue to last item of (selected as list)
set thenextcuenumber to q number of thenextcue
set thenextcuename to q list name of thenextcue
end try
if the (count of characters of thenextcuename) is greater than 50 then set thenextcuename to characters 1 thru 50 of thenextcuename as string
set theqname to q list name of theCurrentCue
if the (count of characters of theqname) is greater than 50 then set theqname to characters 1 thru 50 of theqname as string
--extra code for TouchOSC
set the notes of cue "line0" to "Current Track"
set the notes of cue "line1" to "CUE" & thecuenumber
set the notes of cue "line2" to theqname
set the notes of cue "line3" to "ELAPSED TIME = " & theelapsedseconds
set the notes of cue "line4" to "REMAINING TIME = -" & (theRemainingTime as string)
set the notes of cue "line5" to "NEXT CUE " & thenextcuenumber
set the notes of cue "line6" to thenextcuename
set thedisplay to "CUE " & thecuenumber & linefeed & return & theqname & linefeed & return & linefeed & return & " ELAPSED TIME = " & theelapsedseconds & linefeed & return & linefeed & return & "REMAINING TIME = -" & (theRemainingTime as string) & linefeed & return & linefeed & return & "NEXT CUE " & thenextcuenumber & linefeed & return & thenextcuename
set the text of cue "TIME" to thedisplay
set the notes of cue "TIME" to thedisplay
start cue "NET"
else
try
set thenextcue to last item of (selected as list)
set thenextcuenumber to q number of thenextcue
set thenextcuename to q list name of thenextcue
end try
if the (count of characters of thenextcuename) is greater than 50 then set thenextcuename to characters 1 thru 50 of thenextcuename as string
set line1 to "NO CUE RUNNING"
set thedisplay to line1 & linefeed & return & linefeed & return & linefeed & linefeed & return & linefeed & return & linefeed & return & linefeed & return & linefeed & return & "NEXT CUE " & thenextcuenumber & linefeed & return & thenextcuename
set the text of cue "TIME" to thedisplay
set the notes of cue "TIME" to thedisplay
--additional code for TouchOSC
set the notes of cue "line0" to line1
set the notes of cue "line1" to ""
set the notes of cue "line2" to ""
set the notes of cue "line3" to ""
set the notes of cue "line4" to ""
set the notes of cue "line5" to "NEXT CUE" & thenextcuenumber
set the notes of cue "line6" to thenextcuename
#TouchOSC模板#编写很简单,QLab 工作区将七行文本作为 OSC 消息发送到 TouchOSC 中七个标签地址,对应脚本输出的line信息:
/textline0 显示当前播放
/textline1 输出Cue编号 (歌曲编号)
/textline2 输出Cue名称 (歌曲名字)
/textline3 也就是播放时间 (输出时间参数)
/textline4 是剩余时间
/textline5 下一个Cue的编号
/textline6 下一个Cue的名称
如上图在TouchOSC编辑器里添加几个Lable 文本可以留空不填,OSC指令填 /textline0~6 分别对应上面的脚本输出信息。设置好字体大小颜色等即可。
按钮形状都可以根据自己喜好添加。只需要填 上对应的/textline即可。
除了显示播放状态信息之外我们还可以添加一些其它控制按钮,比如演示视频里我添加了4个按钮 对应的的是:切换上一曲/下一曲, GO和Esc退出播放这个功能,实现直接在手机里切换歌曲控制功能。直接使用的是MIDI按钮(需要在软件设置里映射) 当然你还可以添加更多的按钮或OSC功能,比如添加一个 OSC控制QLab全局音量淡入淡出的按钮
你可以免费下载官网工程示范文件,也可以下载我修改过的工程文件和TouchOSC模板。
TouchOSC模板的编写可以看这个教程: TouchOSC在线教程:OSC的编写及使用
本站上传分享的脚本或工程文件,包括TouchOSC模板,只供用户学习研究使用,因为涉及的知识面太广并不是一两句就能教会你怎么使用,对于新手用户 我们没有精力给你提供一对一包教包会服务。
另外:Goodmidi网站从来没有淘宝或闲鱼店铺,本站的教程或模板不管你是淘宝买的还是别人给的,请自行研究摸索。不要厚着脸皮老师长老师短的问东问西!我们不提供免费技术支持服务,请伸手党白嫖党知悉!
专题:QLab Pro教程示范:
- OSC单独显示QLab播放状态(名称和时间)
- TouchOSC制作QLab控制按钮及多设备多软件同时控制
- QLab5之工程文件管理
- QLab5 网络Cue 支持设备列表
- QLab使用Cart模式控制多个列表播放
- QLab教程: 图像或文字路径跟随
- QLab教程:Fade Cue的使用说明
- OSC单独显示QLab4播放状态(附工程文件和TouchOSC模板)
- QLab的独奏设置与解释
- QLab使用技巧之:Fancy Paste(花式粘贴)
- QLab热备份 多台电脑QLab同步播放
- QLab使用脚本更改文本Cue参数
- OSC控制QLab全局音量淡入淡出
- QLab列表创建音频淡入淡出
- QLab教程:使用OSC控制Arena播放
- 在 QLab 中播放 Spotify曲目及列表
- 使用QLab控制PVP 同步音视频播放
- 使用QLab的脚本Cue快速输出倒计时视频
- QLab 快速导入并编号文本字幕
- TouchOSC控制QLab播放及同步音乐列表
- QLab3舞台控制:现场表演与安装项目