Write() public method

public Write ( Int32 when, MidiMessage msg ) : void
when System.Int32
msg MidiMessage
return void
示例#1
0
        public Task SendAsync(byte [] mevent, int offset, int length, long timestamp)
        {
            if (mevent == null)
            {
                throw new ArgumentNullException("mevent");
            }
            if (mevent.Length == 0)
            {
                return(completed_task);                // do nothing
            }
            var events = MidiStream.Convert(mevent, 0, length);

            if (events.Any())
            {
                var first = events.First();
                first.Timestamp = (int)timestamp;
                impl.Write(first);
                foreach (var evt in events.Skip(1))
                {
                    impl.Write(evt);
                }
            }
            return(completed_task);
        }
示例#2
0
 void SendMidiMessage(SmfEvent m)
 {
     if ((m.Value & 0xFF) == 0xF0)
     {
         WriteSysEx(0xF0, m.Data);
     }
     else if ((m.Value & 0xFF) == 0xF7)
     {
         WriteSysEx(0xF7, m.Data);
     }
     else if ((m.Value & 0xFF) == 0xFF)
     {
         return;                 // meta. Nothing to send.
     }
     else
     {
         output.Write(0, new MidiMessage(m.StatusByte, m.Msb, m.Lsb));
     }
 }