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

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

2011年9月4日日曜日

set_knob_label()

set_knob_labelは、ノブの値を数値じゃなくてテキストにしたいよ!っていう時に使います。第1引数にはノブの変数を、第2引数にはテキストを指定します。

on init
	declare ui_knob $Rate (0,17,1)
	set_knob_label($Rate,"Text")
end on

で、このように書いちゃうと、ノブをいくら回してもTextとしか表示されません。なので、この場合は、先に文字列配列を用意します。そして、ノブを回した時に文字列配列からテキストを読み込むようにします。

on init
	declare !rate_names[18]

	!rate_names[0] := "1/128"
	!rate_names[1] := "1/64"
	!rate_names[2] := "1/32"
	!rate_names[3] := "1/16 T"
	!rate_names[4] := "3/64"
	!rate_names[5] := "1/16"
	!rate_names[6] := "1/8 T"
	!rate_names[7] := "3/32"
	!rate_names[8] := "1/8"
	!rate_names[9] := "1/4 T"
	!rate_names[10] := "3/16"
	!rate_names[11] := "1/4"
	!rate_names[12] := "1/2 T"
	!rate_names[13] := "3/8"
	!rate_names[14] := "1/2"
	!rate_names[15] := "3/4"
	!rate_names[16] := "4/4"
	!rate_names[17] := "Bar"

	declare ui_knob $Rate (0,17,1)
	$Rate := 8
	set_knob_label($Rate,!rate_names[$Rate])
end on

on ui_control ($Rate)
	set_knob_label($Rate,!rate_names[$Rate])
end on

文字列配列rate_namesにそれぞれテキストを入れてます。その後に、ui_knobの初期値8(1/8)を指定して、ノブのラベルにテキストを設定しています。あとは、ui callbakにて、ノブの値が変更される度に、テキストも変更するようにしています。

0 件のコメント:

コメントを投稿