Danke..
Ja so mache ich das normaler weise auch..
Delphi-Quellcode:
function TBassPlayer.BassChannelGetWaveData: TWaveData;
begin
if gnAudioPause = FALSE then
begin
if gnAudioChannel <> 0 then
BASS_ChannelGetData(gnAudioChannel, @result[0], 1024);
end;
end;
bsp.
Wenn ich TWaveData zurückgebe wie soll ich dann den Pointer inkrementieren?
Delphi-Quellcode:
var
pInt: array [0..511] of TWaveData;
begin
y := Height - ((( pInt[0] div 2) + $7FFF) div YFactor);
end;
EDIT:
Ok ich habs..
Delphi-Quellcode:
pInt: TWaveData;
y := Height - ((( pInt[x] div 2) + $7FFF) div YFactor);
Das inkrementieren kann ich mir dann sparen da ich direkt mit x auf die gewünschte Position springe.
Danke für den Tip manchmal hat man nur ein Brett vorm Kopf.
So ist die Lösung!
Delphi-Quellcode:
pInt := BassPlayer.BassChannelGetWaveData;
for x := 0 to (Width - 1) do
begin
if (x mod 8) <> 0 then
continue;
y := Height - ((( pInt[x] div 2) + $7FFF) div YFactor);
Werde pInt noch nach WaveData umbenennen..
gruss