KSP User Interface Controls 日本語訳と実例



p.029 ui_button

  • マウスを離すときにボタン(コールバック)がトリガーされる(マウスアップ)
  • ボタンを自動化することはできません

画像の説明

on init
declare ui_button $free_sync_button
$free_sync_button := 1
set_text ($free_sync_button,"Sync")
make_persistent ($free_sync_button)
read_persistent_var($free_sync_button)
if ($free_sync_button = 0)
set_text ($free_sync_button,"Free")
else
set_text ($free_sync_button,"Sync")
end if
end on
on ui_control ($free_sync_button)
if ($free_sync_button = 0)
set_text ($free_sync_button,"Free")
else
set_text ($free_sync_button,"Sync")
end if
end on


p.030 ui_knob

declare ui_knob $<variable-name>(<min>,<max>,<display-ratio>)

<min>
ノブの最小値
<max>
ノブの最大値
<display-ratio>
ノブの値を表示のために<display-ratio>で割ります

画像の説明

on init
declare $count
declare !note_class[12]

note_class[0] := "C"

note_class[1] := "Db"

note_class[2] := "D"

note_class[3] := "Eb"

note_class[4] := "E"

note_class[5] := "F"

note_class[6] := "Gb"

note_class[7] := "G"

note_class[8] := "Ab"

note_class[9] := "A"

note_class[10] := "Bb"

note_class[11] := "B"

declare !note_names [128]
while ($count < 128)

note_names[$count] := !note_class[$count mod 12] & (($count/12)-2)

inc ($count)
end while
declare ui_knob $Note (0,127,1)
set_knob_label ($Note,!note_names[$Note])
make_persistent ($Note)
read_persistent_var($Note)
set_knob_label ($Note,!note_names[$Note])
end on
on ui_control ($Note)
set_knob_label ($Note,!note_names[$Note])
end on
knob displaying MIDI note


p.031 ui_file_selector

declare ui_file_selector $<variable-name>
ファイルセレクタを作成する

備考
スクリプトスロットごとに適用できるファイルセレクタは1つだけです。

on init
set_ui_height(5)
declare @basepath
{set browser path here, for example
@basepath := "/Users/username/Desktop/MIDI Files/"}
declare @file_name
declare @file_path
declare ui_file_selector $file_browser
declare $browser_id
$browser_id := get_ui_id($file_browser)
set_control_par_str($browser_id,$CONTROL_PAR_BASEPATH,@basepath)
set_control_par($browser_id,$CONTROL_PAR_FILE_TYPE,$NI_FILE_TYPE_MIDI)
set_control_par($browser_id,$CONTROL_PAR_COLUMN_WIDTH,180)
set_control_par($browser_id,$CONTROL_PAR_HEIGHT,170)
set_control_par($browser_id,$CONTROL_PAR_WIDTH,550)
move_control_px($file_browser,66,2)
declare ui_button $prev
declare ui_button $next
move_control($prev,5,1)
move_control($next,6,1)
declare $load_mf_id
$load_mf_id := -1
end on
on async_complete
if ($NI_ASYNC_ID = $load_mf_id)
$load_mf_id := -1
if ($NI_ASYNC_EXIT_STATUS = 0)
message("MIDI file not found!")
else
message("Loaded MIDI File: " & @file_name)
end if
end if
end on
on ui_control ($file_browser)
@file_name := fs_get_filename($browser_id,0)
@file_path := fs_get_filename($browser_id,2)
$load_mf_id := load_midi_file(@file_path)
end on
on ui_control ($prev)
fs_navigate($browser_id,0)
@file_name := fs_get_filename($browser_id,0)
@file_path := fs_get_filename($browser_id,2)
$load_mf_id := load_midi_file(@file_path)
$prev := 0
end on
on ui_control ($next)
fs_navigate($browser_id,1)
@file_name := fs_get_filename($browser_id,0)
@file_path := fs_get_filename($browser_id,2)
$load_mf_id := load_midi_file(@file_path)
$next := 0
end on


p.033 ui_label

declare ui_label $<variable-name> (<width>,<height>)

<width>
グリッド単位のラベルの幅
<height>
グリッド単位でのラベルの高さ

画像の説明

画像の説明

on init
declare ui_label $label_1 (1,1)
set_text ($label_1,"Small Label")
declare ui_label $label_2 (3,6)
set_text ($label_2,"Big Label")
add_text_line ($label_2,"…with a second text line")
end on

