Reprodução seletiva / pausa VLC e iTunes com AppleScript

3

Eu tenho 5 botões de mouse e atualmente estou usando um botão para reproduzir / pausar a música no iTunes (com o aplicativo USB Overdrive). Mas às vezes eu estou usando o VLC (e eu não quero pegar minha biblioteca de músicas com muito s * it), e como eu posso atribuir o AppleScript aos botões do mouse no USB Overdrive, eu quero escrever um script que verifique o programa em execução atualmente. Se o iTunes, então ele vai dizer play / pause para o iTunes, mas quando o VLC em execução, ele vai dizer para reproduzir / pausar para o VLC.

Funciona apenas no Automator, mas quando eu o salvo como script ou aplicativo e o lanço no Finder ele estraga tudo. Se o VLC não estiver funcionando, ele será aberto. :( Por quê? E por que funciona corretamente no Automator?

Funciona agora:

on run {input, parameters}
    idle
    return input
end run

on idle
    set x to isAppLoaded("VLC")
    if x then
        tell application "VLC" to play
    end if
    set x to isAppLoaded("iTunes")
    if x then
        tell application "iTunes" to playpause
    end if
end idle

on isAppLoaded(app_name)
    tell application "System Events"
        set app_list to every application process whose name is app_name
        if the (count of app_list) > 0 then
            set x to true
        else
            set x to false
        end if
    end tell
    return x
end isAppLoaded

Obrigado! miqlas

    
por miqlas 08.05.2011 / 11:18

1 resposta

2

Funciona para mim no Editor AppleScript como o seguinte, que você pode usar para salvar como Script (executar via menu AppleScript) ou Aplicativo:

on isAppLoaded(app_name)
    tell application "System Events" to set app_list to every «class pcap» whose name is app_name
    return ((count of app_list) > 0)
end isAppLoaded

if isAppLoaded("VLC") then tell application "VLC" to play
if isAppLoaded("iTunes") then tell application "iTunes" to playpause

O VLC não inicia se já estiver em execução (ele consulta um arquivo se nenhum estiver carregado). Testado em 10.6.7.

    
por 08.05.2011 / 13:58