Aquí está mi pequeño script para hacer lo que usted está pidiendo. Probado en un par de canciones en mi iTunes 11 bajo Snow Leopard y funciona muy 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:
Usted puede obtener una idea de lo que está pasando mirando la salida envía al panel Eventos. Sólo se ejecute dentro del Editor Applescript y haga clic en los Eventos Y las Respuestas de los botones a deshabilita la acción de ellos.
EDIT2:
Para limitar la secuencia de comandos se puede 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")