public HeaderedPCMSound(Stream stream) { Samples = new List<Sample>(512); int maxsample = 0; for(int i = 0; i < 512; i++) { Sample s = new Sample(stream); if(s.Used) { maxsample = i; Samples.Add(s); } } Samples.Sort((s1,s2)=>s1.StartOffset.CompareTo(s2.StartOffset)); int pos = 0x4000; for(int i = 0; i <= maxsample; i++) { if(Samples[i].Used) { if(pos == Samples[i].StartOffset) { Samples[i].Sound = new RawPCMSound(stream, Samples[i].Length); Samples[i].Sound.Rate = Samples[i].Rate; pos += Samples[i].Length; }else{ } } } }