NeroDAE has been working great for me, but it seems to be completely synchronous – it doesn’t return until the entire track is read.
My machine is nearly idle during this process, and I have a couple of other drives. Is it possible to extract audio simultaneously from multiple drives?
I’m sure I won’t get linear scaling, but it looks like I should be able to do at least two tracks at a time, performance-wise. I’m planning to experiment in my copious spare time, but I thought I’d check to see if I can avoid some pointless effort.
The two most obvious approaches are thread-per-drive and process-per-drive. Without having done any experimentation, process-per-drive seems most likely to work (it doesn’t require the NeroAPI to be reentrant) but most complicated (since I need inter-process rather than inter-thread communication).
Will either approach work? Are there hidden gotchas or advantages of either approach? My fear is that one approach will seem to work but collapse in practice due to race conditions or reentrancy issues that don’t appear until I’ve written a ton of code:-).
Any pointers welcome. I have several thousand CD’s still to RIP, and anything that reduces the amount of time that will take would be a huge win.