' based on info from http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html
Alias SampleData:Deque<V>
Method WriteWAV( stream:std.stream.Stream, sampleData:SampleData)
Const FORMAT_FLOAT:=$0003
Const RIFF:=$46464952
Const WAVE:=$45564157
Const FMT:=$20746d66
Const DATA:=$61746164
Local len:=sampleData.Length*4
Local rifflen:=4+24+8+len
stream.WriteUInt(RIFF)
stream.WriteUInt(rifflen)
stream.WriteUInt(WAVE)
stream.WriteUInt(FMT)
stream.WriteUInt(16)
Local channels:=2
Local bitspersample:=32
Local align:=8
stream.WriteUShort(FORMAT_FLOAT) '2
stream.WriteUShort(channels) '2
stream.WriteUInt(freq) '4
stream.WriteUInt(freq*align) '4
stream.WriteUShort(align) '2
stream.WriteUShort(bitspersample) '2
stream.WriteUInt(DATA)
stream.WriteUInt(len)
For Local sample:=Eachin sampleData
stream.WriteFloat(sample)
Next
End