On Mon, 6 Mar 2017, Lukasz Sokol wrote:
On 06/03/17 14:50, fredvs wrote:
I don't know. By all logic, it should not work either.
OK, It comes from a "lucky" bug (thanks to reveal it).
There was a setlength(buffer, length(buffer) * channels) not needed.
Ok, fixed.
But the problem remain:
If data are int16 or int32: OK, the file is created with +- 1 mega bytes and
I can get those data back.
But if data are float32: NOT OK, the file is created but with only 6 octets
;-( .
For example,
for x :=0 to length(bufferfloat) -1 do
bufferfloat[x] := 127 ; // for int16 ---> it works
for x :=0 to length(bufferfloat) -1 do
bufferfloat[x] := 2147483646; // for int32 ---> it works
for x :=0 to length(bufferfloat) -1 do
bufferfloat[x] := 0.2147483646 ; // for float32 ----> it does not work
Looks like for float you'd need a conversion record
There should be absolutely no need for that ?
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal