/// <summary> /// プログラムチェンジイベントを送信 /// </summary> /// <param name="gmPrg"></param> /// <param name="channel">ch番号 0-15 指定</param> public void ProgramChange( GMProgram gmPrg, byte channel ) { if ( channel < 0 && 15 < channel ) { throw new MoEABCPlayException ( "チャンネル数が範囲を超えています[ 0-15 ]" ); } handle.Send ( new byte [] { (byte)( 0xC0 | channel ), (byte)gmPrg } ); }
public static uint midiOutShortMsg(IntPtr hmo, byte status, byte channel, GMProgram data1, byte data2) { return midiOutShortMsg(hmo, (status << 4) | channel | ((byte)data1 << 8) | (data2 << 16)); }
/// <summary> /// プログラムチェンジイベントを送信 /// Channel0 固定 /// </summary> /// <param name="gmPrg"></param> public void ProgramChange( GMProgram gmPrg ) { ProgramChange ( gmPrg, 0 ); }