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/!).

2 comentarios:

  1. ¡¡Fetén!!

    Yo soy uno de estos pocos que usa el mplayer en línea de comando en el MacOSX (más que nada porque tengo de problemas de rendimiento con los binarios que distribuyen, en cambio me da un rendimiento buenísimo el mplayer que me he compilado con el port).

    Y justo tenía en mi lista de cosas que hacer el crear un "app" con el AppleScript para poder arrastrar los ficherillos y no tener que tener abierta la terminal.

    Mira, pues ya no me hace falta. Ya me has pasado la pista tu.

    ResponderEliminar
  2. Creo que para que funcione arrastrando supongo que habría que modificar algo el script, aunque no lo he probado.

    Con Quicksilver yo lo uso de la siguiente forma: hago la selección en finder, y lanzo el script via QS.

    Esto en realidad abre un terminal (al menos a mi me lo abre), pero al menos no hay que darle la ruta completa, ni navegar por los directorios en modo texto, esto es automático.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.