{"id":625,"date":"2018-11-15T10:00:35","date_gmt":"2018-11-15T09:00:35","guid":{"rendered":"http:\/\/www.programaraciegas.net\/?p=625"},"modified":"2020-02-04T11:49:40","modified_gmt":"2020-02-04T10:49:40","slug":"como-compartir-scripts-de-applescript-con-ficheros-de-sonido-texto-y-demas-usando-paquetes-de-scripts","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=625","title":{"rendered":"C\u00f3mo compartir scripts de AppleScript con ficheros de sonido, texto y dem\u00e1s usando paquetes de scripts"},"content":{"rendered":"<p>Ya hemos visto c&oacute;mo crear scripts y aplicaciones a partir de nuestros scripts para realizar y automatizar tareas y, por ahora, podemos compartirlos con otros usuarios sin demasiados problemas ya que siempre hemos accedido a elementos del sistema. Pero imaginemos que queremos crear un script con sus propios sonidos, ficheros de texto o ficheros de recursos y que siga ejecut&aacute;ndose sin problemas en nuestro Mac y el de nuestros amigos. En este art&iacute;culo veremos c&oacute;mo hacerlo.<\/p>\n<p><!--more--><\/p>\n<h2>Usar un paquete de scripts en lugar de un script de AppleScript<\/h2>\n<p>El editor de AppleScript nos permite guardar nuestro script de diversas formas, por ejemplo como script, como aplicaci&oacute;n, como texto o como un paquete de scripts.<\/p>\n<p>Un paquete de scripts es el formato id&oacute;neo para compartir nuestros scripts con amigos ya que es un formato que consiste en un conjunto de ficheros cuyo fichero principal es un archivo de script que se ejecutar&aacute; al abrirlo con Finder.<\/p>\n<p>En este paquete de scripts podemos incluir casi cualquier tipo de archivo que necesitemos para que nuestro script funcione perfectamente.<\/p>\n<h2>Creando un paquete de scripts<\/h2>\n<p>Para crear un paquete de scripts simplemente debemos crear un nuevo script de AppleScript desde la herramienta <em>editor de AppleScripts<\/em> y a la hora de guardarlo especificar que lo guardaremos con el formato <strong>paquete de scripts<\/strong><\/p>\n<p>En el editor de AppleScript se mostrar&aacute; el c&oacute;digo fuente de nuestro script como si se tratase de un script normal en lugar de un paquete de scripts.<\/p>\n<p>La &uacute;nica diferencia es que la opci&oacute;n <em>mostrar contenido del paquete<\/em> del men&uacute; <em>Visualizaci&oacute;n<\/em> del editor de scripts estar&aacute; disponible.<\/p>\n<p>Al activar la opci&oacute;n <em>mostrar contenido del paquete<\/strong> se nos mostrar&aacute; informaci&oacute;n de nuestro paquete y una tabla con los ficheros que se incluyen dentro del paquete.<\/p>\n<p>Por defecto en todos los paquetes se incluye el fichero <em>description.rtfd<\/em> y la carpeta <em>Scripts<\/em> y debemos evitar modificar estos dos elementos para mantener la estabilidad de nuestro paquete.<\/p>\n<h2>A&ntilde;adiendo ficheros a nuestro paquete<\/h2>\n<p>Para agregar nuevos ficheros dentro de nuestro paquete s&oacute;lo debemos arrastrar los nuevos ficheros hasta soltarlos dentro de la tabla con los ficheros de nuestro paquete. Por desgracia esta operaci&oacute;n de arrastrar y soltar no es sencilla para los usuarios de producto de apoyo pero no es demasiado problema gracias a MacOS y su filosof&iacute;a de multitud de alternativas y a la potencia de Finder.<\/p>\n<h3>A&ntilde;adiendo ficheros a nuestro paquete a trav&eacute;s de Finder<\/h3>\n<p>Podemos agregar los nuevos ficheros simplemente abriendo el contenido de nuestro paquete en Finder y trat&aacute;ndolo como una carpeta m&aacute;s en la que podemos pegar y duplicar ficheros as&iacute; como cambiar sus nombres o crear carpetas.<\/p>\n<p>Para hacer esto simplemente nos debemos colocar en el primer elemento de la tabla, que suele ser el fichero <em>description.rtfd<\/em> y utilizando el men&uacute; contextual activar la opci&oacute;n <em>Mostrar en el Finder<\/em><\/p>\n<p>Para activar el men&uacute; contextual debemos hacer una pulsaci&oacute;n con el bot&oacute;n derecho del rat&oacute;n o, si usamos VoiceOver, pulsar la combinaci&oacute;n de teclas <strong>May&uacute;sculas + Control + Option + M<\/strong><\/p>\n<p>Al activar la opci&oacute;n <em>Mostrar en el Finder<\/em> se abrir&aacute; una carpeta en el Finder en la que podremos pegar o renombrar los archivos para nuestro paquete. Cualquier cambio que hagamos se ver&aacute; reflejado en el editor de scripts<\/p>\n<h2>Accediendo a nuestros recursos desde nuestros scripts<\/h2>\n<p>Para acceder a uno de nuestros ficheros almacenados en el paquete debemos hacer referencia a &eacute;l usando una referencia relativa a su ruta y a la del paquete almacen&aacute;ndo la ruta en una variable. Por ejemplo, imaginemos que hemos incluido el sonido <em>prueba.caf<\/em> en nuestro paquete y queremos almacenar su ruta en la variable <em>misonido<\/em>. El c&oacute;digo ser&iacute;a:<\/p>\n<p><code><br \/>\nset miSonido to POSIX path of (path to resource \"prueba.caf\")<br \/>\n<\/code><\/p>\n<p>Y para reproducir el sonido debemos crear el comando de terminal que solemos utilizar para reproducir sonidos con AppleScript incluyendo la ruta a nuestro fichero de audio. El script completo quedar&iacute;a as&iacute;:<\/p>\n<p><code><br \/>\non run<br \/>\n\tset miSonido to POSIX path of (path to resource \"prueba.caf\")<br \/>\n\tdo shell script \"afplay \" & quoted form of miSonido<br \/>\nend run<br \/>\n<\/code><\/p>\n<p>Si el fichero a ejecutar no est&aacute; en nuestro paquete aparecer&aacute; el mensaje de error <em>Recurso no encontrado.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ya hemos visto c&oacute;mo crear scripts y aplicaciones a partir de nuestros scripts para realizar y automatizar tareas y, por ahora, podemos compartirlos con otros usuarios sin demasiados problemas ya que siempre hemos accedido a elementos del sistema. Pero imaginemos que queremos crear un script con sus propios sonidos, ficheros de texto o ficheros de &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=625\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abC\u00f3mo compartir scripts de AppleScript con ficheros de sonido, texto y dem\u00e1s usando paquetes de scripts\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80,152,6],"tags":[83,98,324],"class_list":["post-625","post","type-post","status-publish","format-standard","hentry","category-applescript","category-noticias","category-programacion","tag-applescript-2","tag-finder","tag-paquetes"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=625"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/625\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}