/* public static bool operator ==(Properties a, Properties b) { return (a.Channel == b.Channel && a.Flags == b.Flags && a.Frequency == b.Frequency && a.Offset == b.Offset && a.Panning == b.Panning && a.ReverbVolume == b.ReverbVolume && a.SampleType == b.SampleType && a.Volume == b.Volume ); } public static bool operator !=(Properties a, Properties b) { return (a.Channel != b.Channel || a.Flags != b.Flags || a.Frequency != b.Frequency || a.Offset != b.Offset || a.Panning != b.Panning || a.ReverbVolume != b.ReverbVolume || a.SampleType != b.SampleType || a.Volume != b.Volume ); } */ public static Properties Read(Stream source) { BinaryReaderEx reader = new BinaryReaderEx(source); Properties result = new Properties(); result.Channel = reader.ReadByte(); result.Frequency = reader.ReadUInt16(); result.ReverbVolume = reader.ReadByte(); result.Volume = reader.ReadByte(); result.Panning = reader.ReadByte(); result.Offset = reader.ReadUInt24(); result.SampleType = reader.ReadByte(); result.Flags = reader.ReadByte(); return result; }