Beliebiges Skript ausführen, wenn iTunes neuen Song abspielt?

Ich möchte ein Skript ausführen, wenn iTunes einen neuen Song abspielt. Ich habe mir Automator sowie die iTunes-Bibliothek im Skripteditor angesehen, sehe aber nichts, was mir dies ermöglicht. Irgendwelche Ideen?

Antworten (1)

Sie könnten ein AppleScript verwenden, um nach Songänderungen zu suchen. Das folgende Skript wird Ihnen den Einstieg erleichtern:

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

Dieses AppleScript sucht alle 10 Sekunden nach dem Namen des aktuell spielenden Songs. Wenn der Songname von vor 10 Sekunden abweicht, wird der Satz „Song geändert“ gesprochen.

Dies wäre wahrscheinlich der beste Weg, aber wenn Sie nicht vorhaben, Songs zu überspringen, darf ich vorschlagen, dass Sie die Länge einiger abwarten, damit sie nicht so oft laufen. Ziehen Sie einfach iTunes in den Skripteditor, um zu sehen, wie Sie das bekommen.