Help - Search - Members - Calendar
Full Version: CD-spinner & software combination for efficient secure ripping (to
Hydrogenaudio Forums > CD-R and Audio Hardware > CD Hardware/Software
Porcus
Having read a bit back and forth, I guess what I want to know is not what is the "best software", but the "best hardware/software combination". That is, I don't need to know how bad program x works with player y which I am not using -- for this task, I could buy a spinner or two; on the other hand, it _would_ be nice if one of those Nakamichi CD changers (or a Powerfile firewire jukebox) turned out excellent in any configuration.


Q: anyone tested these with appropriate secure ripping software? I see bhoar has mentioned it in one thread, but was it for secure ripping?


Also, I might want to use a USB CD player for my living room computer (which is diskless, fanless and silent and will control the playback), and if USB players work well in secure ripping I might as well do rip from that one as well. But I have seen a few complaints about USB CD players here. Clarification, anyone?



So, from reading this forum for some time (yep, time to register and delurk now!), I think I have a vague idea of the different programs' pros and cons. Maybe there is a thread on this already, please post the URL, but I'd like to have the following verified, falsified or clarified.



* on cdparanoia
+ well documented
+ can be automatised with abcde
? can abcde (or something else?) run in multiple instances with multiple spinners?
? is there a front end which uses accuraterip?
- seems not so secure as more recent software.
? No C2, doesn't trust it, seems to be designed for "any" potentially doubtful spinner -- should mean it misses possible improvements on trustworthy spinners? Or?


* on EAC
+ half of the forum users know its strengths, don't you?
? seems to work under WINE, but does it communicate equally well with the drive?
+ accuraterip
+ automatisable -- AutoFLAC seems pretty cute (but does that work under WINE?)
? ... but can it be automatised for multiple instances?
? C2 correction -- reputed not to work well, I see? Any explanation? (Closed source software is not fully documented, period).
? this means that EAC works better with some drives (where C2 correction may be turned on) than with others?


* on dbpoweramp's new R12
I just tried this (alpha 8 version), but didn't get the FLAC support to work, guess it is just me.
+ AMG lookup -- is there anyone else offering that? FreeDB users are frequently bad spellers ...
? But, Spoon did mention some "audio fingerprint". Ewww, is my privacy at stake here?
? will I be able to automatise it?
+ accuraterip
? WINE?
- closed source. (And costs a tiny bit of money, no problem if it is better than everything else)
? is it so that this software actually can use C2 information on a few players? I see Spoon recommending that Plextor which isn't a Plextor tongue.gif


* on foobar
? how secure is that? Searching this forum for foobar AND secure yields a bit too many results



Oh, as for OS: I do like penguins (though my server will run Solaris just for the obscenely sexy raidz features), but no matter what I generally think of Billware (Word, I hate Thee!), I might dig up that Windows copy and install for ripping if that is the best solution for this single purpose. I have a four-figure number of CDs to rip, so I want to Do It Right The First Time.
LANjackal
Ripping Hardware: See here: http://www.hydrogenaudio.org/forums/index....showtopic=45551. I'm not aware of any difference in terms of rip quality between internal and external drives.

Ripping Software: Currently, EAC is the generally accepted gold standard for ripping audio CDs when it comes to accuracy, security and quality.

OS: There is more support for ripping on Windows than on any other OS.

If you're looking for ease of support (odds that someone else is familiar with what you're working with), select one of the drives from the list above + Windows + EAC.
bhoar
Software:
EAC is the gold standard. The new dbPowerAmp R12 betas appear to be better at secure ripping on problematic discs, but don't yet do images.

So, IMHO: if you need disc image ripping, stick with EAC, but if you only do track ripping, dbpoweramp R12 beta may be the way to go.

Hardware:
The currently-marketed Powerfiles are uber-expensive. The initial versions (c200? c-something. often sold used on ebay) are said to have some robot problems and thus might be worth avoiding.

The mini robot units, Baxter/DupliQ/Pico/MT1 (same OEM hardware, different companies: MF-Digital, Arconova, Disc Makers, Ripfactory), are often sold with ripping software (or it is available separately), though I doubt (without proof) that any of the bundled rippers are secure rippers. Forum participant RipFactory can post more information about the MT1 and their RipStation Lite Pro software (and pricing) bundle. Getting other software to work with them can be a pain. The DupliQ I had came with an automation app that can watch for window title/text, act on them and press OK buttons, but that's about it. Works OK for Nero, not complex enough to automate EAC, for example.

