public void Convert_Bytes_Offset_Length() { using (var bytesToMidiEventConverter = new BytesToMidiEventConverter()) { var bytes = new byte[] { 0x92, 0x12, 0x56, 0xB3, 0x23, 0x7F }; Convert_Bytes_Offset_Length( bytesToMidiEventConverter, bytes, 0, 3, new NoteOnEvent((SevenBitNumber)0x12, (SevenBitNumber)0x56) { Channel = (FourBitNumber)0x2 }); Convert_Bytes_Offset_Length( bytesToMidiEventConverter, bytes, 3, 3, new ControlChangeEvent((SevenBitNumber)0x23, (SevenBitNumber)0x7F) { Channel = (FourBitNumber)0x3 }); } }
public void Convert_Bytes() { using (var bytesToMidiEventConverter = new BytesToMidiEventConverter()) { Convert_Bytes( bytesToMidiEventConverter, new byte[] { 0x92, 0x12, 0x56 }, new NoteOnEvent((SevenBitNumber)0x12, (SevenBitNumber)0x56) { Channel = (FourBitNumber)0x2 }); Convert_Bytes( bytesToMidiEventConverter, new byte[] { 0x90, 0x12, 0x00 }, new NoteOffEvent((SevenBitNumber)0x12, (SevenBitNumber)0x00) { Channel = (FourBitNumber)0x0 }); Convert_Bytes( bytesToMidiEventConverter, new byte[] { 0xB3, 0x23, 0x7F }, new ControlChangeEvent((SevenBitNumber)0x23, (SevenBitNumber)0x7F) { Channel = (FourBitNumber)0x3 }); } }
public void Convert_Bytes_SilentNoteOnAsNoteOn() { using (var bytesToMidiEventConverter = new BytesToMidiEventConverter()) { bytesToMidiEventConverter.ReadingSettings.SilentNoteOnPolicy = SilentNoteOnPolicy.NoteOn; Convert_Bytes( bytesToMidiEventConverter, new byte[] { 0x92, 0x12, 0x00 }, new NoteOnEvent((SevenBitNumber)0x12, (SevenBitNumber)0x00) { Channel = (FourBitNumber)0x2 }); Convert_Bytes( bytesToMidiEventConverter, new byte[] { 0xB3, 0x23, 0x7F }, new ControlChangeEvent((SevenBitNumber)0x23, (SevenBitNumber)0x7F) { Channel = (FourBitNumber)0x3 }); } }
private void serverThread() { while (true) { try { //Get the other IP, read data IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); Byte[] receiveBytes = udpServer.Receive(ref RemoteIpEndPoint); byte[] data = new byte[receiveBytes.Length - 1]; Array.Copy(receiveBytes, 1, data, 0, receiveBytes.Length - 1); string returnData = Encoding.ASCII.GetString(data); Console.WriteLine(RemoteIpEndPoint.Address.ToString() + ":" + returnData.ToString()); switch (receiveBytes[0]) { case 10: //If midi, play it BytesToMidiEventConverter converter = new BytesToMidiEventConverter(); MidiEvent tmpevent = converter.Convert(data); PlayMidi(tmpevent); break; case 20: //Reacts if (returnData.ToString() == "IsAnybodyThere") { if (connectionStatus != ConnectionStatus.Connected && connectionStatus != ConnectionStatus.Connecting) { address = RemoteIpEndPoint.Address.ToString(); MethodInvoker inv = delegate { Connect(true); }; Invoke(inv); } else { //Answers SendData(Encoding.ASCII.GetBytes("YesThereIs"), (int)code.connectionData); } } else if (returnData.ToString() == "YesThereIs") { //Connection is established connectionStatus = ConnectionStatus.Connected; } break; default: break; } } catch (Exception) { connectionStatus = ConnectionStatus.Disconnected; break; } } }
private void Convert_Bytes_Offset_Length(BytesToMidiEventConverter bytesToMidiEventConverter, byte[] bytes, int offset, int length, MidiEvent expectedMidiEvent) { var midiEvent = bytesToMidiEventConverter.Convert(bytes, offset, length); CompareEvents(expectedMidiEvent, midiEvent); }
private void Convert_Bytes(BytesToMidiEventConverter bytesToMidiEventConverter, byte[] bytes, MidiEvent expectedMidiEvent) { var midiEvent = bytesToMidiEventConverter.Convert(bytes); CompareEvents(expectedMidiEvent, midiEvent); }
private void Convert_StatusByte_DataBytes(BytesToMidiEventConverter bytesToMidiEventConverter, byte statusByte, byte[] dataBytes, MidiEvent expectedMidiEvent) { var midiEvent = bytesToMidiEventConverter.Convert(statusByte, dataBytes); CompareEvents(expectedMidiEvent, midiEvent); }