' 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