EDIT: Robot units can generally have their drives swapped for other drives, if you aren't happy with secure ripping ability of the bundled drive (usually a recent Pioneer). Depending on the replacement drive, you *may* need to remove the front bezel if the tray doesn't stick out as far, and you may need to dremel down the four little placement nubs around the edges of the disc well. In addition, you'll definitely need to test and adjust the mounting position of the drive inside the unit to get the well centered just right.

-brendan
Porcus
Thanks. So the situation is:

- if I want images (which I need in order to have those pesky index 00 bonus tracks, right? And also even to detect them?) then EAC, period.

- assuming I want secure ripping: if I want automated hardware, then I need hard [work|luck] in order to have automated software working -- meaning, fuhgeddaboutit?


*grmph*


Anyone who is by coincidence willing to do a dirty ripping job for board and lodge plus a promise I won't notify the RIAA when you plug in your own USB drives and copy my entire collection afterwards? dry.gif Caveat: Norway could be cold during the winter.
pepoluan
QUOTE(Porcus @ Dec 1 2006, 19:48) *
Anyone who is by coincidence willing to do a dirty ripping job for board and lodge plus a promise I won't notify the RIAA when you plug in your own USB drives and copy my entire collection afterwards? dry.gif Caveat: Norway could be cold during the winter.
laugh.gif
bhoar
QUOTE(Porcus @ Dec 1 2006, 07:48) *

Thanks. So the situation is:

- if I want images (which I need in order to have those pesky index 00 bonus tracks, right? And also even to detect them?) then EAC, period.

- assuming I want secure ripping: if I want automated hardware, then I need hard [work|luck] in order to have automated software working -- meaning, fuhgeddaboutit?



AutoFLAC is an EAC automator and can get you mostly there (seach for the thread here at HA).

I did a little bit of work to get it to autoeject and autorun upon insertion (see the same thread), but it's not perfect in that it can get stuck in certain areas (no or multiple freedb matches). That's almost automated, though.

-brendan
Porcus
AutoFLAC, as I said, looks like A Good Thing [tm] -- but doesn't solve the physical CD changing problem. It seems though that the Ripstation Lite software boasts of "Jitter and C2 Error checking", http://www.ripfactory.com/rslite.html -- whatever that means, I have mailed user ripfactory about it, hope to see a reply here. I would have preferred (to the extent of affecting my willingness-to-pay, hint hint) if their software enabled me to do a simple "FOR i=1 TO 25 DO execute my favourite ripping utility; switch disc; NEXT i".



A totally different but quite sick idea would be one of those RS232 controlled CD changers, if it is possible to use that control for merely changing discs. Then replace the spinning hardware with some CD-ROM drive connected to the computer and script that FOR loop.
Eli
QUOTE(Porcus @ Dec 1 2006, 07:48) *


- if I want images (which I need in order to have those pesky index 00 bonus tracks, right? And also even to detect them?) then EAC, period.



You DO NOT need images to get the 00 bonus index tracks!

If you dont want images I strongly suggest dbpoweramps R12. It is just blowing EAC out of the water.
bhoar
QUOTE(Porcus @ Dec 10 2006, 12:01) *
AutoFLAC, as I said, looks like A Good Thing [tm] -- but doesn't solve the physical CD changing problem. It seems though that the Ripstation Lite software boasts of "Jitter and C2 Error checking", http://www.ripfactory.com/rslite.html -- whatever that means, I have mailed user ripfactory about it, hope to see a reply here. I would have preferred (to the extent of affecting my willingness-to-pay, hint hint) if their software enabled me to do a simple "FOR i=1 TO 25 DO execute my favourite ripping utility; switch disc; NEXT i".

A totally different but quite sick idea would be one of those RS232 controlled CD changers, if it is possible to use that control for merely changing discs. Then replace the spinning hardware with some CD-ROM drive connected to the computer and script that FOR loop.


Nitro indicated that his preferred work-flow involved manually interacting with the tag info for each disc, so for his needs, he didn't see a point in automating it beyond what it currently does. Makes sense to me, since he's sharing it for free, he can make it the way he likes.

