AlphaTab.Audio.Model.MidiFile.WriteTo C# (CSharp) Method

WriteTo() public method

public WriteTo ( IWriteable s ) : void
s IWriteable
return void
        public void WriteTo(IWriteable s)
        {
            // magic number "MThd" (0x4D546864)
            var b = new byte[] { 0x4D, 0x54, 0x68, 0x64 };
            s.Write(b, 0, b.Length);

            // Header Length 6 (0x00000006)
            b = new byte[] { 0x00, 0x00, 0x00, 0x06 };
            s.Write(b, 0, b.Length);

            // format
            b = new byte[] { 0x00, 0x01 };
            s.Write(b, 0, b.Length);

            // number of tracks
            short v = (short)Tracks.Count;
            b = new [] { (byte)((v >> 8) & 0xFF), (byte)(v & 0xFF) };
            s.Write(b, 0, b.Length);

            v = MidiUtils.QuarterTime;
            b = new [] { (byte)((v >> 8) & 0xFF), (byte)(v & 0xFF) };
            s.Write(b, 0, b.Length);

            for (int i = 0, j = Tracks.Count; i < j; i++)
            {
                Tracks[i].WriteTo(s);
            }
        }