Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Pointer verschieben

  Alt 19. Jun 2019, 21:20
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

Geändert von EWeiss (19. Jun 2019 um 21:32 Uhr)
  Mit Zitat antworten Zitat