Ripfactory has their Ripstation Lite software, which Patrick has kindly invited everyone on HA to beta.

They've also got their Ripstation Lite Pro software, which works with their 25-disc MT1 robot (the hardware is equivalent to the Baxter, DupliQ, and Pico) and, from my testing, it works with the Pico as well. For their software/hardware bundles, they offer GD3 as an option in addition to FreeDB, but I don't know if that's a one time fee or a subscription, but it's nice to have multiple meta data sources. They also sell larger capacity systems, but I take it those are typically marketed towards business that intend to make money on the ripping services. Plus, they have an in-store ripping-kiosk version as well (again, sold to businesses).

The Baxter and Pico robots, among others, are sold with Riptastic! software (automatically, or as an option, depending on the seller), which I know can extract track 00 automatically, since Chuck advertises that feature. Riptastic! doesn't do full images, though. However, Chuck does support the ancient, but five-disc-holding, SCSI versions of the Nakamichi five-disc CD-ROM changers in his shareware version. That's pretty nice of him.

And closer to home: IIRC, Spoon indicated he's got robotics on the agenda for dbPowerAmp after the R12 release. If I misspoke, I'm sure he will correct me.

With all that said, a generic way of robot handlng is my holy grail as well...

...and having acquired ~20 robots and changers so far the past year or so, that's what I intend to make.

Support as many robotic and standard scsi-changer devices as possible, via serial, mtx and SDK (SCSI/USB) control, passing off disc processing to other apps. The initial version will target the most common serial command set (MediaForm/MediaTechnics/Amtren) - as well as the Baxter units, since I already wrote a command-line client for the latter using MF-Digital's SDK.

Later versions will add some other makers, e.g. such as the Cedar/Rimage units, probably requiring the user have their SDKs or at least the DLLs that came with the changer software.

On a related note: one interesting development I've been following is the recently posted (this week) patch-set for the Linux/Unix CLI client `mtx` to support the Sony VAIO VGP-XL1B2 Media changer, which is essentially a cheaper, re-branded Powerfile, now available for ~$300. Not as cheap as the Baxter and related devices, but you can load up 200 CDs at a time (vs. 25), though it does take a few seconds for each disc, instead of using a stack. Should be easy to automate ripping from that on a linux system, using the recent patch set.

