Hallo Detlev,
also ... iTunes habe ich schon zwei oder drei Mal benutzt. Aber noch nie ein Script dafür geschrieben.
Ich musste mich daher zuerst etwas schlau machen (Wörterbuchstudium :-( und dann sachte mit Pröbeln beginnen.
Ich fand bald heraus, dass sich die Namen der Songs per Script verändern lassen. :-)
Hier schon mal ein funktionierendes Script. Der erste Dialog lässt einen eine Playlist wählen; zwei weitere Dialoge
verlangen die Eingabe der Such- und Ersetzen-Zeichen. Man kann auch mehr als ein Zeichen eintippen. Zum Beispiel,
um falsch geschriebene Namen korrigieren.
Zum Suchen/Ersetzen benötigt man die Scripting Addition "Satimage.osax". Zu finden hier: http://www.fachhefte.ch/
Auf den Link "AppleScripts" klicken und im Ordner "z_additions_os_x" die Datei "satimage_osax.sit" wählen.
---
tell application "iTunes"
set userPlaylists to name of user playlists
set curList to (choose from list userPlaylists with prompt ¬
"Eine Playlist wählen" cancel button name ¬
"Abbruch" without multiple selections allowed and empty selection allowed) as string
if curList is "false" then error number -128
set ctr to 0
set sChar to text returned of (display dialog "Such-Zeichen eingeben" default answer "")
set rChar to text returned of (display dialog "Ersatz-Zeichen eingeben" default answer "")
tell user playlist curList
set nameList to (get name of every file track)
repeat with i from 1 to count nameList
set oldName to item i of nameList
set newName to my compChars(oldName, sChar, rChar)
if newName is not oldName then
set name of file track i to newName
set ctr to ctr + 1
end if
end repeat
end tell
display dialog "" & ctr & " Namen geändert." buttons "OK" default button 1 with icon 1
end tell
on compChars(oldName, sChar, rChar)
set newName to change sChar into rChar in oldName
return newName
end compChars
---
Fürs erste sollte es reichen. Ich werde später versuchen, die Benutzeroberfläche zu vereinfachen, das heisst,
die Listen und die beiden Eingabefelder im gleichen Dialog anzubieten. Und dann sollte hier und dort auch noch
etwas Fehlerbehandlung eingebaut werden. Aber dazu benötige ich etwas mehr Zeit. Vielleicht übers Wochenende …
Hans Haesler <hsa@ringier.ch>
als Antwort auf: [#419291]