iTunes 7.1 Sortierbug: Workaround Script

daspfanni2000

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

habe trotz Erkältung ein bisschen Applescript gehackt und dabei ist folgendes Skript entstanden...

Es trägt bei ausgewählten "The" Interpreten im Feld "Interpret für Sortierung" den Interpreten OHNE "The" ein!

Wahlweise kann man das auch wieder rückgängig machen...

Ich habe es aufeinmal auf alle meine "The" Artists angewendet und: Es funktioniert!

Übrigens macht es scheinbar iTunes auch so mit den "Die" Interpreten. "Die Sterne" z.B. haben bei mir in grauer Schrift "Sterne" in dem Such-Feld.

Code:
tell application "iTunes"
	if selection is not {} then
		set sel to a reference to selection
		
		set tempVar to display dialog "Wollen Sie für jeden ausgewählten Song, der mit \"The\", \"the\" oder \"THE\" im Feld \"Interpret\" beginnt:

 eine Eintrag im Feld \"Interpret für Sortierung\" ohne \"the\" eintragen? 

	oder

 das Feld \"Interpret für Sortierung\" löschen?" buttons {"Eintragen", "Löschen", "Abbrechen"} default button "Abbrechen"
		
		set pushedbutton to button returned of tempVar
		
		if pushedbutton is equal to "Eintragen" then
			set oldDelimiters to AppleScript's text item delimiters
			set AppleScript's text item delimiters to " "
			
			repeat with aTrack in sel
				set theartist to artist of aTrack
				if theartist starts with "The " or "the " or "THE " then
					set splitString to every text item of theartist
					set wotheartist to items 2 thru -1 of splitString
					set wotheartist to wotheartist as string
					set sort artist of aTrack to wotheartist
				else
					display dialog theartist & " ist kein \"The\"-Interpret!"
				end if
			end repeat
			set AppleScript's text item delimiters to oldDelimiters
			
		else if pushedbutton is equal to "Löschen" then
			repeat with aTrack in sel
				set sort artist of aTrack to ""
			end repeat
		end if
	else
		display dialog "Keine Songs markiert!"
	end if
end tell

Natürlich gebe ich keinerlei Gewähr in Bezug auf Datenverlust, Mac-Zerstörung, Hausbrand und Weltuntergang! Das meine ich ernst!

Viele Grüsse
pfanni

Bitte sagt wie Ihrs findet, obs Euch taugt und was man besser machen könnte!

PS: Es funzt dann scheinbar auch wieder auf dem iPod ! Juchu!
 
  • Gefällt mir
Reaktionen: Choc
hey, das ist echt cool. brauch es leider nicht mehr ausprobieren, da ich grad 7.1 durch 7.02 ersetzt, gestartet, itunes 7.1 wieder drüber, die localization datei geändert und wieder gestartet habe. itunes trägt dann beim 1. start automatisch die sortierfelder für the, die und was auch immer in der datei noch steht (... für ...and you will know us by the trail of dead) ein.
aber ich hätte lieber das script gehabt. ;)
 
Hallo,

es ist sehr gut, und funktioniert einwandfrei! :)
Ein Kritikpunkt habe ich dennoch. Die Meldungen solltest Du zeitlich begrenzen. (nicht böse gemeint)

Viele Grüße
 
hi!

ich bin noch recht neu bei a.script! wie würde man das machen?

Alternativ kann man den Dialog mit "blabla ist kein the artist" auch weglassen:) Ist wohl eher zum debuggen drin:)

gruss und danke pixel!
 
Hallo,

ich bin mal so "frech" und habe es um den besagten Punkt modifiziert.
Der Dialog wird autonom nach einer Sekunde geschlossen.
Der Vorteil ist nun, dass das Skipt unbeobachtet laufen kann.

Code:
tell application "iTunes"
	if selection is not {} then
		set sel to a reference to selection
		
		set tempVar to display dialog "Wollen Sie für jeden ausgewählten Song, der mit \"The\", \"the\" oder \"THE\" im Feld \"Interpret\" beginnt:

 eine Eintrag im Feld \"Interpret für Sortierung\" ohne \"the\" eintragen? 

	oder

 das Feld \"Interpret für Sortierung\" löschen?" buttons {"Eintragen", "Löschen", "Abbrechen"} default button "Abbrechen"
		
		set pushedbutton to button returned of tempVar
		
		if pushedbutton is equal to "Eintragen" then
			set oldDelimiters to AppleScript's text item delimiters
			set AppleScript's text item delimiters to " "
			
			repeat with aTrack in sel
				set theartist to artist of aTrack
				if theartist starts with "The " or "the " or "THE " then
					set splitString to every text item of theartist
					set wotheartist to items 2 thru -1 of splitString
					set wotheartist to wotheartist as string
					set sort artist of aTrack to wotheartist
				else
					display dialog theartist & " ist kein \"The\"-Interpret!" giving up after 1 -- nach einer Sekunde
				end if
			end repeat
			set AppleScript's text item delimiters to oldDelimiters
			
		else if pushedbutton is equal to "Löschen" then
			repeat with aTrack in sel
				set sort artist of aTrack to ""
			end repeat
		end if
	else
		display dialog "Keine Songs markiert!"
	end if
end tell

Viele Grüße
 
  • Gefällt mir
Reaktionen: Choc
Sorry, wenn ich mal so ins blaue hinein frage:
Hast Du zufällig auch ein Script, um Podcasts zu sortieren?
Ich habe 72 Podcasts abonniert und mittlerweise ist es verdammt unübersichtlich.
Oben stehen zwar Spalten, wie Album, Dauer, Datenrate usw,
aber sortieren lassen sich die Podcasts nicht nach diesen Parametern.
 
Der gute Doug Adams hat schnell reagiert - wir können nun alle Sortierkriterien individuell auf einen Rutsch modifizieren:
Batch Set Tracks Sorting Tags v1.0
This script will allow you to batch-set the sorting tags ("Sort Name", "Sort Artist", "Sort Album Artist", "Sort Album", "Sort Composer", "Sort Show") of the selected tracks, rather than manually doing so one track at a time.

http://www.dougscripts.com/itunes/scripts/scripts09.php?page=1#batchsettrackssorting

Liebe Grüße, Sebastiano
 
Zuletzt bearbeitet:
Hallo,

ich glaube Du hast da etwas missverstanden ;-) (nicht böse gemeint)
Das Skript tätigt die von Dir beschriebenen Schritte autonom.
Nichts klicken, und vor allem kein Zeitverlust.

"Wer keine scripts mag", wer denn? ;-)

Viele Grüße
 
ups, Tatsache...man sollte halt nicht neben der Arbeit surfen...:rolleyes:
 
Zurück
Oben Unten