However, if you've got one of the older SCSI changers and Windows, there's already a windows port of mtx that was put together earlier this year by a pretty smart guy, and you can find it hanging around with bacula ( http://sourceforge.net/projects/bacula ), in the recent win32 beta releases (the newest version was released...well, yesterday, in fact).

-brendan

EDIT: ok, the Sony unit is retailing for ~$350 - the $300 I saw was due to amazon computing a coupon into the price it showed me. My mistake.
audioaficionado
You can run multiple instances of EAC on your XP/W2k computer as long as it can handle the throughput.

I ran two instances on my dual Xeon processor workstation with no issues. Each instance was running on one of my two optical drives.

I could probabley run 4 instances if I had 4 optical drives.
Porcus
@ bhoar:
You "intend to make" ripping software for CD changers, is that what you are writing? Please keep us posted smile.gif

Nice to see that Sony halved the price for that changer, and that it is possible to access it from the computer (I understand the software include only works with MS-Media Center?). So this means that I could basically get one (which is actually not easy here in Europe), mtx-mount it and wine-run EAC? I understand why Nitro doesn't prioritise working his buttocks off for a feature he has no use of, though.

And, aren't those MT1s more expensive than the Sony? Or?
bhoar
QUOTE(Porcus @ Dec 12 2006, 06:29) *

@ bhoar:
You "intend to make" ripping software for CD changers, is that what you are writing? Please keep us posted smile.gif


Not exactly. I'm writing a general purpose disc swapper for changers and robots/duplicators. It'll work like this

1. Configure.
2. Put a stack of discs (including mixed CDs/DVDs) into the input bin(s) or, if a changer, it should be loaded with discs one-by-one.
3. Press Start.
4. The duplicator/robot/changer inserts each until all device-associated drives are in use.
5. The software analyzes the disc type for each and launches the disc-appropriate command line - or in some single-drive configurations does no launching, since single-drive robots can use auto-recognize/auto-eject software such as iTunes.
6. Wait for one of several conditions to occur: launch process exit w/ optional matching return code/text, optional window title/text match, optional disc idle for > xx seconds, or tray is opened/disc ejected (safe for single-drive robots only).
7. Queue up a swap request for the drive that is finished (the result above can possibly flag the to-be-removed disc as good or rejected).
8. When conditions are safe, tell the device to swap a drive's disc for another from the input bin(s). Multi-drive systems have to have management of tray open/close so that the robot a) knows which drive it is pulling from/inserting to and b) doesn't encounter an opening tray on the way down or a tray doesn't open into the robot.

Note, specifically, that my software itself does no ripping. The user either has an auto-recognize/eject-when-done process already running (with single drive devices) or configures the app to lanch external disc processors for each inserted disc (and yes, there will be some substitution variables for the configured command lines, e.g. %drivepath% ).

There are actually two sets of drives, those associated with the device and a list of "Adhoc" drives. The latter are also monitored and will be used, but when finished, they auto-eject automatically. So, if, while a job is running, a new disc is encountered in an Adhoc drive, it too will be processed. This allows you to add a disc to the process without fear of hand<->robot collision. Also useful if you're using device servers to put the robots in a different room than the PCs...

Anyway, I'd say I'm about 75% done with an ugly GUI version of the app. Not sure yet what will be released publicly, though I'd like to put out a limited version at some point for general use.

QUOTE(Porcus @ Dec 12 2006, 06:29) *
Nice to see that Sony halved the price for that changer, and that it is possible to access it from the computer (I understand the software include only works with MS-Media Center?). So this means that I could basically get one (which is actually not easy here in Europe), mtx-mount it and wine-run EAC?

And, aren't those MT1s more expensive than the Sony? Or?


It might work with Linux + mtx + recent patch + wine + EAC + a script to call mtx. If you can figure out how to recognize when EAC has finished a disc and can test for that in the script.

The lowest price I've seen for MT1/Baxter/DupliQ/Pico devices is ~$600 with built in CD/~$700 with built in DVD. Note that, yes, you save an initial $100, buy the CD one (perhaps with less capable software?) and can swap in your own <$100 DVD drive, but the caution is this: the clearance between the rear point of the disc inset of the drive tray and the faceplate can be too small with the standard consumer-drive firmware, and therefore using a non-bundled drive may require removal of the drive faceplate so as to not cause disc/faceplate collisions with the robot.

The benefits of robots vs. changers is bulk stack-loading instead of one-at-a-time loading. Not too important at the low-end < 50, but when you're working with 600 discs, you don't really want to one-at-a-time load.

Trust me, having picked up some older versions of both of these ~600 disc units and experimented, I know...

IPB ImageIPB Image

-brendan

EDITs: grammar, spelling
Porcus
QUOTE(bhoar @ Dec 12 2006, 16:35) *
I'm writing a general purpose disc swapper for changers and robots/duplicators. It'll work like this

[...]

Note, specifically, that my software itself does no ripping. The user either has an auto-recognize/eject-when-done process already running (with single drive devices) or configures the app to lanch external disc processors for each inserted disc (and yes, there will be some substitution variables for the configured command lines, e.g. %drivepath% ).


Ah. Meaning that what you need to get this working, is what we *n*x-users use all the time: a program which is called by command line, and exits with a suitable exit code when it is done? Which means no dbpoweramp, no EAC plain version but maybe the CD-Tag (which uses EAC secure mode, right?)?


QUOTE(bhoar @ Dec 12 2006, 16:35) *
The benefits of robots vs. changers is bulk stack-loading instead of one-at-a-time loading. Not too important at the low-end < 50, but when you're working with 600 discs, you don't really want to one-at-a-time load.

Trust me, having picked up some older versions of both of these ~600 disc units and experimented, I know...


But having to choose between a 25 disc robot and a 200 disc changer, I am not sure. The former has to be maintained 8x as often.
bhoar
QUOTE(Porcus @ Dec 22 2006, 09:05) *
Ah. Meaning that what you need to get this working, is what we *n*x-users use all the time: a program which is called by command line, and exits with a suitable exit code when it is done? Which means no dbpoweramp, no EAC plain version but maybe the CD-Tag (which uses EAC secure mode, right?)?


Nope, that's the beauty of the dev environment. It's crappy for lots of things but it was written for scripting *GUI* applications. The idea is to be able to harness any CLI or GUI app without any coding changes (other than bat/cmd files for the former and preferences or ini files for the latter).

Even better if the GUI app play nicely with parallel launches of itself (EAC does if using ASPI, and works with SPTI but requires a registry twiddling before each launch). In addition, apps configurable for "eject when done" (such as iTunes) can be covered for certain robots/changers. SDK-controlled apps as well, but those will require coding, not configuration, changes.

QUOTE(Porcus @ Dec 22 2006, 09:05) *
But having to choose between a 25 disc robot and a 200 disc changer, I am not sure. The former has to be maintained 8x as often.


Right, it depends upon the user environment. I'd definitely take a 200-disc stack loader over a 200-disc slot loader any day.

But vs. a 25 disc stack loader, a 200-disk slot loader, if reliable, can be left alone a lot longer such as while the owner is asleep or at work (or both). However, there is the annoyingly long period of filling/emptying where you cannot leave the unit alone and you cannot be ripping in parallel.

On the flip side, it is generally safe to empty/fill the 25-disc loader at random moments during operations, as long as the drive tray isn't open, such as when you want to grab a CD and it with you or want to prioritize the rip of a CD-in-hand. Also you can do queue maintenance during random walk-bys: e.g. whenever you are leaving the area, ensure the output bin is empty and the input bin is full before going.

-brendan
speigo
QUOTE(bhoar @ Dec 12 2006, 07:35) *

Not exactly. I'm writing a general purpose disc swapper for changers and robots/duplicators. It'll work like this

1. Configure.
2. Put a stack of discs (including mixed CDs/DVDs) into the input bin(s) or, if a changer, it should be loaded with discs one-by-one.
3. Press Start.
4. The duplicator/robot/changer inserts each until all device-associated drives are in use.
5. The software analyzes the disc type for each and launches the disc-appropriate command line - or in some single-drive configurations does no launching, since single-drive robots can use auto-recognize/auto-eject software such as iTunes.
6. Wait for one of several conditions to occur: launch process exit w/ optional matching return code/text, optional window title/text match, optional disc idle for > xx seconds, or tray is opened/disc ejected (safe for single-drive robots only).
7. Queue up a swap request for the drive that is finished (the result above can possibly flag the to-be-removed disc as good or rejected).
8. When conditions are safe, tell the device to swap a drive's disc for another from the input bin(s). Multi-drive systems have to have management of tray open/close so that the robot a) knows which drive it is pulling from/inserting to and b) doesn't encounter an opening tray on the way down or a tray doesn't open into the robot.

Note, specifically, that my software itself does no ripping. The user either has an auto-recognize/eject-when-done process already running (with single drive devices) or configures the app to lanch external disc processors for each inserted disc (and yes, there will be some substitution variables for the configured command lines, e.g. %drivepath% ).



If you need help testing or piloting your software I am game. I have the Powerfile C200 and Sony XL1B. I can test against Win 2K Pro, WIn XP Home, Win XP MCE, Win XP Pro.

Greg Jensen
ub4b
QUOTE(Porcus @ Nov 30 2006, 11:09) *

* on cdparanoia
+ well documented
+ can be automatised with abcde
? can abcde (or something else?) run in multiple instances with multiple spinners?
? is there a front end which uses accuraterip?
- seems not so secure as more recent software.
? No C2, doesn't trust it, seems to be designed for "any" potentially doubtful spinner -- should mean it misses possible improvements on trustworthy spinners? Or?


I've modified abcde to make it useful for automated ripping (it doesn't bail out when a cd is not in the drive, it will just wait) and a wrappe script that can use multiple drives so I now have two ripping processes.

