このブログの内容が難しい方へ

もし、内容が難しくて理解出来ない場合には、Cプログラミング入門以前などのプログラミングを始める前に知っておくと良い事が書いてある本を読んでから、その後にやさしいC 第3版 [やさしいシリーズ]などのC言語というプログラミング言語の入門書を読むことをお勧めします。また、MIDIの知識がない人は、コンプリートMIDIブックなどがお勧めです。そこまで理解できれば、KSP特有の作法は、このブログを参考にすれば大丈夫だと思います。

2011年9月17日土曜日

set_event_par(),set_event_par_arr()

set_event_parは、イベントのパラメータを設定するだけです。第1引数にはIDを、第2引数にはパラメータの種類を、第3引数には値を指定します。


on note
	set_event_par($EVENT_ID,$EVENT_PAR_NOTE,30)
end on

何を弾いても、ノートナンバー30の音が再生されます。

set_event_par_arrは、第1引数にはIDを、第2引数は$EVENT_PAR_ALLOW_GROUPで固定、第3引数には1でグループを有効に0で無効に、第4引数にはグループインデックスを指定します。


on note
	disallow_group($ALL_GROUPS)
	set_event_par_arr($EVENT_ID,$EVENT_PAR_ALLOW_GROUP,1,find_group("Single"))
end on

この場合は、Singleというグループだけを有効にしています。

get_event_ids(),get_event_par(),get_event_par_arr()

get_event_idsは、現在、有効なイベントがあれば、そのIDを配列に入れていきます。get_event_idsは、呼び出される度に配列の内容を上書きします。


on init
	declare %Array[200]
end on

on note
	get_event_ids(%Array)
	message(%Array[0])
end on

これは、現在有効なイベントの1つ目のIDをステータスラインに表示します。

get_event_parは、第1引数にはイベントのIDを、第2引数には取り出すパラメータの種類を指定して、その値を取り出します。


on note
	message(get_event_par($EVENT_ID,$EVENT_PAR_VELOCITY))
end on

この場合は、ノートオンのベロシティがステータスラインに表示されます。

get_event_par_arrは、指定したグループが有効か無効かの状態を返します。第1引数にはイベントのIDを、第2引数は$EVENT_PAR_ALLOW_GROUPで固定、第3引数にはグループインデックスを指定します。


on init
	declare $State
end on

on note
	disallow_group($ALL_GROUPS)
	$State := get_event_par_arr($EVENT_ID,$EVENT_PAR_ALLOW_GROUP,find_group("Single"))
	message($State)
end on

この場合は、Singleというグループが無効になっているので、0がステータスラインに表示されます。

on init
	declare $State
end on

on note
	$State := get_event_par_arr($EVENT_ID,$EVENT_PAR_ALLOW_GROUP,find_group("Single"))
	message($State)
end on

このようにすると、1がステータスラインに表示されます。

2011年9月11日日曜日

ignore_event(),ignore_controller()

ignore_eventは、指定したイベントのIDのノートイベントを無視しちゃいます。


on note
	ignore_event($EVENT_ID)
end on

どの鍵盤を押しても、反応がなくなります。

ignore_controllerは、コントローラーイベントを無視しちゃいます。


on controller
	if($CC_NUM = $VCC_PITCH_BEND)
		ignore_controller
	end if
end on

ピッチベンドを無効化しています。