Искажения происходили из-за того, что постоянно делался вызов
Код:
// настройка эквалайзера
for I := 1 to 10 do
fx[i] := BASS_ChannelSetFX(channel, BASS_FX_DX8_PARAMEQ, 1); // канал эквалайзера
// настройка каналов эквалайзера
for I := 1 to 10 do
begin
tb := TTrackBar(FindComponent('tbEqualizer' + IntToStr(I)));
p.fGain := 15 - tb.Position; // усиление
p.fBandwidth := 3; // ширина полосы пропускания
p.fCenter := Freq[tb.Tag]; // частота регулирования
BASS_FXSetParameters(fx[tb.Tag], @p); // применение заданных настроек
end;
из таймера. Немного передвинул его.
Нужно ещё доделать корректную загрузку новых файлов, чтобы не было дубликатов. И не плохо бы подключить чтение внутренней инфы файлов.