The only problem with cdparanoia is insecure ripping with drives that cache data use their internal buffer. As cdparanoia retries to reread sectors every second time this will come from the cache with newer drives.

cdparanoia was designed in the days when drives didn't have cache
i'm still researching a way to disable the cache

as a workaround I'm ripping every cd in two different plextor drives, if both give the same result I trust the rip, if they don't I'll use EAC for those problem cd's; this is under the assumption that most of my cd's are not problem cd's.
Martin H
QUOTE(Eli @ Dec 11 2006, 03:14) *

You DO NOT need images to get the 00 bonus index tracks!

That's right, but hidden tracks in the pause area of track one, is indeed better and also easier handled with images, than with track files. With track files, you either need to rip that part by itself as a seperate track, which it isn't on the disc, and then change the cuesheet to include it during writing to disc, or to rip with the pause areas between tracks appended to the beginning of the track, which will not be an ideal solution either, since it dosen't mimick a stand-alone CD player's playback mode very much. Of course, ripping to track files is perfectly fine, and e.g. has advantages like better or atleast more supported tagging capabilities and also better software support, but i'm just saying that in these cases, then hopefully we can agree that here is images having the upper edge smile.gif
QUOTE

[...] I strongly suggest dbpoweramps R12. It is just blowing EAC out of the water.

