因此,几年前曾有人讨论过使用applescriptpt在mac上创建视频墙效果来制作应用程序,但代码似乎不再反映QT在小牛队的工作方式。
它的作用是:你可以把一堆视频剪辑"放"到应用程序上,它会自动调整它们的大小,并循环它们,在你的屏幕上创建一个很酷的"视频墙马赛克"效果——如果你输出到大型电视或投影仪到墙,这很酷
你知道如何更新/修复这个代码以在mavericks下生成QT修复程序吗?这是最近的一次迭代,不过如果您在applescripteditor下测试,它似乎不起作用。。。
on open filelist
tell application "QuickTime Player" to open filelist
run
end open
on run
tell application "QuickTime Player"
set ratio to 4 / 3
tell application "Finder" to set display_bounds to bounds of window of desktop
set display_width to (item 3 of display_bounds)
set display_height to (item 4 of display_bounds) - 42 -- menu height + title bar
set window_count to count of windows
set max_pixels to 0
repeat with potential_cols from 1 to window_count -- try all possibilities - hardly optimal but who cares.
set potential_rows to round (window_count - 1) / potential_cols + 1 rounding toward zero
set {potential_window_width, potential_window_height} to {round display_width / potential_cols rounding toward zero, round display_height / potential_rows rounding toward zero}
if potential_window_width / potential_window_height < ratio then
set {potential_window_width, potential_window_height} to {potential_window_width, round potential_window_width / ratio rounding toward zero}
else
set {potential_window_width, potential_window_height} to {potential_window_height * ratio, potential_window_height}
end if
set used_pixels to potential_window_width * potential_window_height * window_count
if used_pixels > max_pixels then
set {window_width, window_height, cols, rows} to {potential_window_width, potential_window_height, potential_cols, potential_rows}
set max_pixels to used_pixels
end if
end repeat
set {x, y} to {0, 0}
set wins to (get every window)
repeat with win in wins
set doc to document of win
set «class mctl» of doc to «constant playnone»
set looping of doc to true
set {wi, hi} to natural dimensions of doc
if wi / window_width > hi / window_height then
set «class pdim» of doc to {window_width, hi / (wi / window_width)}
else
set «class pdim» of doc to {wi / (hi / window_height), window_height}
end if
set x to x + 1
if x = cols then set {x, y} to {0, y + 1}
end repeat
set {x, y} to {0, 0}
set wins to (get every window)
repeat with win in wins
set {wi, hi} to natural dimensions of doc
if wi / window_width > hi / window_height then
set bounds of win to {window_width * x, 22 + window_height * y, window_width * x + window_width, 22 + window_height * y + hi / (wi / window_width)}
else
set bounds of win to {window_width * x, 22 + window_height * y, window_width * x + wi / (hi / window_height), 22 + window_height * y + window_height}
end if
set x to x + 1
if x = cols then set {x, y} to {0, y + 1}
end repeat
set wins to (get every window)
repeat with win in wins
play document of win
end repeat
activate
end tell
end run
此脚本在QuickTime Player 7中运行良好。
苹果仍然提供它来弥补最近版本中所有缺失的功能。
如果你的机器上还没有,请尝试下载http://support.apple.com/kb/DL923
然后在脚本中,将所有"QuickTime Player"引用重命名为"QuickTime Player7"