Tengo un flujo de trabajo que obtiene el nombre de la pista de una sola pista en mi reproductor de mp3 y lo almacena en una variable. Luego uso esto en la acción Spotlight para encontrar esa pista en mi biblioteca de iTunes, pero la acción Spotlight da múltiples resultados cuando solo quiero la pista exacta, no todas las pistas que contienen el nombre.
Necesito alguna forma o un script para reemplazar esta acción. Todas las búsquedas dan comandos de Terminal que no entiendo o cómo usar con Automator.
Aquí hay un applescript que encontré que funciona pero es realmente muy lento, golpea el Finder en cada ciclo. ¿Hay alguna manera de acelerar esto, mi biblioteca tiene más de 10,000 pistas? gracias _
No tengo Snow Leopard , por lo que estoy limitado en lo que puedo probar como viable para su sistema. Por lo tanto, tenga en cuenta que la siguiente solución se ideó y probó utilizando lo siguiente:
Información del sistema: versión de AppleScript : "2.7", versión del sistema : "10.13.5"
Dicho esto, ahora veo la razón por la que esto no debería funcionar en El Capitán . Podría funcionar en Snow Leopard , pero estoy menos seguro.
Mi solución propuesta es reemplazar su acción Automator con una acción:Spotlight
Run AppleScript
El código contenido en el Run AppleScript
es el siguiente:
use framework "Foundation"
property ca : a reference to current application
on run {input, parameters}
set MusicFolder to "/Volumes/Media/Music/iTunes/iTunes Music/Music/"
set FileManager to ca's NSFileManager's defaultManager()
set MusicFiles to (FileManager's subpathsAtPath:MusicFolder)'s ¬
pathsMatchingExtensions:{"mp3", "m4a"}
set [filename] to input
set format to "SELF endswith " & ("/" & filename & ".mp3")'s quoted form & ¬
" OR SELF endswith " & ("/" & filename & ".m4a")'s quoted form
set filter to ca's NSPredicate's predicateWithFormat:format
set matches to {}
repeat with match in (MusicFiles's filteredArrayUsingPredicate:filter) #'
set end of matches to POSIX file (MusicFolder & match as text) as alias
end repeat
return matches
end run
Esto devolverá pistas con el nombre de archivo exacto proporcionado por la trackName
variable en el flujo de trabajo. Por lo tanto, si hubiera configurado trackName
mi ejecución de prueba para "Everywhere I Go"
(es decir, sin el anterior "04"
), la búsqueda habría arrojado un resultado vacío.
Además, tenga en cuenta que es posible que tenga algunas pistas con nombres de archivo idénticos de diferentes carpetas/álbumes. Si hay dos archivos en carpetas diferentes, ambos llamados "01 Song.mp3"
, ambos archivos se devolverán en la búsqueda.
CJK
CJK
usuario2033505