X
xxxxx6
Neues Mitglied
Thread Starter
- Dabei seit
- 11.08.2014
- Beiträge
- 7
- Reaktionspunkte
- 0
Hallo, Ich benötige etwas Hilfe beim erstellen eines Apple iTunes Scripts. Funktion soll folgende sein: Das Script soll meine Musik durchsuchen nach allen Alben die weniger oder gleichX (z.B. 2) Songs haben. die Songs aus diesen Alben soll es dann in eine Playlist packen. Bei erneutem ausführen soll die Playlist aktualliesiert/ersetzt werden.
Sinn/Zweck: Mich nervt es wenn ich nach Alben suche immer zu sehen wie viele einzelne Songs ich dazwischen habe von denen ich garkein Album besitze. Daher möchte ich die Playlist zu einer Complilation zusammenfassen da dies als einzelnes Album angezeigt wird.
Ich danke vielmals!! Hier ist mein nicht funktionierender Versuch den ich aus vorhandenen Scripts versucht haben zu modifizieren:
Sinn/Zweck: Mich nervt es wenn ich nach Alben suche immer zu sehen wie viele einzelne Songs ich dazwischen habe von denen ich garkein Album besitze. Daher möchte ich die Playlist zu einer Complilation zusammenfassen da dies als einzelnes Album angezeigt wird.
Ich danke vielmals!! Hier ist mein nicht funktionierender Versuch den ich aus vorhandenen Scripts versucht haben zu modifizieren:
tell application "iTunes"
-- The number of tracks
set songsPerAlbum to 2
if not (exists playlist "SingleSongs") then make new playlist with properties {name:"SingleSongs"}
-- Get list of albums, the fast way...
set albumsWithDups to (album of every track)
set albumsNames to my removeDuplicates(albumsWithDups)
-- Check each album
repeat with currentAlbum in albumsNames
set albumSongs to (every track of library playlist 1 whose album is currentAlbum)
-- Check track count
if (count of albumSongs) is less than songsPerAlbum then
duplicate (every track of albumSongs whose (count of albumSongs) is less than songsPerAlbum) to playlist "SingleSongs"
end if
end repeat
end tell
on removeDuplicates(lst)
-- from <a href="http://applescript.bratis-lover.net/library/list/#removeDuplicates">http://applescript.bratis-lover.net/library/list/#removeDuplicates</a>
local lst, itemRef, res, itm
try
if lst's class is not list then error "not a list." number -1704
script k
property l : lst
property res : {}
end script
repeat with itemRef in k's l
set itm to itemRef's contents
-- note: minor speed optimisation when removing duplicates
-- from ordered lists: assemble new list in reverse so
-- 'contains' operator checks most recent item first
if k's res does not contain {itm} then ¬
set k's res's beginning to itm
end repeat
return k's res's reverse
on error eMsg number eNum
error "Can't removeDuplicates: " & eMsg number eNum
end try
end removeDuplicates