public MidiObject(BinaryReader reader) { var first = true; while (reader.BaseStream.Position != reader.BaseStream.Length) { try { var chunk = new Chunk(reader); if (first && chunk.ChunkType == Chunk.Type.Header) { Header = (HeaderChunkData)chunk.Data; } else { _tracks.Add((TrackChunkData)chunk.Data); } } catch (Exception e) { throw new MidiParseException(e.Message, new MidiObject(Header, _tracks)); } } }
private MidiObject(HeaderChunkData header, List <TrackChunkData> tracks) { Header = header; _tracks = tracks; }