To create a continuous output:
The typical "solution" for this is to have a buffer of a certain length, decode 'til the end of the MP3, and analyze the data in the buffer. Processing at the end first, work back until you get to a peak of a certain magnitude (such as -50dBFS). Perform similar processing on the beginning of the next MP3, then line it up so that the two -50dB peaks coincide and then mix the two streams together.
From there, you need to make a CUE file to hold all the index infos and things. I'm not as knowledgeable about this, though; hopefully someone else in the forum can contribute.
I hope that was clear and cogent; if you have any questions, ask.
Edit: several points of note:
- MP3s are not inherently a gapless format. The fact that samples were removed due to encoding/decoding may be audible.
- -50dBFS is just a guess, really... I forget where I read that.
Alternately, foobar2000 will do this step for you, with the dsp_no_gaps plugin, and will decode to a WAV file. I'm not sure whether or not the Audio CD burning plugin is gapless. If it is (ought to be easily testable, at the cost of a coaster or a CD-RW format), you ought to be able to do this all without even coding anything.
Just ensure you have the following settings enabled:
"No Gaps" DSP enabled (or whatever it's called; I don't use it.)
ReplayGain mode set to "Album" if you're using ReplayGain.
Under the Audio CD writer config:
Use DSP
Don't reset DSP between tracks
Edit2: Furthermore, the options used for the Audio CD writer need to be used with the diskwriter for gapless WAV file creation. Bleh. It will require concatenating the WAV files as well. I don't see any "Make one WAV file" option there.