Edit2: I fixed the code to remove the some of the its dependence on DriveGet, and in doing so made it much more compact. It should work fine now. I guess I'm up to v1.1 already.
This is a script designed to streamline the process of CD-to-mp3 conversion in Exact Audio Copy, a handy little program once you learn how to use it. I made it so I could slack off and play City of Villains while ripping my entire collection without alt+tabbing all over the place.
This script will load your CD, automatically access freedb and name all the songs for you, rip all of the tracks to a directory, wait until you've inserted another CD, and repeat (endlessly). Yay!
Due to simplification of code and extreme laziness on my part, you need to change these options in EAC.
Eac, Eac options, general tab:
check "on unknown CDs", and select "automatically access online freedb database"
uncheck "ask before overwriting files"
uncheck "show status dialog after extraction"
check "eject CD after extraction finished"
Eac, Eac options, tools tab:
check "do not open external compressor window" (this is optional, but it's useful if you don't want EAC to interrupt a full-screen app with the LAME encoder)
check "automatically write status report after extraction" (also optional, but this way you'll know if something went wrong)
Eac, Eac options, directories tab:
select "use this directory" (set to whatever directory you want, this folder is where ALL of your music will go)
Also, make sure EAC is open and windows has stopped reading your CD before running this script! Otherwise, it probably won't work.
#SingleInstance Force ;pre-loop code, will only run once. DetectHiddenWindows, on EnvSet,IsClosed,stopped Loop ;main loop, will run until script is manually halted { sleep, 10000 ;time to wait for freedb check, lenghten this if server or internet connection is slow. Controlclick, OK, Select CD ;This is used in case freedb found multiple matches. sleep, 10000 ControlSend, syslistview321, ^a, Exact Audio Copy ;selects all tracks, could be removed due to redundancy ControlSend, syslistview321, +{f5}, Exact Audio Copy ;Shift+F5 is the program's shortcut for mp3 compression. If you use another kind of extraction method, change this accordingly. loop ;this loop checks once every second to see if extraction has finished (if sleep is set too large, the code will get stuck in an endless loop until you open the disk tray again.) { sleep, 1000 IfWinExist, Extracting Audio Data, OK { IsClosed = open Controlclick, OK, Extracting Audio Data break } } Loop ;This loop runs until disk tray has been closed by user and windows has detected the cd. this is when you manually insert the next disk. sleep time can be altered. { sleep, 3000 DriveGet, IsClosed, StatusCD If IsClosed = stopped break } }This script works perfectly for me on my windows XP and with Exact Audio Copy V0.95 beta 4, so I probably won't bother with major changes, but feedback is quite welcome. I'm pretty new to this whole coding thing.
On a side note, can anyone tell me if you can set the exctraction folder to an ipod, for direct cd-to-ipod conversion? I don't have one, but I'm curious.
Known issues:
-All of the songs are placed into a single directory... An easy fix would be to leave the extraction directory open in explorer so that all of your files are still organized by album.
-This will rewrite files without bothering to tell you. Careful!
-If freedb is wrong, or no information exists, you're going to have to go through the folder later and fix every single track for that album. Ew.
-If EAC has been minimized, the taskbar will flash when the disk tray opens. I've tried WinGetActiveTitle along with WinActivate, but it didn't seem to work. Sorry.
Enjoy!