示例#1
0
        internal Track(BinaryReaderBE binaryReader)
        {
            messages   = new List <Message>();
            curMessage = 0;

            checkMtrk(binaryReader.ReadBytes(4));

            length = binaryReader.ReadInt32();

            readMessages(binaryReader);
        }
示例#2
0
        private void load(BinaryReaderBE binaryReader)
        {
            tracks = new List <Track>();

            checkMthd(binaryReader.ReadBytes(4));

            if (binaryReader.ReadInt32() != 6)
            {
                throw new FormatException("Wrong header size");
            }

            type = binaryReader.ReadInt16();
            short trackCount = binaryReader.ReadInt16();

            PPQ = binaryReader.ReadInt16();

            for (int i = 0; i < trackCount; i++)
            {
                tracks.Add(new Track(binaryReader));
            }
        }