PDA

View Full Version : Using Batch Ripper with multiple changers



sredmyer
11-08-2008, 08:39 AM
Well I have finally managed to get all of my R200s (that is four of them) working from a single Host PC:thumbup:. The host PC is a Dell Precision Wotk Station 470. It has dual 3.4GHZ hyper-threaded processors (single core though) with 4GB of RAM and is running Windows XP Pro SP3. Three of the four Power file units are connected to a single PCI Firewire card and the fourth is connected to the FireWire to the Firewire port of the OEM sound card. All changers work well and are managed well by Spoons CLI drivers.

However there is a problem. When I load up all changers and start a batch I tell the Batch Ripper that there are 800 discs in the batch. The Batch Ripper just blindly runs 800 discs. If some of the changers finish before the others they will just continue to rip discs just restarting at slot zero. This means that some discs (from the changers that finished first) will be ripped twice while others (those in the slower changers) wont get ripped at all.

As I have stated before I had planned to re-write the CLI's used by the Batch Ripper, I mistakenly thought they did not handle multiple drives and changers. I did in fact write my own changer control application in VB (version 6) and it works quite well. However after thinking about the problem (mentioned above) I do not see how this can be corrected by the CLI. What I need is a way to tell the Batch Ripper how many discs should be handled by each pair of drives (each changer has two drives). In this way the Batch Ripper would stop trying to use drives 'G;' and 'H:' (for instance) when the 200 discs in the changer which holds those drives have been ripped.

Spoon, is there any way, via the CLIs, to tell the batch Ripper to stop using certain drives without stopping the whole process?

Thanks,
Steve

bhoar
11-08-2008, 08:49 AM
Spoon, is there any way, via the CLIs, to tell the batch Ripper to stop using certain drives without stopping the whole process?

An additional pair of options on the right-click drop down, Disable Drive/Enable Drive, could be useful in general for multiple drive loaders. e.g. when a drive starts failing during a long batch or a disc has shattered inside the drive.

-brendan

bhoar
11-08-2008, 06:55 PM
An additional pair of options on the right-click drop down, Disable Drive/Enable Drive, could be useful in general for multiple drive loaders. e.g. when a drive starts failing during a long batch or a disc has shattered inside the drive.

More specifically, the Disable Drive option would tell the batch ripper to no longer monitor and service that drive. It wouldn't kill the current rip per se (you can still do this manually via right click Cancep Rip), but instead, would mean that when the current cdgrab.exe process for that drive finished (either normally or cancelled) it would no longer request unloads/loads/etc.

In addition, any Windows Handles to the drive would be dropped, such that a proper "Safely Remove Hardware" and then "Plug and Play Recognition" cycle could happen with that drive while it was disabled.

Perhaps the background for that drive line could be dimmed.

Enable Drive would start monitoring/servicing again. If there's a disc in the drive, it would rip it, then unload. If there's no disc in the drive, it would load the next disc.

-brendan

sredmyer
11-08-2008, 07:52 PM
More specifically, the Disable Drive option would tell the batch ripper to no longer monitor and service that drive. It wouldn't kill the current rip per se (you can still do this manually via right click Cancep Rip), but instead, would mean that when the current cdgrab.exe process for that drive finished (either normally or cancelled) it would no longer request unloads/loads/etc.

In addition, any Windows Handles to the drive would be dropped, such that a proper "Safely Remove Hardware" and then "Plug and Play Recognition" cycle could happen with that drive while it was disabled.

Perhaps the background for that drive line could be dimmed.

Enable Drive would start monitoring/servicing again. If there's a disc in the drive, it would rip it, then unload. If there's no disc in the drive, it would load the next disc.

-brendan


Those are GREAT thoughts Brendan. So I guess I am right in assuming there is no way at this time for the CLIs to tell cdgrab.exe to skip certain drives?

As a posible work around, what would happen if the load.exe cli simply never returned from a request to load a particular drive? Would the entire system hang or would that instance of cdgrab.exe just hang waiting? Is there a timeout?

I really hope I can work this out. With four of these changers (8 drives) going at once I get some really impressive discs per hour rates.

Thanks,
Steve

bhoar
11-08-2008, 08:16 PM
Those are GREAT thoughts Brendan. So I guess I am right in assuming there is no way at this time for the CLIs to tell cdgrab.exe to skip certain drives?

The CLIs (if you mean the load.exe, unload.exe, etc.) do not interact with cdgrabe.exe at all. The batch ripper core calls all of those independently.


