コード例 #1
0
        public void Serialize(IEnumerable <MidiFileEvent> events)
        {
            var builder = new MidiTrackBuilder(events);

            builder.BuildTracks();
            builder.AddEndOfTrackMarkers();

            var header = new MThdChunk();

            header.Format         = (ushort)MidiFileFormat.MultipleTracks;
            header.NumberOfTracks = (ushort)builder.Tracks.Count();
            header.TimeDivision   = 408;

            var writer = new FileChunkWriter(this.context);

            writer.WriteNextChunk(header);

            foreach (var trackChunk in builder.Tracks)
            {
                writer.WriteNextChunk(trackChunk);
            }
        }
コード例 #2
0
 private static void WriteHeaderInfoToConsole(MThdChunk mThdChunk)
 {
     Console.WriteLine("Number of tracks: " + mThdChunk.NumberOfTracks);
     Console.WriteLine("Number of format: " + mThdChunk.Format);
     Console.WriteLine("Number of time division: " + mThdChunk.TimeDivision);
 }