There appears to be a bug in the Peak EQ implementation in the 64-bit Windows version (does not happen on 32-bit). After running a while, sometimes a day, sometimes more, the right channel becomes silent. Does not happen always, but regular enough to be a problem.
The code that sets the DSP:
var EQ: BASS_BFX_PEAKEQ;
...
HFX := BASS_ChannelSetFX(Chan, BASS_FX_BFX_PEAKEQ, 49);
with EQ do
begin
fBandwidth := 2.5;
FQ := 0;
fGain := 0;
lChannel := BASS_BFX_CHANALL;
for I := 0 to 10 - 1 do
begin
lBand := I;
fCenter := PluginSettings.EqBands[I].CenterFreq; //values are in 31-16000Hz range
BASS_FXSetParameters(HFX, @EQ);
end;
end;
And updating it the following way
for I := 0 to 10 - 1 do
begin
EQ.lBand := I;
BASS_FXGetParameters(HFX, @EQ);
EQ.fGain := ...//actual gain value, -15...+15;
BASS_FXSetParameters(HFX, @EQ);
end;