iTunes: Zeichen automatischen ersetzen

daspfanni2000

Aktives Mitglied
Thread Starter
Dabei seit
07.12.2005
Beiträge
937
Reaktionspunkte
17
Hallo,

ich habe hier 80 Lieder, bei denen die Leerzeichen als underscore _ dargestellt sind.

Hat jemand ne Idee, wie ich automatisch die _ durch " " ersetzen lassen kann?

Die Lieder befinden sich in iTunes und sind sonst korrekt getagt.

Vielen Dank, freue mich über Hilfe,

pfanni
 
ist das bei den dateinamen oder bei den ID3-Tags??

falls nur die dateinamen... ---> renamer4mac
 
hi.

in den tags, leider...

die dateinamen kann man auch schön via automator ändern!

leider sind die files aber in der itunes bibliothek und sind getagt:-(
 
schau dich da mal um vllt ist ja einer dabei, der das unterstützt. eventuell komsmt ud aber nicht drum rum die dateien neu in Itunes zu laden
 
Ich würds bei grad mal 80 Liedern über Informationen bearbeiten in iTunes machen, ist man im Bearbeitungsfenster kann man ja einfach immer auf das nächste Lied weiterklicken, sollte bei 80 Titeln nicht länger als 10 min dauern.
 
woa! das ist aber nicht der sinn eines computers:)
 
Hallo,

ich habe Dir einen Bestandteil meines Programms angepasst.
Im Anhang das Programm.

Funktion:

- Programm entpacken
- iTunes öffnen, und gewünschte Titel markieren
- Programm doppelklicken

Es werden alle "_" durch ein " " ersetzt.
Leider kann ich den Quelltext noch nicht preisgeben. Ich bitte um Euer Verständnis.

Viele Grüße
 
Hi Danke für dein Program.

Sei mir nicht böse, aber ich werde es nicht benutzen. Ich muss einem Program vetrauen können. Nachher löscht Du mir damit meine ganze Sammlung! Ohne Sourcen mach ich da nichts!

Ich habe selber mal ein bisschen mit Applescript hermuprobiert. Kennt sich jemand aus? Es funktioniert nicht wenn im Namen ein deutscher Umlaut vorkommt! Weiss jemand was man da machen kann?
Ansonsten tut es supi:)
Hier das Script:
Code:
tell application "iTunes"
	if selection is not {} then
		set sel to a reference to selection
		repeat with aTrack in sel
			set trackName to name of aTrack
			if trackName contains "_" then
				set newName to ""
				repeat with aChar in every character of trackName
					if aChar contains "_" then
						set newName to newName & " "
					else
						set newName to newName & aChar
					end if
				end repeat
				set name of aTrack to newName
			end if
		end repeat
		
	else
		display dialog "Kein Song markiert!"
	end if
end tell
@Admin: Bitte verschieben:) Danke!
 
Zuletzt bearbeitet:
Hallo,

okay, Du kannst Dir zu vor ein paar Duplikate zum Test erstellen ;-)
Es funktioniert ich habe es geprüft.

"Nachher löscht Du mir damit meine ganze Sammlung!"
Das möchte ich natürlich nicht!

Zu Deinem Script:

Ich würde Dein SuchString als Delimiter setzen.

Code:
set AppleScript's text item delimiters to {"_"}

Viele Grüße

Nachtrag:
Das es nicht bei Umlauten funktioniert findet seine Ursache bei der Kodierung des Scripts.
Deshalb würde ich die Delimiters setzen.
 
Sodele,

ich habe Dir schnell was "ausgeschnitten".

Viel Erfolg!

Das tolle ist, Du kannst damit auch Wörter oder Sätze ersetzen ;-)