As a posible work around, what would happen if the load.exe cli simply never returned from a request to load a particular drive? Would the entire system hang or would that instance of cdgrab.exe just hang waiting? Is there a timeout?

If the configuration file (DefaultCmdLine.txt) does not include a watchdog line as defined in the documentation taken from this post ( http://forum.dbpoweramp.com/showpost.php?p=70285&postcount=8 ):


--watchdog="120000" (for batch ripper: will end task the loader command if not finished after X milisecond time)

By avoiding use of the --watchdog "special" command line option (it is special in that it really isn't sent on to the load.exe, but is a flag for the batch ripper.exe to change its behavior), my own drivers are able to hold a drive hostage (e.g. if I'm using multiple one-drive robots at a time - I put up a dialog when the input bin(s) become empty and ask the operator to fill them before hitting OK) while continuing to allow the other drives to be served by their robots independently.

So yeah, just preventing the load from returning takes the drive out of commission. But of course, that means the file can only be taken out of commission during the load process, which might address your main concern.


I really hope I can work this out. With four of these changers (8 drives) going at once I get some really impressive discs per hour rates.

Tell me about it. :)

-brendan

sredmyer
11-14-2008, 07:29 PM
Say Brendan, what types of disc rates do you get? What type of machine gets the best rates for you?

Thanks,
Steve

bhoar
11-15-2008, 09:37 PM
Say Brendan, what types of disc rates do you get? What type of machine gets the best rates for you?

Steve -

That's a loaded question. :)

Short answer is, as you've found out, the drive in the sony xl1b/xl1b2/xl1b3 units is not a very good CD ripper (plus the remaining firewire issue doesn't help).

If you want a replacement on the cheap end of the scale, get one or two of the Kodak Kiosk (fast enough automation cycle time and once the teac drive starts extracting audio it is very fast...but it can take 30-40 seconds after disc insert before extraction begins) or Aleratec RobotRacer units (slightly faster hardware, easier to load, larger capacity....but I haven't tested the lite-on drive thoroughly). The former can be found for <= $200 on ebay from time to time (there's one there today for $40+$40...but I know they'll be hard to come by at those prices shortly). Aleratec's refurbs of the latter show up about once a week on ebay with a 90 day warranty, usually bid up to between 200 and 450 each.

But these are good buys because they are new and/or good-as-new and the robotics are very simple.

Long non-answer:

I am not currently in the business of full-cycle timing tests. What I do try to do is create scripts for the ULCLI-based drivers that reduce unnecessary wait times but leave some wait times in there fore safety purpose to prevent hardware part collisions.

[I will also ignore the issue of CPU and hard disk IO, so let us pretend we are using the test codec here.]

There are several factors that interact:

1. The time it takes the optical drive to spin up, recognize the disc and extract the audio, on average over all of your discs (both good and scratched). This also includes spin-down and tray cycle times. Each component actually varies more than one would think. And you can't just willy-nilly replace drives in duplicators, often there are physical characteristics (tray extension length, mount point restrictions, customized trays with special cuts or hinges, etc.), so you may have to stick with the drive in the unit as it came.

2. The time it takes the automation hardware to complete a normal unload/load cycle.

3. The time it takes the automation hardware to complete a normal reject/load cycle. e.g. this is commonly longer than the unload/load cycle on some common units (mf-digital, amtren, mediatechnics) because the open drive tray needs to be closed before the reject placement to access the reject area.

4. Whether drives which become ready for either cycle may have to wait in line for other drives to finish being serviced by the automation hardware. This can be a factor with robots that service multiple drives. In addition, the drivers for these units have to be somewhat more strict about tracking tray positions and therefore there are additional slowdowns possible.

Because of *4, using multiple single drive units (e.g. the stack of kodaks to my right, or the army of amtren elite micros i was testing last month) may give you the fastest throughput, all other things being the same due to avoidance of multiple drives vying for robot servicing and the additional safety code in the scripts.

It's also worth eyeballing all discs and pulling those that appear dirty or scratched and clean/repair them while the first batch is running, that way you are probably reducing your larger processing delays and reducing the overwork on difficult to replace drives.

-brendan

bhoar
11-15-2008, 10:30 PM
Say Brendan, what types of disc rates do you get? What type of machine gets the best rates for you?

PS - the teac drive in the kodak units generally rips your average new clean in-accuraterip CD in about 2 minutes, once the disc recognition phase is over.