¿Ejecutar un script arbitrario cuando iTunes reproduce una nueva canción?

Quiero ejecutar un script cuando iTunes reproduce una nueva canción. He buscado en Automator, así como en la Biblioteca de iTunes en el Editor de secuencias de comandos, pero no veo nada que me permita hacer esto. ¿Algunas ideas?

Respuestas (1)

Podría usar un AppleScript para ver los cambios de canción. El siguiente script lo ayudará a comenzar:

tell application "System Events"

    set previousSong to ""

    repeat
        if exists process "iTunes" then
            tell application "iTunes"
                if player state is playing then
                    set currentSong to name of current track
                    if currentSong is not previousSong then
                        set previousSong to currentSong

                        -- Execute your script, command, or application here                        
                        say "Song changed"

                    end if

                end if
            end tell

            -- Wait some seconds
            delay 10
        else
            exit repeat
        end if
    end repeat

end tell

Este AppleScript comprueba cada 10 segundos el nombre de la canción que se está reproduciendo actualmente. Si el nombre de la canción es diferente al de hace 10 segundos, se pronuncia la frase "Canción cambiada".

Esta es probablemente la mejor manera, sin embargo, si no tiene la intención de omitir canciones, le sugiero que espere la duración de algunas, para que no se ejecute con tanta frecuencia. Simplemente arrastre iTunes al Editor de secuencias de comandos para ver cómo obtenerlo.