Wie erstelle ich in iTunes 10 eine Genius-Wiedergabeliste aus einem Skript?

1028
Brant Bobby

Ich möchte ein Skript erstellen, das eine neue Genius-Wiedergabeliste basierend auf dem aktuell wiedergegebenen Titel startet, der in LaunchBar verwendet werden soll. Leider bietet iTunes keine mit Genius zusammenhängenden Funktionen für AppleScript an, was die Sache sehr schwierig macht.

Ich habe im Web nach verschiedenen Lösungen gesucht, die das manuelle Finden der Schaltfläche in der iTunes-Benutzeroberfläche und das Aufrufen eines Klickereignisses ( Beispiel ) betreffen. Diese funktionieren jedoch nicht in iTunes 10, und mein AppleScript-fu ist bei weitem nicht stark genug, um ein Debugging durchzuführen Sie.

Gibt es eine Möglichkeit, eine Genius-Wiedergabeliste außerhalb der iTunes-Anwendung zu starten? Andere Methoden wie Automator-Workflows oder Shell-Skripte sind ebenfalls völlig akzeptabel.

2

1 Antwort auf die Frage

3
ghoppe

Nach einigen Experimenten glaube ich, dass ich Ihre Lösung gefunden habe.

tell application "System Events" -- click the genius button on the currently playing track at top click button 14 of window "iTunes" of application process "iTunes" end tell 

Mit mehr Experimenten entdeckte ich Folgendes:

  • Die Tasten 1-3 sind die "Stoplights" oben links
  • Die Schaltflächen 4-7 sind die Schaltflächen unten links, Wiedergabeliste hinzufügen, Shuffle, Wiederholen, Bild schließen.
  • Button 8 scheint der geniale Button in der rechten unteren Ecke des Bildschirms zu sein (close!) Und funktioniert für den aktuell ausgewählten Track. Ich nehme an, Sie wollen den gerade gespielten Titel genial machen…
  • Taste 9 ist der rechte Fensterbereich.
  • Die Tasten 10-12 sind Rücklauf, Wiedergabe / Pause, Vorlauf.
  • Taste 13 ist der Equalizer.
  • Taste 14 ist die geniale Taste! (Die, die du willst)
  • Taste 15 ist Track auswählen (und gehen).
  • Die Tasten 16-19 sind die verschiedenen "Ansicht" -Tasten
  • Taste 20 ist Nullvolumen.
  • Taste 21 gibt die maximale Lautstärke an.
  • Taste 22 ist fehlerhaft!

Das ist es. Vielen Dank, dass Sie diese Frage gestellt haben. Diese Erkenntnis wird bei verschiedenen Skriptideen hilfreich sein. :)

Bearbeiten:

OK, ein bisschen mehr in Wörterbücher zu graben, hat mir diese Idee gebracht:

tell application "System Events" set button_count to count every button of window "iTunes" of application process "iTunes" repeat with i from 1 to button_count set button_description to accessibility description of button i of window "iTunes" of application process "iTunes" if button_description is "genius" then set x to i end if end repeat if enabled of button x of window "iTunes" of application process "iTunes" then click button x of window "iTunes" of application process "iTunes" end if end tell 

Führen Sie alle Schaltflächen des iTunes-Fensters durch und überprüfen Sie die Beschreibung der Eingabehilfen. Die genialen Knöpfe haben, was nicht überraschend ist, eine Beschreibung des "Genies".

In einigen Ansichten gibt es zwei geniale Tasten, eine für den gerade gespielten Song und eine für den ausgewählten Song. Das Skript verwendet immer die neueste der beiden Schaltflächen. Dies ist der gerade gespielte Song. Dieses AppleScript überprüft also, ob die Schaltfläche "Genius" aktiviert ist, und klickt darauf.

Wenn gerade kein Song abgespielt wird, aber ein ausgewählter Song, dann gibt es einen Genius-Button, der aktiviert und angeklickt wird. Wenn keine Songs abgespielt oder ausgewählt werden, wird der Genius-Button nicht angeklickt.

Ich denke, das ist die Funktionalität, die Sie wollen! Lass es mich wissen, wenn es für dich funktioniert.

Nizza finden. Es scheint jedoch so, als würden sich die Tastenzuweisungen ändern, je nachdem welche Art von Wiedergabeliste gerade aktiv ist. In den Wiedergabelisten und in der Genius-Mixes-Ansicht steht der Genius-Button an # 16, in der DJ- oder Genius-Ansicht in iTunes auf # 18 und in einer gespeicherten Genius-Playlist auf # 17. (Auch verschiedene andere Werte in der Store-Ansicht, Bücher, Podcasts usw. ... Ich habe nach den ersten paar Fällen aufgehört, nach Sonderfällen zu suchen.) Ich glaube nicht, dass es eine Möglichkeit gibt, dies zu berücksichtigen, zumindest für die allgemeineren Fälle, die ich aufgelistet habe? Brant Bobby vor 14 Jahren 0
@Brant hmm… eigentlich gibt es das. Ich werde meine Antwort mit weiteren Informationen aktualisieren. ghoppe vor 14 Jahren 0
Das zweite Skript funktioniert hervorragend. Vielen Dank! Brant Bobby vor 14 Jahren 0
Ich erhalte eine Fehlermeldung, wenn ich versuche, das Skript in iTunes zu aktivieren: "Fenster" iTunes "von <kann nicht abgerufen werden> "iTunes" der Anwendung "System Events". Wenn ich das Skript aus dem Skripteditor heraus laufe, funktioniert es gut. Wie geht's? vor 13 Jahren 0