on init
declare ui_label $label_1 (1,1)
set_text ($label_1,"Small Label")
hide_part ($label_1,$HIDE_PART_BG)
end on


p.034 ui_level_meter

declare ui_level_meter $<variable-name>

備考
レベルメーターは、バスまたは楽器マスターの出力レベルにのみ接続できます。

画像の説明

on init
declare ui_level_meter $Level1
declare ui_level_meter $Level2
attach_level_meter (get_ui_id($Level1),-1,-1,0,-1)
attach_level_meter (get_ui_id($Level2),-1,-1,1,-1)
end on


p.035 ui_menu

declare ui_menu $<variable-name>
ユーザーインターフェイスのドロップダウンメニューを作成する

画像の説明

画像の説明

on init
declare ui_menu $menu
add_menu_item ($menu, "First Entry",0)
add_menu_item ($menu, "Second Entry",1)
add_menu_item ($menu, "Third Entry",2)
end on

on init
declare $count
declare ui_menu $menu
$count := 1
while ($count < 17)
add_menu_item ($menu, "Entry Nr: " & $count,$count)
inc ($count)
end while
end on


p.036 ui_slider

declare ui_slider $<variable-name> (<min>,<max>)

<min>
スライダの最小値
<max>
スライダの最大値

画像の説明

on init
declare ui_slider $test (0,100)
set_control_par(get_ui_id($test),$CONTROL_PAR_DEFAULT_VALUE,50)
end on


p.037 ui_switch

declare ui_switch $<variable-name>

備考

  • マウス(クリックしてマウスをクリック)をクリックすると、スイッチ(つまりそのコールバック)がトリガされます。
  • スイッチを自動化することができます

画像の説明

on init
declare ui_switch $rec_button
set_text ($rec_button,"Record")
declare $rec_button_id
$rec_button_id:= get_ui_id ($rec_button)
set_control_par ($rec_button_id,$CONTROL_PAR_WIDTH,60)
set_control_par ($rec_button_id,$CONTROL_PAR_HEIGHT,20)
set_control_par ($rec_button_id,$CONTROL_PAR_TEXT_ALIGNMENT,1)
set_control_par ($rec_button_id,$CONTROL_PAR_POS_X,250)
set_control_par ($rec_button_id,$CONTROL_PAR_POS_Y,5)
end on


p.038 ui_table

declare ui_table %<array>[columns](<width>,<height>,<range>)

<width>
グリッド単位のテーブルの幅
<height>
グリッド単位でのテーブルの幅
<range>
テーブルの範囲。負の値を使用すると、バイポーラ表が作成されます

画像の説明
画像の説明

on init
declare ui_table %table_uni[10] (2,2,100)
declare ui_table %table_bi[10] (2,2,-100)
end on

on init
declare ui_table %table[128] (5,2,100)
declare ui_value_edit $Steps (1,127,1)
$Steps := 16
set_table_steps_shown (%table,$Steps)
end on
on ui_control ($Steps)
set_table_steps_shown (%table,$Steps)
end on


p.039 ui_text_edit

declare ui_text_edit @<variable-name>
画像の説明

on init
declare ui_text_edit @label_name
make_persistent(@label_name)
set_control_par_str(get_ui_id(@label_name),$CONTROL_PAR_TEXT,"empty")
set_control_par(get_ui_id(@label_name),$CONTROL_PAR_FONT_TYPE,25)
set_control_par(get_ui_id(@label_name),$CONTROL_PAR_POS_X,73)
set_control_par(get_ui_id(@label_name),$CONTROL_PAR_POS_Y,2)
declare ui_label $pattern_lbl(1,1)
set_text($pattern_lbl,"")
move_control_px($pattern_lbl,66,2)
end on
on ui_control (@label_name)
message(@label_name & " it is!")
end on


p.040 ui_value_edit

declare ui_value_edit $<variable>(<min>,<max>,<$display-ratio>)

<min>
値の編集の最小値
<max>
値の編集の最大値
<display-ratio>
表示のために値を<display-ratio>で割ります。数字の代わりに音符名を表示するには、$ VALUE_EDIT_MODE_NOTE_NAMESを使用することもできます。

画像の説明

on init
declare ui_value_edit $test (0,100,$VALUE_EDIT_MODE_NOTE_NAMES)
set_text ($test,"")
set_control_par (get_ui_id($test),$CONTROL_PAR_WIDTH,45)
move_control_px($test,66,2)
end on
on note
$test := $EVENT_NOTE
end on

