package com.netthreads.network.osc;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiDevice;
import javax.sound.midi.MidiDevice.Info;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.ShortMessage;
import org.junit.Test;
public class TestMidiTXRX
{
private static final String SYNTH_NAME = "Gervill";
//@Test
public void testSendNote()
{
MidiDevice.Info[] midiDeviceInfo = MidiSystem.getMidiDeviceInfo();
for (Info info : midiDeviceInfo)
{
try
{
MidiDevice device = MidiSystem.getMidiDevice(info);
if (device.getDeviceInfo().getName().equals(SYNTH_NAME))
{
device.open();
ShortMessage midiMessage = new ShortMessage();
try
{
midiMessage.setMessage(ShortMessage.NOTE_ON, 0, 60, 93);
}
catch (InvalidMidiDataException e)
{
e.printStackTrace();
}
if (device.isOpen())
{
System.out.println("Send note");
device.getReceiver().send(midiMessage, -1);
}
Thread.sleep(2000);
device.close();
}
}
catch (MidiUnavailableException e)
{
e.printStackTrace();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
@Test
public void dummyTest()
{
}
}