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); } }
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); }