Fügen Sie den aktuell wiedergegebenen Song mit AppleScript Editor zu Apple Music hinzu

Ich versuche, ein AppleScript zu erstellen, das automatisch den aktuellen Titel, den ich auf Apple Music höre, zu meiner Bibliothek hinzufügt.

Was ich bisher getan habe, ist, die Option "Songs beim Hinzufügen zur Wiedergabeliste zur Bibliothek hinzufügen" auf "true" zu setzen und dann den folgenden AppleScript-Code unten zu verwenden:

tell application "iTunes"
    duplicate current track to playlist "New Songs"
end tell

Was passiert, ist, dass es den Song zur Playlist hinzufügt und dann automatisch aus der Playlist entfernt und nicht zu meiner Bibliothek hinzugefügt wird.

Wenn ich den Song manuell zur Playlist hinzufüge, bleibt der Titel in der Playlist und wird meiner Bibliothek hinzugefügt.

Wie bringe ich den ScriptEditor dazu, den aktuellen Track in meiner Bibliothek zu speichern?

Ich bin kein persönlicher Apple Music-Benutzer, habe also keine Erfahrung damit, aber ich würde gerne helfen! Nur zur Verdeutlichung, wenn Sie sagen: "... fügt den aktuellen Titel, den ich auf Apple Music höre, zu meiner Bibliothek hinzu." meinst du, dass es den Song zum Offline-Hören in deiner Bibliothek speichert oder dass es einfach zu einer Wiedergabeliste hinzugefügt wird?
@Tom Ich meine, ich möchte, dass das Lied in meiner Bibliothek gespeichert wird. Ich möchte nicht, dass es offline gespeichert wird.
Ich habe gerade das von Ihnen eingefügte Skript ausprobiert und es funktioniert perfekt, aber nur mit meiner lokalen iTunes-Mediathek. Ich entschuldige mich dafür, dass ich keine weitere Hilfe leisten kann, da ich persönlich kein Apple Music habe und daher das Problem nicht reproduzieren und versuchen kann, eine Lösung zu finden. Besten Wünsche! PS Nur eine Vermutung, aber vielleicht hat das Problem etwas damit zu tun, dass Apple nicht will, dass seine Medien von Skripten gesteuert werden, oder es könnte einfach ein Fehler sein ...
Schauen Sie mal hier hints.macworld.com/article.php?story=20090709085206245 vielleicht können Sie dieses Skript an Ihre Bedürfnisse anpassen

Antworten (4)

Ich hatte heute die gleiche Frage. Ich kenne AppleScript nicht (zum ersten Mal habe ich es verwendet, um dies zu erstellen), daher ist dieser Code wahrscheinlich syntaktisch sehr ineffizient, wollte aber nicht riskieren, ihn durch Refactoring zu beschädigen.

Es stellt sich heraus, dass die einzige Möglichkeit, in jedem Szenario mit AppleScript einen Song zur Bibliothek hinzuzufügen, darin besteht, die Anwendung zu zwingen, in den Miniplayer zu wechseln und dann die Schaltfläche „Zur Bibliothek hinzufügen“ in der Menüleiste zu verwenden. Sie können den Mini-Player-Teil des Skripts entfernen, wenn Sie dieses Skript nicht benötigen, um mit Songs zu arbeiten, die nicht in Wiedergabelisten enthalten sind (z. B. ein Radio).

tell application "System Events"
    set frontmostApplicationName to name of 1st process whose frontmost is true
end tell

tell application "System Events"
    tell process "iTunes"
        try
            tell menu bar 1
                tell menu bar item "View"
                    tell menu "View"
                        click menu item "Exit Full Screen"
                    end tell
                end tell
            end tell
        end try
    end tell
    tell process "iTunes"
        set frontmost to true
        try
            tell menu bar 1
                tell menu bar item "Window"
                    tell menu "Window"
                        click menu item "Switch to Mini Player"
                    end tell
                end tell
            end tell
        end try
    end tell
    tell process "iTunes"
        try
            tell menu bar 1
                tell menu bar item "Song"
                    tell menu "Song"
                        click menu item "Add to Library"
                    end tell
                end tell
            end tell
        end try
    end tell
    delay 0.5
    tell process "iTunes"
        set frontmost to true
        try
            tell menu bar 1
                tell menu bar item "Window"
                    tell menu "Window"
                        click menu item "Switch from Mini Player"
                    end tell
                end tell
            end tell
        end try
    end tell
end tell

tell application "iTunes"
    next track -- if you listen to another person's playlist and add the current playing track, sometimes apple music will completely stop playback (bug), so we have to skip song to avoid this
end tell

tell application frontmostApplicationName
    activate
end tell
Das hat bei mir leider nicht funktioniert. Es wurde zum nächsten Lied gesprungen, ohne es meiner Bibliothek hinzuzufügen.

das scheint ganz gut zu funktionieren:

tell application "iTunes"
    duplicate current track to source "Library"
end tell
Für mich funktioniert es nicht immer, also habe ich Mingweis Antwort in einen Versuch gepackt und im Fehlerfall das Skript von @ jackgmarch aus der anderen Antwort ausgeführt ... dies scheint 100% zuverlässig zu sein, mit dem Vorteil, dass es nicht immer sein muss Lied überspringen (wie erforderlich, um einen Fehler in der Antwort mit den meisten Stimmen oben zu umgehen).

Das funktioniert für mich - liebt das Lied und fügt es der Bibliothek hinzu (ich habe eine intelligente Liste, um geliebte Lieder anzuzeigen, aber sie erscheinen nur, wenn das Lied in der Bibliothek ist).

tell application "Music"
    if current track is not loved then
        set loved of current track to not loved of current track
        duplicate current track to source "Library"
    end if
end tell

Applescript ist das Windows RegEdit von OS X.

Sie sollten ihm mit einer Schrotflinte den Kopf wegblasen und etwas schreiben, das nicht absolut schrecklich zu benutzen ist.

Und ich bewundere absolut, wie Apple einen unausgegorenen Zugriff auf ihre eigene API innerhalb ihrer eigenen Skriptsprache anbietet, es ist bestenfalls beschämend.

Folgendes habe ich getan und es funktioniert NOCH nicht:

tell application "Music"
    duplicate current track to source "Library"
    delay 20
    duplicate current track to playlist "Female 80s"
end tell

Bei Musik ist ein Fehler aufgetreten: Kann nur abonnierte Titel in die Bibliotheksquelle duplizieren.

Aber wenn Sie das verdammte Lied ziehen (das jetzt Teil der Bibliothek ist), können Sie es tatsächlich zur Wiedergabeliste hinzufügen, also ist es etwas an ihrem Ende.