Legen Sie eine Tastenkombination fest, um alle Titel aus der Warteschlange „Als Nächstes“ in iTunes zu löschen

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

Suchen Sie nach einer Tastenkombination, um ausgewählte Titel zu „Als Nächstes“ hinzuzufügen oder die Liste „Als Nächstes“ anzuzeigen? Das Anzeigen hat bereits eine Verknüpfung - Option + Befehl + U.
Ich möchte eine Verknüpfung, um alle Titel aus der nächsten Warteschlange zu löschen
Ich habe stackoverflow.com/questions/13659626/… gefunden, das GUI-Skripting verwendet, um einen Track zum nächsten hinzuzufügen. Aber es war leider nicht nützlich, um die nächste Warteschlange mit Applescript zu löschen

Antworten (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
Gerade ausprobiert: Sehr fehlerhaft. Manchmal ist die Up Next-Warteschlange Taste 4, manchmal Taste 2.
Kann innerhalb eines Try-Blocks behoben werden
Funktioniert immer noch nicht. (0SX 10.8.4 / mit iTunes 11.0.5)
Funktioniert in (0SX 10.6.8 /w iTunes 11.0.5)
Ich habe herausgefunden, warum es nicht funktioniert: iTunes auf OSX >= 10.7 verwendet ein NSPopover, für Up nextdas es auf 10.6 und darunter nicht verfügbar ist.
Gute Arbeit alle - könnte jemand die Frage bearbeiten, um eine iTunes- und OS X-Version anzugeben, da es einen Unterschied gibt, der sich auf die Antwort auswirkt
Gute Arbeit, aber unter 10.8.4 schlägt es mit dem Fehler fehl, nachdem auf die Schaltfläche „Nach oben“ geklickt wurde: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):

  • Erstellen Sie einen neuen Automator-Dienst
  • Dienst auswählen Erhält keine Eingabe in iTunes
  • Fügen Sie eine Aktion „AppleScript ausführen“ hinzu
  • Kopieren Sie den von adayzdone angegebenen Code . (Möglicherweise müssen Sie "up next" entsprechend der Sprache Ihres Systems anpassen. Auf meinem französischen OS X ist es beispielsweise "suivant")
  • Speichern Sie den Dienst.
  • Gehen Sie zu Systemeinstellungen > Tastatur > Tastaturkürzel
  • Fügen Sie unter Dienste Ihrem neuen Dienst eine Tastenkombination hinzu

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, auf die Schaltfläche „Löschen“ zu klicken, indem ich einen Mausklick simuliert, siehe apple.stackexchange.com/a/101158/34352

Ich habe einen Weg gefunden, dies unter Mac OS X Mountain Lion 10.8 zu tun. Es verwendet cliclickvon http://www.bluem.net/en/mac/clicklick/ , um einen Mausklick an der Stelle der Schaltfläche „Löschen“ zu simulieren. Das Skript vorausgesetzt, dass cliclickes 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:

  1. U(Als Nächstes anzeigen)
  2. F7(Eine betriebssystemweite Verknüpfung, die umschaltet, wie TabSie durch die Steuerelemente wechseln. Weitere Informationen finden Sie unter „Vollständiger Tastaturzugriff“ unten in den Systemeinstellungen > Tastatur > Verknüpfungen. Wenn Ihre normale Einstellung bereits „Alle Steuerelemente“ ist, benötigen Sie dies nicht Schritt.)
  3. Tab(Fokussieren Sie die Clear-Taste)
  4. Space(Schaltfläche Löschen aktivieren)
  5. F7(Schalten Sie den vollständigen Tastaturzugriff auf den Zustand vor Schritt 2 zurück)

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.

Ich habe jetzt keine Zeit, meine Antwort zu bearbeiten, aber ich habe diese Lösung verbessert, um robuster zu sein, sodass Sie das Makro sicher auslösen können, auch wenn sich keine Tracks in Up Next befinden. Der Schlüssel ist, die Funktion „Wenn der Bildschirm ein Bild enthält“ von Keyboard Maestro zu verwenden. Stellen Sie nach dem Öffnen des Up Next-Popups sicher, dass es tatsächlich auf dem Bildschirm sichtbar ist. Verwenden Sie dann eine If-Anweisung, um zu sehen, ob das Popup bereits „Keine bevorstehenden Songs“ anzeigt, und senden Sie einfach einen Escape-Tastendruck, um das Popup zu schließen, wenn dies der Fall ist.