QUOTE(john33 @ Oct 4 2005, 09:49 PM)
@Surfi: I'll look at providing the option to switch DC correction off.
Thanks John. This would be a a first step but maybe you can implement this in a different way.
We have three variables DC-Offset, Gain and Mode (Album or Track).
For every Mode there's 4 possible combinations of Gain and DC-Offset, 3 to make program execution necessary:
Gain c. | DC-O c.
-----------------
0 | 0 (makes no sense, no need to run program)
0 | 1
1 | 0
1 | 1
Due to the "clicks" I reported in my earlier post, there should be an option to run DC-Offset correction in Album[a]- or Track[t]-Mode too. This will lead to 8 possible combinations:
Gain c. | DC-O c.
-----------------
0 | 1[a]
0 | 1[t]
1[a] | 0
1[t] | 0
1[a] | 1[a]
1[t] | 1[t]
1[a] | 1[t] (preserves relative volume with the risk of "clicks")
1[t] | 1[a] (preserves relative DC-Offset)
To avoid these "clicks" you only need to select a combination with DC-Offset correction in Album-Mode. Of course, this only makes sense if you have perfect digital silence at the track borders and want to burn gapless with cuesheet.
I'm not a programmer but finding the correct values for the last two combinations seems not that easy.
Let's have a look at the last one first:
Gain c. | DC-O c.
-----------------
1[t] | 1[a] (preserves relative DC-Offset)
To avoid "clicks", Gain for a track must be applied first but with DC-Offset for the album in mind.
1. calculate DC-O for the whole album
2. calculate Gain for every track
and add half(or full?) DC-O[a]
3. apply gain
4. apply DC-Offset
The other one:
Gain c. | DC-O c.
-----------------
1[a] | 1[t] (preserves relative volume with the risk of "clicks")
This mode is already implemented, isn't it?
Last thing in my mind is an option for an additional manual DC-Offset (like -g for Gain).
These changes would make WaveGain my universal correction util ...
... but it's up to you ...
Thanks for reading.