Wiedergabeliste mit kompletten Alben erstellen - mit AppleScript ganz einfach

M

mr_hankey

Mitglied
Thread Starter
Dabei seit
11.10.2006
Beiträge
63
Reaktionspunkte
1
Hallo zusammen!

Ich habe seit einiger Zeit nach einer Möglichkeit gesucht, eine Wiedergabeliste zu erstellen, die ausschließlich komplette Alben enthält und per Zufall bis zu einer bestimmten Gesamtgröße gefüllt wird. Mit den hauseigenen Mitteln von iTunes geht das leider nicht (hab so einige wilde Kombinationen von intelligenten Wiedergabelisten ausprobiert), also hab ich mich ein bisschen in AppleScript reingefuchst. Keine tolle Programmiersprache und sehr simpel - allerdings wirklich SEHR simpel. Es geht wirklich schnell, so ein kleines Script zu schreiben und es lässt sich auch gut nachvollziehen, was grade passiert.

Ich wollte so eine Wiedergabeliste haben, um mein Handy mit Musik zu füllen. Dieses hat "nur" 13GB Speicherplatz, und so kann ich immer komplette Alben unterwegs dabei haben. Das Script erstellt aus einer beliebigen, bereits vorhandenen Wiedergabeliste ("SourcePlaylist") eine neue Wiedergabeliste ("PlaylistName", ACHTUNG: Deren Inhalt wird gelöscht!!! Also keinen bereits vorhandenen Namen vergeben!) mit zufälligen Alben, die in SourcePlaylist enthalten sind. Die Gesamtgröße ("PlaylistNameMaxSize") ist einstellbar. Ungewünschte Alben lassen sich ausschließen.

Vielleicht kann der ein oder andere damit etwas anfangen, es kann natürlich gerne kopiert oder verändert werden!

Ganz wichtig: Für etwaige Schäden, Datenverlust o.Ä. übernehme ich natürlich keine Haftung! Also lieber Datensicherung vorher machen!


Um das Script auszuführen einfach den Text unten kopieren, in den AppleScript-Editor einfügen (evtl. auf "Übersetzen" klicken, das macht das Script schöner lesbar), die ersten vier "set" Befehle bei Bedarf ändern und auf "Ausführen" klicken" - voilá!

--------------------------------


tell application "iTunes"

set PlaylistName to "Whole Albums" -- Name of your new playlist, CAREFULL: Don't use a name you're already using for another playlist, songs will be deleted from the playlist!!!

set SourcePlaylist to "Hip Hop" -- Could be any playlist that you created. If you want all of you music, use "Music" (or for example "Musik" in the German iTunes)

set PlaylistNameMaxSize to 4.0E+9 -- Size of your playlist in bytes, 10^9 (= 1.0E+9) is more or less one GB

set ListOfAlbumNames to {} -- If you want to exclude some albums, enter them in the brackets. For example change {} to {"Greatest Hits", "Under The Mistletoe"}, otherwise leave it to {}


------------------------- No need to change anything below this line -------------------------


set TotalTrackNumber to number of tracks of playlist SourcePlaylist

if playlist PlaylistName exists then
delete tracks of playlist PlaylistName
else
make new playlist with properties {name:playlistName}
end if

set fixed indexing to true

set PlaylistNameSize to size of playlist PlaylistName



repeat until (PlaylistNameSize is greater than PlaylistNameMaxSize) is true
set TrackIndexNumber to random number from 1 to TotalTrackNumber
set TrackAlbum to (album of track TrackIndexNumber of playlist SourcePlaylist)
if TrackAlbum is not "" then
if TrackAlbum is not in ListOfAlbumNames then
set end of ListOfAlbumNames to TrackAlbum
try
duplicate (every track of playlist SourcePlaylist whose album is TrackAlbum) to playlist PlaylistName
end try
end if
end if

set PlaylistNameSize to size of user playlist PlaylistName
end repeat

get ListOfAlbumNames -- This displays all added albums in the log of apple script

end tell



-------------------------
 
Zurück
Oben Unten