¿Es posible automatizar la clasificación de estrellas y el número de reproducciones para canciones idénticas/duplicadas en iTunes?

Estoy en el proceso de reemplazar mis MP3 de baja calidad <192 kpbs en archivos MP3 o ALAC de 320 kpbs en iTunes.

En este momento, mi rutina es importar los nuevos archivos HQ a iTunes, ir al modo "Mostrar elementos duplicados", ordenarlos según el nombre de la canción, reemplazar manualmente las calificaciones de estrellas y usar Applescripts de Doug para agregar el nuevo número de reproducciones a las nuevas canciones.

¿Alguien tiene una forma mejor y más rápida de hacer esto? Tengo una gran biblioteca y es realmente engorroso reemplazar manualmente las calificaciones y el número de reproducciones de la misma canción pero en mayor calidad. Busqué en la página de Doug pero no puedo encontrar nada como lo que estoy describiendo.

Gracias

Respuestas (1)

Aquí está mi pequeño guión para hacer lo que estás pidiendo. Probado en un par de pistas en mi iTunes 11 bajo Snow Leopard y funciona bien.

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

EDITAR:

Puede echar un vistazo a lo que está pasando mirando el resultado que envía al panel Eventos. Simplemente ejecútelo dentro del Editor de Applescript y haga clic en los botones Eventos y respuestas para desmarcarlos.

Salida del guión


EDIT2:

Para limitar el script puedes cambiar la línea

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

a

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

¡Dios mío, muchas gracias por hacer esto por mí! ¿Debería simplemente seguir una guía como esta: maclife.com/article/columns/… para ejecutar su script? (No tengo experiencia en guiones, gracias)
De nada. Puede seguir las instrucciones allí y debería funcionar bien, pero no se mostrará nada. Si ejecuta desde dentro del Editor de Applescript, verá información como la que se muestra en la edición de mi respuesta anterior.
Hola de nuevo, ¿puedo aplicar este script solo a una selección de canciones en mi biblioteca? Tengo miedo de que si presiono ejecutar podría hacer algo más y causar estragos en mi biblioteca. Gracias
Claro, entiendo. Edité mi respuesta para mostrar qué líneas cambiar para limitar los cambios a un solo álbum.