on init
declare ui_value_edit $test (0,10000,1000)
set_text ($test,"Value")
end on
画像の説明


p.041 ui_waveform

declare ui_waveform $<variable>(<width>,<height>)
ゾーンとスライスを表示する波形コントロールを作成します。また、スライスごとの特定のパラメータの制御やMIDIのドラッグアンドドロップ機能の制御にも使用できます

<width>
グリッド単位の波形の幅
<height>
グリッド単位での波形の高さ

on init
declare ui_waveform $Waveform(6,6)
attach_zone ($Waveform,find_zone(”Test”),0)
end on


p.042 ui_xy

XYパッドを作成する


備考

  • XYパッドの各軸の範囲は常に0.0〜1.0です。
  • XYパッド内のカーソルの数(対話可能要素)は、アレイのサイズによって決まります。配列内の各インデックスは1つのカーソルの1つの軸を表します。したがって、各カーソルには2つのインデックスが必要です。これを適用すると、3つのカーソルを持つXYパッドを作成する場合、XY配列のサイズは6つの要素になります。
  • XYアレイの最大サイズは32エレメントなので、XYパッドの最大カーソル数は16です。
  • 配列の偶数インデックスはカーソルのX軸値を保持し、奇数インデックスはY軸値を保持します。したがって、インデックス0は最初のカーソルのX値であり、インデックス1は最初のカーソルのY値です。
  • $ CONTROL_PAR_MOUSE_MODEパラメータを使用して、XYパッドがマウスの対話にどのように反応するかを定義することができます。

画像の説明

on init
{basic initialization}
message("")
make_perfview
set_ui_color(9ddddddh)
set_ui_height_px(350)
{create an XY pad with 2 cursors}
declare ui_xy ?myXY[4]
{store the UI ID of the XY pad}
declare $xyID
$xyID := get_ui_id(?myXY)
{skinning the cursors}
set_control_par_str_arr($xyID, $CONTROL_PAR_CURSOR_PICTURE, ...
"Picture1", 0)
set_control_par_str_arr($xyID, $CONTROL_PAR_CURSOR_PICTURE, ...
"Picture2", 2)
{set automation IDs and names}
set_control_par_arr($xyID, $CONTROL_PAR_AUTOMATION_ID, 0, 0)
set_control_par_arr($xyID, $CONTROL_PAR_AUTOMATION_ID, 1, 1)
set_control_par_arr($xyID, $CONTROL_PAR_AUTOMATION_ID, 2, 2)
set_control_par_arr($xyID, $CONTROL_PAR_AUTOMATION_ID, 3, 3)

set_control_par_str_arr($xyID, $CONTROL_PAR_AUTOMATION_NAME, ...
"Cutoff", 0)
set_control_par_str_arr($xyID, $CONTROL_PAR_AUTOMATION_NAME, ...
"Resonance", 1)
set_control_par_str_arr($xyID, $CONTROL_PAR_AUTOMATION_NAME, ...
"Delay Pan", 2)
set_control_par_str_arr($xyID, $CONTROL_PAR_AUTOMATION_NAME, ...
"Delay Feedback", 3)
{define the mouse behaviour}
set_control_par($xyID, $CONTROL_PAR_MOUSE_MODE, 0)
set_control_par($xyID, $CONTROL_PAR_MOUSE_BEHAVIOUR_X, 1000)
set_control_par($xyID, $CONTROL_PAR_MOUSE_BEHAVIOUR_Y, 1000)
{position and size}
set_control_par($xyID, $CONTROL_PAR_POS_X, 50)
set_control_par($xyID, $CONTROL_PAR_POS_Y, 50)
set_control_par($xyID, $CONTROL_PAR_WIDTH, 200)
set_control_par($xyID, $CONTROL_PAR_HEIGHT, 200)
{move the cursors to the center of the XY pad}
?myXY[0] := 0.5 {1st cursor, X axis}
?myXY[1] := 0.5 {1st cursor, Y axis}
?myXY[2] := 0.5 {2nd cursor, X axis}
?myXY[3] := 0.5 {2nd cursor, Y axis}
end on


最後までお読みいただきありがとうございます!
この記事が気に入ったらシェアをお願いします。

  画像の説明

Total:3673 Today:1 Yesterday:0 Now:9

コメント


認証コード4052

コメントは管理者の承認後に表示されます。