So!
Erst mal danke an alle die sich mit dem problem beschäftigt haben.
Dank der info ShortInt .. funktioniert nun alles
Top so wie es sein soll.
Delphi-Quellcode:
TSpectrumData = Array[0..575] Of ShortInt;
PSpectrumData = ^TSpectrumData;
TWaveData = Array[0..575] Of ShortInt;
PWaveData = ^TWaveData;
Delphi-Quellcode:
lmax := 0;
rmax := 0;
for i := 0 to 575 do
ltemp := wavedata[i];
if (ltemp > lmax) then
lmax := ltemp;
for i := 0 to 575 do
rtemp := wavedata[i+575];
if (rtemp > rmax) then
rmax := rtemp;
lphi := lmax;
rphi := rmax;
meterlphi := meterlphi+(lphi - meterlphi)*(dt*10.0);
meterrphi := meterrphi+(rphi - meterrphi)*(dt*10.0);
meterlphi := Max(Min(meterlphi, 128.0), 0.0);
meterrphi := Max(Min(meterrphi, 128.0), 0.0);
Es muss nichts extra berechnet werden da nun die richtigen werte in lmax,rmax enthalten sind.
Auch das Oscilloscop sieht nun ganz anders bei der Visualisierung aus.
Hier ein kleines Pic aus meiner Desktop collection (ich kann auch malen)
Gruss Emil