Hi
Hat wirklich keiner en plan davon?
Das habe ich bis jetzt gemach.
Delphi-Quellcode:
var Pan : integer;
// -100 < 0 > 100
procedure PanDSP(
handle: HDSP; channel: DWORD; buffer: pointer; length: DWORD; user: DWORD);
stdcall;
var
i : DWORD;
S : PSmallint;
//Short
begin
S:= PSmallint(Buffer);
for i := 0
to (Length
div 2) - 2
do
begin
if (Pan < 0)
then S^:= trunc(S^ * (100 + Pan) /100)
// pan left = reduce right
else
if (Pan > 0)
then S^:= trunc(S^ * (100 - Pan) /100);
// vice versa
inc(s);
end;
end;
das Problem ist, wen ich
Pan Richtung -100 oder 100 setze werden beide Kanäle leiser
und da ist statisches rauschen.