Atleast, EAC is the best free ripper awailable for all drives and thereby not counting PlexTools. Also, what you say is not always true either wink.gif

http://www.hydrogenaudio.org/forums/index....st&p=467197
greynol
I'd add that dBpowerAMP is only blowing EAC out of the water as far as the handling of C2 pointers.

Without C2, it is seriously debatable that it is any more accurate than EAC.

Bear in mind that the free version of dBpowerAMP will only rip in burst mode. You actually have to pay for a version that is on-par with EAC.

BTW, I have never had any stability problems when it comes to using EAC.

EDIT: spelling
Eli
Apparently greynol knew what I was going to say. One of the biggest benefits for me is the increased stability of dbpoweramp. While many users here have said the have never had any issues with it I know myself and many other have. I have often tried to get Andre to work on these issues but there was never any interest expressed by him.

In terms of ripping you are pointing out 1 disc on 1 drive in one computer that doesnt work? And Im sure spoon (unlike Andre) will be addressing any issue if there is one with the software. I have had MANY discs that EAC could not rip but r12 could.

Yes, EAC is free. It does its job well and its what I have used for years.
greynol
QUOTE
And Im sure spoon (unlike Andre) will be addressing any issue if there is one with the software.

...still waiting on C2 support in dBpowerAMP with my Sony drive. I'm doubting it will ever come.

QUOTE
I have had MANY discs that EAC could not rip but r12 could.

With or without C2 pointers?
Martin H
@Eli

I'm not saying that Spoon's ripper is not as good as EAC, of course! I'm just saying that there where one example where your example of "it blows EAC out of the water" wasen't true, but that is not to say that this proves that EAC is better at detecting errors generally, as i personally think that Spoon's ripper is the best ripper available when error detection is concerned.

Personally, i'm sticking to EAC even though Spoon's ripper is more secure, since EAC has some things that Spoon's ripper dosen't, and they are so important to me, that it makes up for the fact of EAC not being as secure as Spoon's ripper. These things include a REACT plugin and image with cuesheet creation and adding REM entries into the cuesheet with the extra standard metadata other than performer and title. Even though Spoon's ripper adds image ripping capabilities, then i'm still not switching from EAC, as the REACT plugin is too important to me, to be without.
kejava
listen to bhoar regarding the Linux + mtx + <whatever language> for the Sony XL1b2. I did this last week with a simple Python script (still learning) to control the changer with mtx and let abcde handle all the ripping, encoding, tagging, etc. The default ripper option that comes with abcde is cdparanoia but I opted for cdda2wav for its speed. May not be a secure rip like EAC but my goal was speed and simplicity. I wouldn't know where to begin with mtx + wine + EAC. My ugly app took 14 hours for 145 CDs. As for the quality ... I still haven't sampled them all ;-) So far, so good.
bhoar
QUOTE(kejava @ Jan 31 2007, 09:20) *
listen to bhoar regarding the Linux + mtx + <whatever language> for the Sony XL1b2. I did this last week with a simple Python script (still learning) to control the changer with mtx and let abcde handle all the ripping, encoding, tagging, etc. The default ripper option that comes with abcde is cdparanoia but I opted for cdda2wav for its speed. May not be a secure rip like EAC but my goal was speed and simplicity. I wouldn't know where to begin with mtx + wine + EAC.


In addition, note that Robert Nelson's work last year on porting mtx to Windows means that even non-MCE windows users can now do-useful-stuff with the Sony unit...including scripting the unit to work with EAC or dbpoweramp...

Until recently, the port was available only via the windows bacula install, but since Robert has taken over mtx development, he's updated the mtx sourceforge pages with the windows mtx, and included the sony-specific code as well.

-brendan
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.