Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Auto-EAC


  • Please log in to reply
2 replies to this topic
Charonchan
  • Members
  • 1 posts
  • Last active: Jun 22 2006 04:07 AM
  • Joined: 22 Jun 2006
Edit: I think DriveGet won't work properly if a program opens the disk tray for you.

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!

axhed
  • Members
  • 2 posts
  • Last active: Jan 10 2007 06:49 AM
  • Joined: 09 Jan 2007
LOL

that is awesome.

Ryushi
  • Members
  • 3 posts
  • Last active: Jan 31 2007 12:37 PM
  • Joined: 23 Nov 2005
Hi Charonchan,

before you maybe invent the wheel twice you should read this thread at HA and test REACT 2:

http://www.hydrogena...showtopic=50273

Even when you invent the wheel a second time REACT 2 (developed with AutoIt) could maybe inspire you ;)

Cya Ryushi