Ich suche nach einer Möglichkeit, eine Tastenkombination zuzuweisen, um alle Titel aus der Up Next-Warteschlange von iTunes zu löschen. Kennt jemand eine Möglichkeit, dies zu tun?
Mit Mac OS X Mountain Lion 10.8.4
Das folgende Skript funktioniert auf OSX < 10.7.
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
click (first button of scroll area 1 of window "iTunes" whose description is "up next")
delay 1
click button "Clear" of UI element 1 of row 1 of table 1 of scroll area 1 of window 1
end tell
end tell
Up next
das es auf 10.6 und darunter nicht verfügbar ist.System Events got an error: Can’t get table 1 of scroll area 1 of window 1 of process "iTunes". Invalid index.
Also hier ist eine vollständige Antwort:
Für iTunes 11 & OS X 10.6 (iTunes 11 erfordert mindestens 10.6.8):
Für OS X 10.7 und höher:
Für das Up Next -Menü verwendet iTunes 11 ein NSPopover , das in OS X v10.7 und höher verfügbar ist. Daher unterscheidet sich die Hierarchie der UI-Elemente vom obigen Fall.
In iTunes 11.0.5 gibt es einen Fehler, bei dem die Schaltfläche, die das Popover öffnet, keine Kinder hat. Daher ist es NICHT möglich, mit Applescript auf den Inhalt des Popovers zuzugreifen, um auf die Schaltfläche „Löschen“ zu klicken.
Ich habe einen Weg gefunden, dies unter Mac OS X Mountain Lion 10.8 zu tun. Es verwendet cliclick
von http://www.bluem.net/en/mac/clicklick/ , um einen Mausklick an der Stelle der Schaltfläche „Löschen“ zu simulieren. Das Skript vorausgesetzt, dass cliclick
es in ist/usr/local/bin
Dies funktioniert bei mir auf einem 15-Zoll-Macbook Pro Retina mit 1440 x 900 @ 2x
Um das Skript zu verwenden, verwenden Sie entweder die Anweisungen von Matthieu Riegler für eine globale Verknüpfung oder verwenden Sie es von der Befehlszeile aus
Der Code:
#!/usr/bin/env osascript
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
click (first button of scroll area 1 of window "iTunes" whose description is "up next")
delay 1
set upNextButton to button 4 of scroll area 1 of window 1
set pos to upNextButton's position
-- 160, 54 the number of pixels away the clear button is
set clearX to (item 1 of pos) + 160
set clearY to (item 2 of pos) + 54
set cmd to "/usr/local/bin/cliclick -- " & {clearX, " ", clearY}
do shell script cmd
end tell
end tell
auch ein Skript für den Miniplayer geht davon aus, dass die Up-Next-Liste geschlossen ist
#!/usr/bin/env osascript
activate application "iTunes"
tell application "System Events"
tell process "iTunes"
set upNextButton to (first button of window "MiniPlayer" whose description is "show up next")
click upNextButton
delay 1
set pos to upNextButton's position
-- 19, 48 the number of pixels away the clear button is
set clearX to (item 1 of pos) + 19
set clearY to (item 2 of pos) + 45
set cmd to "/usr/local/bin/cliclick -- " & {clearX, " ", clearY}
do shell script cmd
delay 0.1
click upNextButton
end tell
end tell
Hier ist meine Lösung für iTunes 12.9 auf macOS Mojave 10.14. Meine Lösung wartet einfach auf einen Trigger-Tastendruck, wenn iTunes aktiv ist, und löst dann eine Folge anderer Tastenanschläge aus, die die Schaltfläche „Löschen“ nur mit der Tastatur drücken.
Die folgenden Anweisungen richten dies mit der kostenpflichtigen App Keyboard Maestro ein, aber Sie sollten in der Lage sein, dies mit jeder anderen App zu replizieren, die einen Tastendruck abhören und dann andere Tastenanschläge auslösen kann. Quicksilver , Automator oder AppleScript könnten in alternativen Lösungen verwendet werden.
Erstellen Sie in Keyboard Maestro zunächst einen Ordner „iTunes-spezifische Zuordnung“ mit dieser Konfiguration:
Verfügbar in diesen Anwendungen:
- Itunes
Fügen Sie dann ein aufgerufenes Makro hinzu Clear “Up Next”
und legen Sie einen Trigger-Hotkey fest:
Ausgelöst durch eines der folgenden (wenn iTunes vorne ist):
- Dieser Hotkey:
- ⌘'wird gedrückt
Führt die folgenden Aktionen aus:
Klicken Sie auf „+“, um eine Aktion hinzuzufügen, suchen Sie nach der Aktion „Tastendruck eingeben“ und fügen Sie der Liste der Aktionen fünf Kopien davon hinzu. Konfigurieren Sie sie so, dass sie diese Tastenanschläge der Reihe nach eingeben:
Nachdem Sie dies eingerichtet haben, können Sie bei im Hintergrund geöffnetem Keyboard Maestro in ⌘'iTunes drücken, um die Warteschlange „Als Nächstes“ zu löschen.
Eine Einschränkung dieser Lösung: Wenn es keine Tracks in der Up Next-Warteschlange gibt, wird diese Tastenfolge stattdessen den aktuellen Track anhalten.
Wenn diese Tastenfolge bei Ihnen nicht funktioniert, kann dies daran liegen, dass sich die iTunes-Benutzeroberfläche geändert hat oder dass das Betriebssystem zu langsam auf F7 reagiert und das Verhalten von Taberst nach ⇧Tab dem Drücken geändert hat. Sie können das erste Problem beheben, indem Sie die gesendeten Tastenanschläge ändern, und Sie können das zweite Problem beheben, indem Sie Pausenaktionen zwischen den Tastenanschlägen hinzufügen.
tubedogg
Bilal Syed Hussein
Bilal Syed Hussein