Ich habe einen Workflow, der den Titelnamen eines einzelnen Titels in meinem MP3-Player abruft und in einer Variablen speichert. Ich verwende dies dann in der Spotlight-Aktion, um diesen Titel in meiner iTunes-Mediathek zu finden, aber die Spotlight-Aktion liefert mehrere Ergebnisse, wenn ich nur den genauen Titel haben möchte, nicht alle Titel, die den Namen enthalten.
Ich brauche einen Weg oder ein Skript, um diese Aktion zu ersetzen. Alle Suchen geben Terminal-Befehle aus, die ich nicht verstehe oder die ich nicht mit Automator verwenden kann.
Hier ist ein Applescript, das ich gefunden habe, das funktioniert, aber wirklich sehr langsam ist, es bringt den Finder bei jeder Schleife zum Strandball. Gibt es eine Möglichkeit, dies zu beschleunigen, meine Bibliothek hat über 10.000 Titel? danke https://www.dropbox.com/s/o14eb19b2459vdo/by%20default%202018-07-19%20at%20Thursday%2C%2019%20Jul%20%2017.55.18.PNG?dl=0
Ich habe kein Snow Leopard , daher kann ich nur eingeschränkt testen, ob es für Ihr System geeignet ist. Bitte beachten Sie daher, dass die folgende Lösung entwickelt und getestet wurde:
Systeminfo: AppleScript-Version : „2.7“, Systemversion : „10.13.5“
Nachdem dies gesagt wurde, sehe ich jetzt Grund, dass dies bei El Capitan nicht funktionieren sollte . Es könnte auf Snow Leopard funktionieren , aber ich bin mir weniger sicher.
Meine vorgeschlagene Lösung besteht darin, Ihre Automator- Aktion durch eine Aktion zu ersetzen :Spotlight
Run AppleScript
Der darin enthaltene Code Run AppleScript
lautet wie folgt:
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
Dadurch werden Tracks mit dem genauen Dateinamen zurückgegeben, der von der trackName
Variablen im Workflow bereitgestellt wird. Hätte ich also trackName
in meinem Testlauf auf "Everywhere I Go"
(dh ohne das vorangestellte "04"
) gesetzt, hätte die Suche ein leeres Ergebnis zurückgegeben.
Denken Sie auch daran, dass Sie möglicherweise einige Titel mit identischen Dateinamen aus verschiedenen Ordnern/Alben haben. Wenn es zwei Dateien in verschiedenen Ordnern gibt, die beide den Namen haben "01 Song.mp3"
, werden beide Dateien bei der Suche zurückgegeben.
CJK
CJK
Benutzer2033505