No tengo Snow Leopard , así 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 diseñó 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 Spotlight
Automator con una acción Run AppleScript
:
ElcódigocontenidoenRunAppleScript
eselsiguiente:
useframework"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á las pistas con el nombre de archivo exacto proporcionado por la variable trackName
en el flujo de trabajo. Por lo tanto, si hubiera establecido trackName
en mi ejecución de prueba en "Everywhere I Go"
(es decir, sin el "04"
anterior), la búsqueda habría devuelto un resultado vacío.
Además, ten en cuenta que puedes tener algunas pistas que tienen 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.