Code:
tell application "iTunes"
	
	
	
	try
		-- hier ändern
		set findString to "_"
		set renameString to " "
		
		
		set sel to selection
		set fertigerTitel to ""
	end try
	
	
	if sel is {} then
		display dialog "Bitte markieren Sie die gewünschten Titel!" buttons {"OK"} default button 1 with icon 1
	else
		
		with timeout of 30000 seconds
			repeat with naechterTrack in sel
				
				
				-- überprüft den Titel					
				try
					set songTitel to name of naechterTrack as string
					set anzahlStueckeCounter to 0
				end try
				try
					if songTitel contains findString then
						
						set AppleScript's text item delimiters to {findString}
						set the titelStueckListe to every text item of songTitel
						set anzahlStuecke to the number of items in titelStueckListe
						
						repeat with titelStueck in titelStueckListe
							set teilTrackListe to (titelStueck) as string
							set anzahlStueckeCounter to anzahlStueckeCounter + 1
							if anzahlStueckeCounter is the anzahlStuecke then
								set fertigerTitel to fertigerTitel & teilTrackListe
							else
								set fertigerTitel to fertigerTitel & teilTrackListe & renameString
							end if
						end repeat
						try
							set name of naechterTrack to fertigerTitel
							set fertigerTitel to ""
						end try
					else
						if songTitel is equal to findString then
							try
								set name of naechterTrack to renameString
								set fertigerTitel to ""
							end try
						end if
					end if
				end try
				
				
				-- überprüft den Artist					
				try
					set songTitel to artist of naechterTrack as string
					set anzahlStueckeCounter to 0
				end try
				try
					if songTitel contains findString then
						
						try
							set AppleScript's text item delimiters to {findString}
							set the titelStueckListe to every text item of songTitel
							set anzahlStuecke to the number of items in titelStueckListe
						end try
						
						repeat with titelStueck in titelStueckListe
							try
								set teilTrackListe to (titelStueck) as string
								set anzahlStueckeCounter to anzahlStueckeCounter + 1
							end try
							try
								if anzahlStueckeCounter is the anzahlStuecke then
									set fertigerTitel to fertigerTitel & teilTrackListe
								else
									set fertigerTitel to fertigerTitel & teilTrackListe & renameString
								end if
							end try
						end repeat
						try
							set artist of naechterTrack to fertigerTitel
							set fertigerTitel to ""
						end try
					else
						if songTitel is equal to findString then
							try
								set artist of naechterTrack to renameString
								set fertigerTitel to ""
							end try
						end if
					end if
				end try
				try
					set songTitel to artist of naechterTrack as string
					set anzahlStueckeCounter to 0
				end try
				
				-- überprüft den AlbumArtist					
				try
					set songTitel to album artist of naechterTrack as string
					set anzahlStueckeCounter to 0
				end try
				try
					if songTitel contains findString then
						try
							set AppleScript's text item delimiters to {findString}
							set the titelStueckListe to every text item of songTitel
							set anzahlStuecke to the number of items in titelStueckListe
						end try
						repeat with titelStueck in titelStueckListe
							try
								set teilTrackListe to (titelStueck) as string
								set anzahlStueckeCounter to anzahlStueckeCounter + 1
							end try
							try
								if anzahlStueckeCounter is the anzahlStuecke then
									set fertigerTitel to fertigerTitel & teilTrackListe
								else
									set fertigerTitel to fertigerTitel & teilTrackListe & renameString
								end if
							end try
						end repeat
						try
							set album artist of naechterTrack to fertigerTitel
							set fertigerTitel to ""
						end try
					else
						if songTitel is equal to findString then
							try
								set album artist of naechterTrack to renameString
								set fertigerTitel to ""
							end try
						end if
					end if
				end try
				
				-- überprüft das Album
				try
					set songTitel to album of naechterTrack as string
					set anzahlStueckeCounter to 0
				end try
				try
					if songTitel contains findString then
						try
							set AppleScript's text item delimiters to {findString}
							set the titelStueckListe to every text item of songTitel
							set anzahlStuecke to the number of items in titelStueckListe
						end try
						
						repeat with titelStueck in titelStueckListe
							try
								set teilTrackListe to (titelStueck) as string
								set anzahlStueckeCounter to anzahlStueckeCounter + 1
							end try
							try
								if anzahlStueckeCounter is the anzahlStuecke then
									set fertigerTitel to fertigerTitel & teilTrackListe
								else
									set fertigerTitel to fertigerTitel & teilTrackListe & renameString
								end if
							end try
						end repeat
						try
							set album of naechterTrack to fertigerTitel
							set fertigerTitel to ""
						end try
					else
						if songTitel is equal to findString then
							try
								set album of naechterTrack to renameString
								set fertigerTitel to ""
							end try
						end if
					end if
				end try
				
			end repeat
		end timeout
		
	end if
	
end tell
 
Zuletzt bearbeitet:
wau vielen dank! das werde ich morgen mal ausprobieren! und sorry wegen meines mistrauens, aber ich schätze das geht ok!:)
 
habs mal überflogen:

erstmal nochmal vielen dank! da kann ich schön etwas lernen:)

du umgehts das problem der umlaute imho dadurch, dass du eben nicht die einzelnen buchstaben hernimmst, sondern die strings splittest. das finde ich schön! natürlich hast du so mehr code, verglichen zu meinem kurzen algorithmus (der natürlich sehr naiv läuft).

Also nochmals danke!

PS: wofür benutzt du den timeout? itunes ist doch auch so "etwas lahm":)
 
Zuletzt bearbeitet:
Zurück
Oben Unten