Tuesday, October 13, 2009
iTunes & Amazon
I'm downloading music from iTunes, and finding that I don't like their DRM. I think I will be switching to Amazon, eMusic, or even (shudder) straight CD rips.
Tuesday, October 6, 2009
mp3 Woes: Getting rid of tracks, revised
So here's an updated version of the track delete script. It uses a genre change to make the genre of the track "ToDelete", and I now believe this is a much cleaner way to get rid of your junk tracks.
Benefits of removing tracks this way are:
You can review them in the UI before removing them
It updates the modified date of the track, so you can run this script for a number of date ranges, and then pick them up using one O/S search
Because they're in the UI, and you'll be removing them via the UI, you have the option to delete them from disk as well, further lessening any followup needed
As always, have a backup of your library (and library of files) made before doing any of this. Caveat Emptor and all that. :)
Benefits of removing tracks this way are:
As always, have a backup of your library (and library of files) made before doing any of this. Caveat Emptor and all that. :)
' so here we begin the main portion of the script
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, MyFile, FileName, TextLine
Set fso = CreateObject("Scripting.FileSystemObject")
' Open the file for output.
FileName = ".\ResultsFile.txt"
Set MyFile = fso.OpenTextFile(FileName, ForWriting, True)
' Write the result of the function directly to the file
MyFile.WriteLine findfilesmod
' Because you have to close every door you open
MyFile.Close
function findFilesMod
' I really like the ability to run test runs, and having the timings makes it a cake
resultstring = ""
resultstring = "Beginning " & cstr(time) & vbcrlf
' Otherwise, make some variables!
ITTrackKindFile = 1
deletedTracks = 0
counter = 0
' Get a copy of iTunes running
set iTunesApp = WScript.CreateObject("iTunes.Application")
set mainLibrary = iTunesApp.LibraryPlaylist
' Since we're trying to get to the full list of songs, we need this
set tracks = mainLibrary.Tracks
' Now then! We loop the full library to touch the tracks
for each currTrack in tracks
' is this a file track?
if (currTrack.Kind = ITTrackKindFile) then
' if the track has the date we're looking for, in this case 1 January 2001, then
if (cdate(currTrack.ModificationDate) >= cdate("1/1/2001 00:00:00")) and (cdate(currTrack.ModificationDate) < cdate("1/2/2001 00:00:00")) then
' keep track of what's deleted, so it hits the results file
' Then, mark the track
resultstring = resultstring & currTrack.Name & _
"(" & currtrack.genre & ") - " _
& currTrack.ModificationDate & vbcrlf
currtrack.genre = "ToDelete"
' increment the counter
counter = counter + 1
end if
end if
' if you want an early out after deleting a set number of files, you can use this
' otherwise, this script will loop iTunes whole library, nuking as it goes
'if counter >= 1 then exit for
next
' the last output
resultstring = resultstring & "Counted " & counter & " track(s)." & vbcrlf
resultstring = resultstring & "Finished at " & cstr(time) & vbcrlf
' return the results
findfilesmod = resultstring
end function
Subscribe to:
Posts (Atom)