Uno de los puntos fuertes del Mac siempre ha sido el tratamiento de imágenes y más recientemente el audio y vídeo y, aunque hoy en día los Mac tienen un campo de aplicación bastante mayor, las tareas relacionadas con el diseño y la manipulación de imágenes siguen suponiendo una parte importante de lo que los usuarios hacemos con nuestros ordenadores.Por regla general, el tratamiento de imágenes digitales se asocia a Photoshop, algo que por otro lado es lógico dada la potencia de dicha herramienta. Existen sin embargo un miríada de otras herramientas más o menos específicas que permiten realizar todo tipo de tareas relacionadas con las imágenes. Dentro de ello hoy en día, aunque pueda parecer sorprendente podemos incluir AppleScript. No es que sea una herramienta de retoque y manipulación por sí sola sino que nos permite de nuevo automatizar todas aquellas aplicaciones que utilizamos en el día a día para la edición. Lo mismo ocurre con la gestión de archivos de audio, para el cual iTunes se ha convertido en toda una referencia, al menos en el ámbito doméstico.Ya aprendimos en el segundo capítulo que Mac OS X incluye una pequeña aplicación llamada “Image Capture Scripting” que nos permite realizar tareas de manipulación de imágenes más o menos sencillas utilizando AppleScript. Entre ellas están el escalado de una imagen y también la rotación de la misma.Photoshop y AppleScriptComo bien es sabido, Photoshop incluye su propio sistema de scripting, llamado “Actions” o acciones. Es un sistema propio que permite automatizar todo tipo de tareas a aplicar a una o a un grupo de imágenes. En este sentido, Adobe ha preferido facilitar al máximo la integración con AppleScript y en vez de implementar todo un grupo de clases y comandos que permitan hacer mediante AppleScript todo lo que se puede hacer en Photoshop, han preferido crear un único comando que permite ejecutar las acciones definidas.Así con el comando “do script” podremos ejecutar todo tipo de acciones que ya tenemos desarrolladas en la aplicación. Podremos igualmente crear droplets que se utilicen para ejecutar acciones:tell application “Photoshop” do script miAccionend tellCon toda la facilidad que este tipo de implementación permite, también tiene un inconveniente dado que los scripts que creemos no serán totalmente portables a otras máquinas por sí solos ya que sólo funcionarán si la versión de Photoshop instalada en la máquina de destino también tiene programada la misma acción con el mismo nombre. Probablemente consciente de dicha limitación, Adobe ha desarrollado un plug-in para Photoshop llamado “Photoshop scripting” y que actualmente está en la versión 1.0.2. Dicha extensión puede ser descargada de la web de Adobe (www.adobe.com). Una vez descargada e instalada, se habrá ampliado de forma importante el diccionario AppleScript de Photoshop.Manejando GraphicConverterOtra alternativa es GraphicConverter (www.lemkesoft.com). Se trata de una aplicación shareware que incluye una amplísima librería de funciones gráficas que nos permitirán realizar todo tipo de tratamiento de imágenes mediante AppleScript. Lo más recomendable es repasar el diccionario desde el editor de scripts para ver todo lo que es posible realizar con GraphicConverter.iPhotoiPhoto no es exactamente una aplicación de tratamiento de imagen, sino más bien de archivo, categorización y reproducción. AppleScript también permite automatizarlo de manera significativa. Una de las acciones que más comúnmente realicemos con iPhoto es la de mostrar un pase de imágenes. Con AppleScript podremos crear un guión para que iPhoto muestre un pase con un álbum concreto (“Verano 2004”, por ejemplo):tell application “iPhoto” start slideshow using album “Verano 2004”end tellQue no pare la músicaUn rápido vistazo al diccionario de iTunes permite ver que el rango de acciones a programar mediante un script es prácticamente igual que lo que pueda hacer el usuario manualmente. En la propia web de Apple se pueden encontrar una serie de ejemplos bastante ilustrativos. Nosotros los hemos tomado como referencia para desarrollar un ejemplo. Nuestro guión va a presentar una lista de todos los artistas que tengan una canción en nuestra biblioteca. Podremos seleccionar cualquiera y el script creará una nueva lista de reproducción añadiendo a la misma todas las obras de ese artista.tell application “iTunes” - Obtenemos la lista de todos los artistas set lista_de_artistas to the artist of every track of playlist “Biblioteca” set the artistas_unicos to {} - Repasamos la lista y extraemos a cada uno una vez (evitamos repeticiones) repeat with i from 1 to the count of the lista_de_artistas set artista to (item i of the lista_de_ artistas) as string if the artistas_unicos does not con tain artista and artista is not “” then set the end of the artistas_unicos to artista end if end repeat - Permitimos seleccionar uno set un_artista to (choose from list artis tas_unicos with prompt “Seleccione un artista:”) as string - Creamos una nueva lista de reproducción con el nombre del artista set lista_reproduccion to make new pla ylist with properties {name:un_artista} if un_artista is “false” then return - Hacemos una copia de las canciones a la nueva lista tell source “Biblioteca” tell playlist “Biblioteca” duplicate (every track whose artist is un_artista) to lista_reproduccion end tell end tell end tellAl igual que vimos que Mac OS X permite crear un “Menú de scripts” que es accesible desde cualquier aplicación, iTunes permite crear uno específico para esta aplicación. Para ello deberemos crear una carpeta llamada “iTunes” dentro de la carpeta “Librería” de la cuenta del usuario (si no existe aún, claro). Dentro de dicha carpeta deberá haber otra llamada “Scripts”. Todos los guiones AppleScript que metamos en esa carpeta estarán accesibles para su uso desde iTunes. Así podemos guardar el script que acabamos de crear en ese sitio y lo tendremos siempre a mano.No podía faltar el iPod...Y es cierto, también el iPod se puede beneficiar de AppleScript, bueno mejor dicho su usuario. Como todos sabemos, el iPod realmente actúa como un disco duro externo cuando lo conectamos a nuestro Mac. En este sentido AppleScript nos brinda todo un elenco de oportunidades para facilitarnos la vida con el iPod. Aprovecharemos esta oportunidad para adentrarnos en la gestión de archivos con AppleScript.Seguramente más que uno utilizará el iPod no sólo para oír música, sino que aprovechará otras de las cualidades de las que nos brinda. Una de estas es la posibilidad de almacenar notas para poder revisarlas desde el propio iPod, o desde otro ordenador al que le conectemos. Aunque la creación de las mismas es una tarea relativamente sencilla, vamos a ver cómo se puede agilizar aún más. El guión que veremos a continuación nos permitirá crear una nota desde el contenido de portapapeles. Vamos a ir desgranando su creación en varios pasos. Lo primero que deberemos hacer es obtener el contenido del portapapeles y si no existe pararemos el script.set datos to the clipboard as stringif datos is “” then returnUtilizamos de nuevo un comando de asignación de valor. En este caso copiamos en la variable “datos” el contenido del portapapeles (clipboard, en inglés). Una peculiaridad que hemos empleado en este caso es que al mismo tiempo de copiar el valor le estamos indicando al script, el tipo de dato que es. Generalmente los lenguajes de programación diferencian los tipos de datos como por ejemplo números, textos, objetos, etc. Una vez hecho esto ya no le podremos asignar un valor de otro tipo. En el otro lado de la moneda se encuentran los lenguajes más liberales en los que esto no es necesario. Este es el caso de AppleScript. Así podremos definir una variable con un contenido numérico y posteriormente asignarle a la misma un texto. Esto que en principio parece muy cómodo sin embargo tiene sus limitaciones. Estas aparecen p