Re: Panning Code

Here is the same function in pascal.
It is not a function because I don't know if returning an array will be
good so you pass the l and r variables in this procedure and when it returns these
variables will be filled with the volumes that needs to be set.
Note: This procedure is for SDL_mixer.
Code:
procedure distance_1d(x, observex, xstep: integer; var l, r: integer);
    var delta: integer;
    begin
    l := 255;
    r := 255;
    if (x > observex) then
        begin
        delta := x - observex;
        delta := delta * xstep;
        r := r - delta;
    end
    else if (observex > x) then
        begin
        delta := observex - x;
        delta := delta * xs tep;
        l := l - delta;
    end
    else exit; { Return 255 for the two speakers }
    { Fix values }
    if (l < 0) then l := 0;
    if (r < 0) then r := 0;
end;
End code.

_______________________________________________
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Reply via email to