I'm making a component which burns disks with cdrdao.
Why?
Why not burrrn: (burrrn is great but...)
-it's not foobar (see below)
-There are some things in my collection it can't do
-it may just be my imagination, but it seems to take FOREVER, especially when replaygaining
Why in foobar:
-foobar holds my music
-I like the idea of being able to burn anything foobar can play.
-possibility of RG/DSP/Dither
Why not nero:
-I don't have nero
-don't tell me to get nero. $100 just so I can burn? I mean, it turns a fully functional foobar 2000 into one of the most expensive players out there. Winamp pro is only $15.00 in comparison, and man, I SO want to be done with winamp.
-with nero expired demo I have (old version) I get:
--SLOW!! though successful burning
--A fat program on disk I can't even use
--I have NEVER, at any time, even with a disk in etc, been able to select a burning speed
-with nero demo activated with a pirated key (still old version) I get:
--A hurting conscience
--A fat program on disk I never use
--Fast burning with at least 80% coasters (@$%^* it)
--I have NEVER, at any time, even with a disk in etc, been able to select a burning speed
why not my component:
-It's not ready yet
-I'm a sloppy programmer
-you need to get cdrdao working on your own. This may include installing aspi and registry tweaks.
I've already got the component working to the following specs:
1) A very ugly, and (I suppose) non SDK compliant gui.
2) Can convert files with/without RG/DSP/Dither
3) Can burn any selection which will automatically be in 2ch/44100 sample rate. (I tested, and it works on my machine)
But there are still bugs and issues.
1) My current code has a good chance of not working with 9x due to the way that my code redirects/launces cdrdao.
2) I'd like to make the gui more like the others I've seen in the SDK, and also make it able to show progress info from cdrdao. Right now, it's unresponsive while cdrdao is working. I will probably though give up on this component before I get to that point.
3) Files like my SPC's convert to 3xxxx something hz, which offends cdrdao and therefore my component
4) I suppose mono/multichannel files will have the same issue.
And there are things which would make this so much sweeter:
1)TAGZ'd cd text (I might do this)
2)Theoretically possible to choose dsp settings individually for each file. (or even for each moment down to the chunk level) I will never do either of these though. I can't figure out the win32 api that well.
3)With some extra control over the toc, the user could do cdrdao-like stuff to the cd, maybe like cutting a track short if you want.
My intentions are to make this component work for me, and then release the source code to anybody and everybody who would care to turn it into a respectable foobar component.
So, I'd like some help.
-regarding resampling:
1)I'm pretty sure I'll need to add the resampler at the end of the chain. Is this the right place for it?
2)can I leave the resampler in the chain when the file is already at 44100? What I'm really asking is what the resampler will do? Will it do nothing and not chew cpu? If so, that would make me really happy, and I'd feel free to leave it in the chain, thus simplifying my life.
-regarding switching to stereo:
1) How will convert 5.1 to stereo behave on non 5.1 files? Will it do nothing and not chew cpu?
2) How will convert mono to stereo behave on non mono files? Will it do nothing and not chew cpu?
Ideally, I'd like to just tack these dsps to the end of the chain like this:
-convert 5.1 to stereo
-convert mono to stereo
-resample
And leave them there assuming they won't do anything harmful/expensive when it doesn't matter.


