Ist es möglich, die Eingabe von Sternbewertungen und Wiedergabezahlen für identische/doppelte Titel in iTunes zu automatisieren?

Ich bin dabei, meine MP3s mit geringer Qualität <192 kpbs in MP3- oder ALAC-Dateien mit 320 kpbs in iTunes zu ersetzen.

Im Moment besteht meine Routine darin, die neuen HQ-Dateien in iTunes zu importieren, in den Modus "Doppelte Elemente anzeigen" zu wechseln, nach Songnamen zu sortieren, die Sternbewertungen manuell zu ersetzen und Dougs Applescripts zu verwenden, um den neuen Play Count zu den neuen Songs hinzuzufügen.

Hat jemand eine bessere und schnellere Möglichkeit, dies zu tun? Ich habe eine große Bibliothek und es ist wirklich umständlich, Bewertungen und Wiedergabezähler für denselben Song, aber in höherer Qualität, manuell zu ersetzen. Ich habe Dougs Seite durchsucht, kann aber nichts wie das finden, was ich beschreibe.

Danke

Antworten (1)

Hier ist mein kleines Skript, um das zu tun, wonach Sie fragen. Getestet auf ein paar Tracks auf meinem iTunes 11 unter Snow Leopard und es läuft gut.

tell application "iTunes"

    set myMusicLib to some playlist whose special kind is Music
    log "Debug: Count of library items: " & (count of tracks of myMusicLib)

    set myNewTracks to (get tracks in myMusicLib whose bit rate is greater than 256)
    log "Debug: Count hi bit rate tracks: " & (count of myNewTracks)

    repeat with newTrack in myNewTracks

        -- Try to match it with a low bit rate track
        set trackName to name of newTrack
        set albumName to album of newTrack

        --log "Debug: Hi Rate Track Name: " & (get name of newTrack)
        --log "Debug: Rate: " & (get bit rate of newTrack)

        set oldTracks to {}
        try
            set oldTracks to (get tracks in myMusicLib ¬
                whose bit rate is less than 256 ¬
                and name is trackName ¬
                and album is albumName)
        end try

        if (count of oldTracks) is 1 then
            log "Debug: Dup Name: " & trackName
            log "Debug: BitRate: " & (get bit rate of item 1 of oldTracks)

            set oldPlayCount to (get played count of item 1 of oldTracks)
            set played count of newTrack to oldPlayCount
            log "Debug: Reset Play Count to: " & oldPlayCount

            set oldRating to (get rating of item 1 of oldTracks)
            set rating of newTrack to oldRating
            log "Debug: Reset rating to: " & oldRating
        end if
        if (count of oldTracks) is greater than 1 then
            log "ERROR: Found more than 1 duplicate. Not doing anything."
        end if
    end repeat
end tell

BEARBEITEN:

Sie können sich einen Eindruck davon verschaffen, was vor sich geht, indem Sie sich die Ausgabe ansehen, die an den Bereich „Ereignisse“ gesendet wird. Führen Sie es einfach im Applescript-Editor aus und klicken Sie auf die Schaltflächen „Ereignisse und Antworten“, um die Markierung aufzuheben.

Ausgabe des Skripts


EDIT2:

Um das Skript einzuschränken, können Sie die Zeile ändern

set myNewTracks to (get tracks in myMusicLib whose bit rate is greater than 256)

Zu

set myNewTracks to (get tracks in myMusicLib whose bit rate is greater than 256 and Album is "My Album Name")

Oh Gott, vielen Dank, dass du das für mich tust! Soll ich einfach einer Anleitung wie dieser folgen: maclife.com/article/columns/… , um Ihr Skript auszuführen? (Ich habe keine Erfahrung mit Skripten, danke)
Gern geschehen. Sie können den Anweisungen dort folgen und es sollte gut laufen, aber es wird nichts angezeigt. Wenn Sie innerhalb des Applescript-Editors ausführen, werden einige Informationen angezeigt, wie in der Bearbeitung meiner Antwort oben gezeigt.
Hallo nochmal, könnte ich dieses Skript einfach nur auf eine Auswahl von Songs in meiner Bibliothek anwenden? Ich habe Angst, wenn ich auf Ausführen drücke, könnte es etwas anderes tun und meine Bibliothek verwüsten. Danke
Sicher, ich verstehe. Ich habe meine Antwort bearbeitet, um anzuzeigen, welche Zeilen geändert werden müssen, um die Änderungen auf ein einzelnes Album zu beschränken.