¿Cómo puedo activar sucesivamente un AppleScript muy rápidamente?

Fondo

Para ajustar el volumen fino, uso el siguiente AppleScript:

try do shell script "killall afplay" end try set currentVolume to output volume of (get volume settings) set volume output volume (currentVolume + 2) -- play volume changing sound at new volume do shell script "afplay /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff" 

Esto boostá el volumen en un 2% y reproducirá el nuevo volumen una vez como siempre.

  • ¿Puede iTunes Match reconocer canciones grabadas de fonts analógicas (input de línea, cassette, LP de vinilo o radio FM), o solo audio de CD extraído digitalmente?
  • No hay sonido MacBook Pro 2016 13 "touchbar macOS Sierra 10.12.2
  • ¿Cómo puedo usar 2 auriculares USB en una Macbook?
  • ¿Cómo puedo enfocar una window específica con applescript sin activar y traer otras windows al frente?
  • ¿Puede sonar apagado cada vez que apago?
  • ¿Puedo configurar el volumen de mi iPhone más bajo que el control deslizante?
  • Problema

    Usar este script tiene desventajas:

    • Cuando disparo el guión rápidamente varias veces seguidas, no responde tan rápido como lo haría el cambio de volumen "normal".
    • Para cada ejecución, el sonido del volumen se reproduce en toda su longitud.

    Parece que mi problema se debe a una limitación de cómo se activan los scripts . Por ejemplo, cuando uso FastScript, no ejecutará el script nuevamente antes de que haya terminado. Lo mismo ocurre con Quicksilver.

    Sin embargo, cuando asigno el "script de menor volumen" a Quicksilver y el "script de volumen más alto" a FastScripts, puedo disparar ambos scripts muy rápido uno detrás del otro, así que: el script está bien. Creo que mi problema se debe a cómo se activan los scripts.

    Pregunta

    ¿Cómo puedo activar sucesivamente un script muy rápido?

  • NoScript para Safari
  • ¿Cómo puedo solucionar problemas de audio a través de Thunderbolt HDMI que se conecta a HDTV?
  • convertir muelles de 30 pines para dispositivos de iluminación
  • Mayor consumo de CPU kernel_task al reproducir audio a través de Thunderbolt Display
  • ¿Es posible get salida de audio digital de una MacBook Air (2011), como en otras Mac?
  • ¿Puede MBP 13 mediados de 2012 enviar audio y video a Thunderbolt a HDMI?
  • 2 Solutions collect form web for “¿Cómo puedo activar sucesivamente un AppleScript muy rápidamente?”

    Agregar > /dev/null 2>&1 & al final del command do shell script debería funcionar. Esto networkingirige el stdout y stderr del command do shell script a /dev/null y ejecuta el script de shell en segundo plano, lo que significa que AppleScript ya no necesita esperar a que el command devuelva stdout o stderr antes de que el script AppleScript pueda finalizar. Eso significa que termina y se puede ejecutar de nuevo mucho más rápido.

    Tampoco debería necesitar el manejador de bashs al principio. El siguiente script modificado debería funcionar:

     set currentVolume to output volume of (get volume settings) set volume output volume (currentVolume + 2) -- play volume changing sound at new volume do shell script "afplay /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff > /dev/null 2>&1 &" 

    Recibí este consejo de MacScripter (un recurso excelente para AppleScripting) en una publicación sobre la ejecución de varias instancias de un script de shell.

    ¿Qué le afplay agregar un ampersand al final de la línea de afplay para que la parte del guión se afplay en segundo plano? Me gusta esto

     afplay /System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff & 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).