##### Sound Library - MIDIモジュールコントロール関数

# sdMidiGetCtlValue

MIDI音源のコントロールチェンジで設定された値の取得

### 書式

> `SDE_ERR sdMidiGetCtlValue( handle, control_num , value )
> SDMIDI handle
> const Sint8 control_num
> Sint8 *num
> `

### 引数

> handle | MIDIポートのハンドル
> control_num | MIDIコントロールチェンジの番号
> value | MIDI音源で設定された値を格納する変数のポインタ

### 戻り値

> SDE_ERR_NOTHING | エラーなし
> SDE_ERR_NO_INIT | Sound Library が初期化されていない

### 解説

> MIDI音源の該当ポートのMIDIコントロールチェンジの値を取得します。

### 用例

>     #define	SMPD_MIDI_CH (0)
>     sample()
>     {
>     	SDMIDI handle;
>     	SDS_MIDI_MES midi_mes;
>     	Sint8 value;

>     	sdMidiOpen( &handle);

>     	/*
>     	 * MIDI portのMIDI Control Changeの48番に1を設定するMIDI Messageを送信する
>     	 */
>     	sdMidiSetMes( handle, &midi_mes, SDD_MIDI_MES_CTL_CHG | SMPD_MIDI_CH, 48, 1);
>     	sdMidiSendMes( handle, &midi_mes, 0);

>     	/* 溜まっているHost Commandを全て送信 */
>     	sdSysHostCmdFlush( SDE_HOST_CMD_FLUSH_MODE_FORCE_ALL);

>     	/* 設定値を確認 */
>     	sdMidiGetCtlValue( handle, 48, &value);
>     	/* valueには1が入っているはず */

>     	/*
>     	 * MIDI portのMIDI Control Changeに123を設定するMIDI Messageを送信する
>     	 */
>     	sdMidiSetMes( handle, &midi_mes, SDD_MIDI_MES_CTL_CHG | SMPD_MIDI_CH, 48, 123);
>     	sdMidiSendMes( handle, &midi_mes, 0);

>     	/* 溜まっているHost Commandを全て送信 */
>     	sdSysHostCmdFlush( SDE_HOST_CMD_FLUSH_MODE_FORCE_ALL );

>     	/* 設定値を確認 */
>     	sdMidiGetCtlValue( handle, 48, &value);
>     	/* valueには123が入っているはず  */
>     }

### 備考

> 値はMIDI音源内の各Portで独立して設定・取得が可能です。また、MIDI Channelは影響しません。

> MIDI Control Changeの保存されている値はsdMidiGetCtlValue()関数によってが変化することはありません。

> control_numは現在無視され,つねにMIDIコントロールチェンジの48番の値を取得します。

### 参照

> sdMidiSendMes() | MIDIポートにMIDIメッセージを送信
> sdMidiSetMes() | MIDIポートに送信するMIDIメッセージを作成

sdMidiGetCtlValue

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000