Mostrando entradas con la etiqueta quicksilver. Mostrar todas las entradas
Mostrando entradas con la etiqueta quicksilver. Mostrar todas las entradas

2009/02/25

mplayer por linea de comandos pero sin la linea de comandos (OS X)

Despues de compilar el mplayer para OS X (los binarios precompilados me dan algunos probmemillas, además de estar un poco obsoletos) me parece un peñazo tener que estar abriendo el Terminal y toda la pesca cada vez que quiero ver una peli, así que aquí va un pequeño AppleScript que, automáticamente, abre un Terminal e invoca al mplayer con lo que haya seleccionado en la ventana de finder que hay en primer plano:

tell application "Finder"
 set these_items to the selection
end tell

set file_list to ""
repeat with i from 1 to the count of these_items
 -- This could be done in 1 line but it becomes unreadable
 set this_file to (item i of these_items) as alias
 set this_file to quoted form of POSIX path of this_file as string
 set file_list to (file_list & this_file) & " "
end repeat

tell application "Terminal"
 (* Of course, for this to work, mplayer needs
  to be reachable from the $PATH
  *)
 do script "mplayer " & file_list
end tell

Funciona genial con QuickSilver, y si hay más de 1 archivo los reproduce uno tras otro en la misma ventana de mplayer. Además mplayer es bastante listo como para saber cuando no está abriendo un archivo multimedia y pasar al siguiente sin alborotar demasiado, así que no hay que preocuparse por tratar eso y se simplifica mucho mucho el código.

Como mejora quedaría detectar un archivo de subtítulos con el formato de nombre "nombre_del_archivo_de_video.lang.srt" y pasarselo al mplayer (que no lo detecta automáticamente por culpa de la parte ".lang." [VLC, o QuickTime+Perian, sí detectan ese patrón]), pero la falta de operaciones con texto de AppleScript hace esto demasiado complejo para que compense (No RegEx?, No party). Probablemente en un futuro migre el código a Python, o a una combinación AppleScript/Python (¡/igor/ no: /aigor/!).