次の例では、Next MIDI を用いて、簡単な MIDI 信号を再生します。
using System;
using System.Threading;
using NextMidi.DataElement;
using NextMidi.MidiPort.Output;
/* ... */
static void Main(string[] args)
{
// MIDI ポート名を指定して MIDI ポートを開く
if (args.Length != 1)
{
Console.WriteLine("1 port name required");
return;
}
var port = new MidiOutPort(args[0]);
try
{
port.Open();
}
catch
{
Console.WriteLine("no such port exists");
return;
}
// Program No.5 に切り替え
port.Send(new ProgramEvent(4));
// 500 ミリ秒待つ
Thread.Sleep(500);
// ドレミファソラシド
foreach (byte n in new byte[8] { 60, 62, 64, 65, 67, 69, 71, 72 })
{
// ベロシティ 112 でノートオンを送信
port.Send(new NoteOnEvent(n, 112));
Thread.Sleep(n != 72 ? 500 : 1500);
port.Send(new NoteOffEvent(n));
}
}