Mosaico de películas con QuickTime

19/05/2009 por Administrador

Si tienes varios clips de QuickTime y quieres verlos todos a la vez, colocarlos en mosaico a mano es definitivamente una tarea muy poco productiva. Pero siempre está la opción de usar Applescript, que nos va a hacer la tarea mucho mas fácil.

Abre el Editor de Scripts, que está en Aplicaciones/Applescript y copia y pega este script.

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 controller type of doc to none

set looping of doc to true

set {wi, hi} to natural dimensions of doc

if wi / window_width > hi / window_height then

set dimensions of doc to {window_width, hi / (wi / window_width)}

else

set dimensions 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

Guardalo como aplicación. Ahora, solo tienes que arrastrar unos cuantos clips a la aplicación para que los coloque en mosaico, los ponga a reproducir e incluso viene activado por defecto el "loop" para que se inicien de nuevo una vez estén terminados.

Un excelente script para aprender como manejar películas Q!uickTime con Applescript de Mac OS X Hints

Comentarios

  • avatar
    #1 Anónimo el 18/05/2009
    el símbolo "«" da error al compilarlo si haces un cp de:
    if potential_window_width / potential_window_height « ratio then
    set {potential_window_width, potential_window_height} to
  • avatar
    #2 Anónimo el 18/05/2009
    respondiendo a mi propio comentario, en la fuente original el simbolo es "<". al substituirlo no da problemas al guardarlo.
  • #3 Administrador el 19/05/2009
    Corregido!. Gracias. Parece que hubo un problema con el < ya que no ha parseado correctamente la entidad.

    Saludos


    ---------------
    www.faq-mac.com
  • avatar
    #4 Anónimo el 09/07/2009
    Hola. He actualizado hace un tiempo navegador y QT en mi iMac

    Identificador del modelo: iMac8,1
    Nombre del procesador: Intel Core 2 Duo
    Velocidad del procesador: 2.8 GHz
    Número de procesadores: 1
    Número total de núcleos: 2
    Caché de nivel 2: 6 MB
    Memoria: 4 GB
    Velocidad del bus: 1.07 GHz

    El problema que tengo es que las películas que reproduzco en Safari, se reproducen siempre automáticamente, pese a tener deshabilitada esa función en Preferencias de QT y Flip4Mac. Se os ocurre algo que hacer? No es importante, pero cuando tienes costumbre de algo y te lo cambian...
    Gracias!

Escribe un comentario

Regístrate o identifícate para poder comentar