public BDFFileReader(Stream str) { if (!str.CanRead) throw new BDFException("BDFFileStream must be able to read from Stream."); reader = new BinaryReader(str, Encoding.ASCII); header = new BDFHeader(); header.read(reader); //Read in header record = new BDFRecord(header); //Now can create BDFRecord _isValid = true; }
internal BDFRecord(BDFHeader hdr) { int nC = hdr.numberChannels; channelData = new int[nC][]; int i = 0; foreach (int n in hdr.numberSamples) { channelData[i] = new int[n]; recordLength += n; i++; } recordLength *= 3; // calculate length in bytes record = new byte[recordLength]; header = hdr; }
public BDFFileWriter(Stream str, int nChan, int recordDuration, int samplingRate) { if (!str.CanWrite) throw new BDFException("BDFFileStream must be able to write to Stream."); header = new BDFHeader(nChan, recordDuration, samplingRate); record = new BDFRecord(header); writer = new BinaryWriter(str); }