KSPリファレンスマニュアル 21 - コントロールパラメーター(Control Parameters)

KSPリファレンスマニュアル 21 - コントロールパラメーター(Control Parameters)


一般

$CONTROL_PAR_NONE

ウィジェットには何も適用されません。

$CONTROL_PAR_CUSTOM_ID

特定のUIウィジェットに結び付けられたカスタム値を設定または取得します。これにより、UIウィジェットに独自のタグを付けて、たとえばスクリプト内の特定のパラメーターに結び付けることができます。

$CONTROL_PAR_TYPE

UIウィジェットのタイプを返します。

get_control_par() でのみ機能します。

返される可能性のある値は次のとおりです:

$NI_CONTROL_TYPE_NONE(UI IDが通常の変数のものであり、UIウィジェットではありません)

$NI_CONTROL_TYPE_BUTTON

$NI_CONTROL_TYPE_KNOB

$NI_CONTROL_TYPE_MENU

$NI_CONTROL_TYPE_VALUE_EDIT

$NI_CONTROL_TYPE_LABEL

$NI_CONTROL_TYPE_TABLE

$NI_CONTROL_TYPE_WAVEFORM

$NI_CONTROL_TYPE_WAVETABLE

$NI_CONTROL_TYPE_SLIDER

$NI_CONTROL_TYPE_TEXT_EDIT

$NI_CONTROL_TYPE_FILE_SELECTOR

$NI_CONTROL_TYPE_SWITCH

$NI_CONTROL_TYPE_XY

$NI_CONTROL_TYPE_LEVEL_METER

$NI_CONTROL_TYPE_MOUSE_AREA

$NI_CONTROL_TYPE_PANEL


サイズ、位置、外観

$CONTROL_PAR_POS_X

水平位置をピクセル単位で設定または取得します。

$CONTROL_PAR_POS_Y

垂直位置をピクセル単位で設定または取得します。

$CONTROL_PAR_GRID_X

水平位置をグリッド単位で設定または取得します。

$CONTROL_PAR_GRID_Y

垂直位置をグリッド単位で設定または取得します。

$CONTROL_PAR_WIDTH

コントロールの幅をピクセル単位で設定または取得します。

$CONTROL_PAR_HEIGHT

コントロールの高さをピクセル単位で設定または取得します。

$CONTROL_PAR_GRID_WIDTH

コントロールの幅をグリッド単位で設定または取得します。

$CONTROL_PAR_GRID_HEIGHT

コントロールの高さをグリッド単位で設定または取得します。

$CONTROL_PAR_HIDE

非表示ステータスを設定または取得します。次のビルトイン定数と組み合わせて使用できます:

$HIDE_PART_BGui_knobui_labelui_value_editui_tableの背景)

$HIDE_PART_VALUEui_knobui_tableの値)

$HIDE_PART_TITLEui_knobのタイトル)

$HIDE_PART_MOD_LIGHTui_knobのモッドリングライト)

$HIDE_PART_NOTHING(ウィジェットのすべての要素を表示)

$HIDE_PART_CURSORui_xyのカーソル)

$HIDE_WHOLE_CONTROL

$CONTROL_PAR_PICTURE

画像名を設定または取得します。インストゥルメントがリソースコンテナを参照している場合は、フルパスと拡張子は不要です。この場合、Kontaktは指定されたファイル名をpicturesサブフォルダ内で探します。NKIがリソースコンテナを参照していない場合は、まずユーザーのpicturesフォルダ(Documents/Native Instruments/Kontakt 8/pictures)を探し、次にKontaktのファクトリーpicturesフォルダを探します。

すべての画像には、Kontaktがその画像をどのようにレンダリングすべきかという重要な情報を含む、同じ名前のテキストファイルを添える必要があります。たとえばpic.pngがある場合、次の行を記述したpic.txtも必要です:

Has Alpha Channel: yes 
Number of Animations: 6
Horizontal Animation: no
Vertical Resizable: no
Horizontal Resizable: no
Fixed Top: 0
Fixed Bottom: 0
Fixed Left: 0
Fixed Right: 0
  1. Has Alpha Channelは、画像が透明(アルファ)レイヤーを含むかどうかをKontaktに伝えます。判断がつかない場合はyesを使用してください。
  2. Number of Animationsは、画像に含まれるフレーム数を設定します。これにより、Kontaktはフィルムストリップアニメーション(つまりノブ、スライダー、ボタン)を適切にレンダリングできます。
  3. Horizontal Animationは、フィルムストリップアニメーションの方向を指定します。ノブ、水平スライダー、ボタンには垂直(no)方向を、垂直スライダーには水平方向(yes)を使うのが目安です。
  4. Vertical Resizableは、$CONTROL_PAR_HEIGHTコントロールパラメーターを使って画像の高さを調整することをKontaktに許可します。
  5. Horizontal Resizableは、$CONTROL_PAR_WIDTHコントロールパラメーターを使って画像の幅を調整することをKontaktに許可します。
  6. Fixed Top/Bottom/Left/Rightプロパティを使うと、画像をリサイズするときに画像の端の周囲の特定の領域をそのまま保つことができます。これにより、角の丸いリサイズ可能なボタンや、右側のドロップダウン矢印が常に固定されるリサイズ可能なメニューなどが作れます。

注意:この.txtファイルは末尾に空行が1行必要で、改行(EOL)タイプはWindows(CR/LF)でなければなりません!

$CONTROL_PAR_PICTURE_STATE

ui_labelui_tableui_value_editui_xyのコントロールのピクチャーステートを設定または取得します。

$CONTROL_PAR_PARENT_PANEL

ウィジェットを特定のui_panelに割り当てます。値はそのパネルのUI IDである必要があります。1つのウィジェットが所属できる親パネルは1つだけです。

$CONTROL_PAR_Z_LAYER

ウィジェットのZレイヤー位置を設定または取得します。ウィジェットは3つのレイヤーのいずれかに配置できます。各レイヤー内では、ウィジェットタイプ順、次に宣言順に配置されます。

0:既定のレイヤー。すべてのウィジェットは既定でこのレイヤーに割り当てられます。

-1:背景レイヤー。このレイヤーのウィジェットは既定のレイヤーより下に配置されます。

1:前景レイヤー。このレイヤーのウィジェットは既定のレイヤーと背景レイヤーの上に配置されます。

ウィジェットタイプ別のZレイヤー順(上から下へ):

  1. Mouse Area
  2. Text Edit
  3. XY Pad
  4. Table
  5. Menu
  6. Value Edit
  7. Button
  8. Switch
  9. Slider
  10. Knob
  11. Label
  12. Level Meter
  13. Wavetable
  14. Waveform
  15. File Selector

$CONTROL_PAR_MIN_VALUE

ウィジェットに宣言された最小値を返します。このコントロールパラメーターはui_knobui_sliderui_value_editでのみ意味を持ちます。

get_control_par() でのみ機能します。

$CONTROL_PAR_MAX_VALUE

ウィジェットに宣言された最小値を返します。このコントロールパラメーターはui_knobui_sliderui_value_editでのみ意味を持ちます。

get_control_par() でのみ機能します。

$CONTROL_PAR_VALUE

ウィジェットの値を設定または取得します。これを行ってもウィジェットのUIコールバックは実行されないことに注意してください!

$CONTROL_PAR_DEFAULT_VALUE

ウィジェットの既定値を設定または取得します。[Ctrl](Windows)または[Cmd](macOS)キーを押しながらクリックすると、ウィジェットは既定値に設定されます。これはui_knobui_sliderにのみ適用されます。


テキスト

$CONTROL_PAR_TEXT

set_text() と同様に、ウィジェットのテキストを設定または取得します。

$CONTROL_PAR_TEXTLINE

add_text_line() と同様に、複数行ラベルにテキスト行を追加します。

$CONTROL_PAR_IDENTIFIER

スクリプトで宣言されたとおりのUIウィジェット名を、型指定子($%@?)を除いて返します。

get_control_par_str() でのみ機能します。

$CONTROL_PAR_HELP

ヘルプテキストを設定または取得します。これは、ウィジェットの上にカーソルを合わせたときにKontaktのInfo paneに表示されます。

$CONTROL_PAR_LABEL

set_knob_label() と同様に、ウィジェットのラベルを設定または取得します。ただし、このコントロールパラメーターはノブだけに限定されず、ui_sliderui_switchui_xyでも機能します。

これは、ホストオートメーションを使用するときにホストに公開される文字列でもあります。

$CONTROL_PAR_SHORT_NAME

ウィジェットのショートネームを設定または取得します。

$CONTROL_PAR_UNIT

set_knob_unit() と同様に、ノブのユニットを設定または取得します。

$CONTROL_PAR_FONT_TYPE

フォントタイプを設定または取得します。0 ... 25の数値は、下に示す26種類のファクトリーフォントのいずれかを選ぶために使います。カスタムフォントを使うにはget_font_id()と組み合わせます。

レスポンシブなウィジェット(ui_buttonui_switchui_menu)では、次のコントロールパラメーターを使ってフォントを状態ごとに個別に設定することもできます:

$CONTROL_PAR_FONT_TYPE_ON

$CONTROL_PAR_FONT_TYPE_OFF_PRESSED

$CONTROL_PAR_FONT_TYPE_ON_PRESSED

$CONTROL_PAR_FONT_TYPE_OFF_HOVER

$CONTROL_PAR_FONT_TYPE_ON_HOVER

5つの追加状態フォントをいずれも使用しない場合は、代わりに既定($CONTROL_PAR_FONT_TYPE)が使用されます。

$CONTROL_PAR_DISABLE_TEXT_SHIFTING

ui_buttonまたはui_switchをクリックしたときのテキスト位置のシフトを無効にします。

$CONTROL_PAR_TEXTPOS_Y

ui_buttonui_switchui_labelui_menuのテキスト、およびui_value_editのパラメーター名の垂直位置をピクセル単位でシフトします。

$CONTROL_PAR_TEXT_ALIGNMENT

ui_buttonui_switchui_labelui_menuui_text_editのテキスト配置:

0:左

1:中央

2:右


オートメーション

$CONTROL_PAR_ALLOW_AUTOMATION

UIウィジェットをオートメーション可能にするか(1)しないか(0)を設定または取得します。既定では、オートメーション可能なすべてのウィジェット(ui_knobui_sliderui_switchui_xyのカーソル)でオートメーションが許可されます。

このコントロールパラメーターはon initコールバック内でのみ使用できます。

ui_xyのカーソルでオートメーションを許可する場合は、set_control_par_arr()コマンドをset_control_par()の代わりに使用します。

$CONTROL_PAR_AUTOMATION_NAME

set_control_par_str() と併用して、UIウィジェットにオートメーション名を設定または取得します。

$CONTROL_PAR_LABELを使って、オートメーション値の文字列を設定できます。

ui_xyのカーソルにオートメーション名を割り当てる場合は、set_control_par_str_arr()コマンドをset_control_par_str()の代わりに使用します。

$CONTROL_PAR_AUTOMATION_ID

UIウィジェットにオートメーションIDを設定または取得します。範囲は0 ... 2047です。initコールバック内でのみ使用できます。

オートメーションIDは、オートメーション可能なウィジェット(ui_knobui_sliderui_switchui_xyのカーソル)にのみ割り当てられます。

ui_xyのカーソルにオートメーションIDを割り当てる場合は、set_control_par_arr()コマンドをset_control_par()の代わりに使用します。


キーモディファイア

$CONTROL_PAR_KEY_SHIFT

UIウィジェットをクリックしたときにShiftキーが押されていれば1を返します(それ以外は0)。

ui_menuui_value_editはサポートされません。

ui_sliderui_knobにおける基本的な[Shift]モディファイアの機能は維持されます。

$CONTROL_PAR_KEY_ALT

UIウィジェットをクリックしたときに[Alt](Windows)または[Opt](macOS)キーが押されていれば1を返します(それ以外は0)。

ui_menuui_value_editはサポートされません。

$CONTROL_PAR_KEY_CONTROL

UIウィジェットをクリックしたときに[Ctrl](Windows)または[Cmd](macOS)キーが押されていれば1を返します(それ以外は0)。

ui_menuui_value_editはサポートされません。

ui_sliderui_knobにおける基本的な[Ctrl]/[Cmd]モディファイアの機能は維持されます。


特定のUIウィジェット


インストゥルメントのアイコンと壁紙

$INST_ICON_ID

インストゥルメントアイコンのIDです。

インストゥルメントアイコンを非表示にすることもできます:

set_control_par($INST_ICON_ID, $CONTROL_PAR_HIDE, $HIDE_WHOLE_CONTROL)

インストゥルメントアイコンに別の画像ファイルを読み込むこともできます:

set_control_par_str($INST_ICON_ID, $CONTROL_PAR_PICTURE, <file-name>)

$INST_WALLPAPER_ID

インストゥルメントの壁紙のIDです。$INST_ICON_IDと同様の方法で使用します:

set_control_par_str($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, <file_name>)

このコマンドはon initコールバック内でのみ使用できます。スクリプト経由で設定した壁紙はInstrument Optionsダイアログで設定したものを置き換え、リソースコンテナから壁紙を読み込むときにContent Missingダイアログでチェックされないことに注意してください。

このコマンドは、リソースコンテナ内にある壁紙のみをサポートします。

複数のスクリプトスロットで使用した場合は、最後に壁紙を設定したスクリプトスロットのものが読み込まれます。


ui_file_selector

$CONTROL_PAR_BASEPATH

ui_file_selectorのベースパスを設定または取得します。このコントロールパラメーターは任意のコールバックで使用できます。

ベースパス内のサブフォルダの数には注意してください。ファイルシステムのスキャンに時間がかかりすぎる場合があります。

$CONTROL_PAR_COLUMN_WIDTH

ui_file_selectorの列の幅を設定または取得します。このコントロールパラメーターはon initコールバック内でのみ使用できます。

$CONTROL_PAR_FILEPATH

ui_file_selectorで現在選択されている実際のパス(ファイルのフルパス)を設定または取得します。ファイルパスはインストゥルメントのベースパスのサブパスである必要があります。このコントロールパラメーターは、インストゥルメントを読み込むときにファイルセレクターの以前の状態を復元するのに便利です。on initコールバック内でのみ使用できます。

$CONTROL_PAR_FILE_TYPE

ui_file_selectorのファイルタイプを設定または取得します。on initコールバック内でのみ使用できます。

次のファイルタイプが利用できます:

$NI_FILE_TYPE_MIDI

$NI_FILE_TYPE_AUDIO

$NI_FILE_TYPE_ARRAY


ui_label

$CONTROL_PAR_DND_BEHAVIOUR

ui_labelのドラッグ&ドロップの動作を設定または取得します。値を1にすると、そのラベルはドラッグ&ドロップ領域となり、ユーザーは現在メモリに保持されているMIDIオブジェクトを簡単なドラッグ&ドロップ操作でエクスポートできます。KSPでのMIDIの扱いについて詳しくは、MIDIオブジェクトコマンドを参照してください。

$CONTROL_PAR_MIDI_EXPORT_AREA_IDX

512個あるMIDIオブジェクトのエクスポート領域のうち1つを、特定のui_label経由でドラッグ&ドロップでエクスポートするために割り当てます。KSPでのMIDIの扱いについて詳しくは、MIDIオブジェクトコマンドを参照してください。


ui_level_meter

$CONTROL_PAR_BG_COLOR

ui_level_meterの背景色を設定または取得します。

$CONTROL_PAR_OFF_COLOR

ui_level_meterの2つ目の背景色を設定します。

$CONTROL_PAR_ON_COLOR

ui_level_meterのメインのレベルメーターの色を設定します。

$CONTROL_PAR_OVERLOAD_COLOR

ui_level_meterのオーバーロードセクションの色を設定します。

$CONTROL_PAR_PEAK_COLOR

現在のピークレベルを示す小さなバーの色を設定します。

$CONTROL_PAR_VERTICAL

ui_level_meterを垂直(1)または水平(0、既定)に配置します。

$CONTROL_PAR_RANGE_MIN

$CONTROL_PAR_RANGE_MAX

ui_level_meterの表示範囲の最小値と最大値を設定します。既定の範囲は0 ... 1000000です。

最大値が最小値より小さい場合(またはその逆の場合)、表示は反転します。


ui_menu

$CONTROL_PAR_NUM_ITEMS

特定のui_menu内のメニュー項目の数を返します。

get_control_par() でのみ機能します。

$CONTROL_PAR_SELECTED_ITEM_IDX

現在選択されているメニュー項目のインデックスを返します。

get_control_par() でのみ機能します。


ui_mouse_area

$CONTROL_PAR_DND_ACCEPT_AUDIO

$CONTROL_PAR_DND_ACCEPT_MIDI

$CONTROL_PAR_DND_ACCEPT_ARRAY

ui_mouse_areaがオーディオ、MIDI、NKA配列ファイルを受け付けられるようにします。

これらには次のいずれかの値を設定できます:

$NI_DND_ACCEPT_NONE

$NI_DND_ACCEPT_ONE

$NI_DND_ACCEPT_MULTIPLE

$CONTROL_PAR_RECEIVE_DRAG_EVENTS

on ui_controlコールバックがui_mouse_areaでドロップイベントのみに対して(0に設定した場合)トリガーされるか、ドラッグイベントに対しても(1に設定した場合)トリガーされるかを設定します。

UIコールバックには2つのビルトイン変数があります:

$NI_MOUSE_EVENT_TYPE

コールバックをトリガーしたイベントタイプを指定します。次のいずれかの値をとります:

$NI_MOUSE_EVENT_TYPE_DND_DROP

$NI_MOUSE_EVENT_TYPE_DND_DRAG

$NI_MOUSE_OVER_CONTROL

1:ドラッグイベントでマウスがui_mouse_areaに入った

0:ドラッグイベントでマウスがui_mouse_areaから出た

例:

on ui_control ($mouseArea)   
    if ($NI_MOUSE_EVENT_TYPE = $NI_MOUSE_EVENT_TYPE_DROP)     
        message(num_elements(!NI_DND_ITEMS_AUDIO))      
    end if      

    if ($NI_MOUSE_EVENT_TYPE = $NI_MOUSE_EVENT_TYPE_DRAG)    
        message(num_elements(!NI_DND_ITEMS_AUDIO))    
        message($MOUSE_OVER_CONTROL)     
    end if
end on

ui_slider

$CONTROL_PAR_MOUSE_BEHAVIOUR

-5000から5000までの値で、ui_sliderの移動方向と感度を設定します。

設定はスライダー画像のサイズに対する相対値です。

負の値は垂直スライダーの動作、正の値は水平方向の動作になります。


ui_table

$NI_CONTROL_PAR_IDX

ui_tableの列で、on ui_controlコールバックをトリガーしたもののインデックスを返します。

$CONTROL_PAR_BAR_COLOR

ui_tableのステップバーの色を設定または取得します。

色は次の形式の16進数値で設定します:

0ff0000h { red }

先頭の0は、その値が数値であることをKontaktに知らせるためだけのものです。末尾のhまたはHは、それが16進数値であることを示します。

$CONTROL_PAR_ZERO_LINE_COLOR

ui_tableの中央線の色を設定または取得します。


ui_value_edit

$CONTROL_PAR_SHOW_ARROWS

ui_value_editの矢印を非表示にします。

0:矢印は非表示

1:矢印は表示

$CONTROL_PAR_VALUEPOS_Y

ui_value_editのパラメーター値の垂直位置をピクセル単位でシフトします。


ui_waveform

ウェーブフォームフラグ定数

attach_zone() と組み合わせて使用します。ビット演算の.or.を使ってフラグ定数を組み合わせられます。

$UI_WAVEFORM_USE_SLICES

Zoneのスライスマーカーを表示します。

$UI_WAVEFORM_USE_TABLE

スライスごとのテーブルを表示します。

注意:これはスライスマーカーも有効な場合にのみ機能します。

$UI_WAVEFORM_TABLE_IS_BIPOLAR

テーブルをバイポーラにします。

$UI_WAVEFORM_USE_MIDI_DRAG

MIDIドラッグ&ドロップアイコンを表示します。

注意:これはスライスマーカーも有効な場合にのみ機能します。

ウェーブフォームプロパティ定数

get_ui_wf_property() および set_ui_wf_property() と組み合わせて使用します。

$UI_WF_PROP_PLAY_CURSOR

再生カーソルの位置をマイクロ秒単位で設定または取得します。

$UI_WF_PROP_FLAGS

attach_zone() コマンドを使った後に新しいフラグ定数を設定するために使用します。

$UI_WF_PROP_TABLE_VAL

インデックス指定したスライスのテーブルの値を設定または取得します。

$UI_WF_PROP_TABLE_IDX_HIGHLIGHT

ui_waveformウィジェット内でインデックス指定したスライスをハイライトします。

$UI_WF_PROP_MIDI_DRAG_START_NOTE

MIDIドラッグ&ドロップ機能のスタートノートを定義します。

$CONTROL_PAR_WF_VIS_MODE

ウェーブフォームの描画方法を変更します。有効な値:

$NI_WF_VIS_MODE_1(既定)

$NI_WF_VIS_MODE_2(X-ray)

$NI_WF_VIS_MODE_3(X-ray filled)

$CONTROL_PAR_BG_COLOR

ui_waveformの背景色を設定または取得します。

$CONTROL_PAR_WAVE_COLOR

ui_waveformに描画されるウェーブフォームの色を設定または取得します。

$CONTROL_PAR_WAVE_CURSOR_COLOR

ui_waveformの再生カーソルの色を設定または取得します。

$CONTROL_PAR_SLICEMARKERS_COLOR

ui_waveformのスライスマーカーの色を設定または取得します。

$CONTROL_PAR_BG_ALPHA

ui_waveformの背景のアルファチャンネル(不透明度)を設定または取得します。

範囲:0(完全に透明)~255(完全に不透明)。


ui_wavetable

$CONTROL_PAR_WT_ZONE

ui_wavetableにZoneをアタッチします。引数にはZone IDを取ります。

$CONTROL_PAR_WT_VIS_MODE

ui_wavetableのビジュアライゼーションモードを設定または取得します。次の値を設定できます:

$NI_WT_VIS_2D(2D。オシロスコープ風のビジュアライゼーションで、現在のウェーブテーブル位置のみを表示)

$NI_WT_VIS_3D(3Dビジュアライゼーション。ウェーブテーブル全体と現在の位置の両方を表示)

$CONTROL_PAR_PARALLAX_X

ui_wavetableのX軸パララックスを設定または取得します(3Dモードにのみ適用されます)。

範囲:-1000000 ... 1000000

$CONTROL_PAR_PARALLAX_Y

ui_wavetableのY軸パララックスを設定または取得します(3Dモードにのみ適用されます)。

範囲:-1000000 ... 1000000

$CONTROL_PAR_WAVE_COLOR

ui_wavetableの2Dビジュアライゼーションモードで描画されるウェーブフォーム、または3Dビジュアライゼーションモードで描画される現在のウェーブフォームの色を設定または取得します。

$CONTROL_PAR_WAVE_ALPHA

ui_wavetableの2Dビジュアライゼーションモードで描画されるウェーブフォーム、または3Dビジュアライゼーションモードで描画される現在のウェーブフォームのアルファチャンネル(不透明度)を設定または取得します。

範囲:0(完全に透明)~255(完全に不透明)。

$CONTROL_PAR_WAVETABLE_COLOR

ui_wavetableの3Dビジュアライゼーションモードにおける背景ウェーブフォームの色を設定または取得します。

$CONTROL_PAR_WAVETABLE_ALPHA

ui_wavetableの3Dビジュアライゼーションモードにおける背景ウェーブフォームのアルファチャンネル(不透明度)を設定または取得します。

範囲:0(完全に透明)~255(完全に不透明)。

$CONTROL_PAR_BG_COLOR

ui_wavetableの背景色を設定または取得します。

$CONTROL_PAR_BG_ALPHA

ui_wavetableのアルファチャンネル(不透明度)を設定または取得します。

範囲:0(完全に透明)~255(完全に不透明)。

色とアルファの追加パラメーター

グラデーション効果を作るために、上記のコントロールパラメーターと対にして使用します。明示的に設定しない場合は、上記の対応するパラメーターの値を継承するため、グラデーションはかかりません。

$CONTROL_PAR_WAVE_END_COLOR

ウェーブフォーム(2D)または現在のウェーブフォーム(3D)に適用されるグラデーションの終端の色を設定または取得します。

$CONTROL_PAR_WAVE_END_ALPHA

ウェーブフォーム(2D)または現在のウェーブフォーム(3D)に適用されるグラデーションの終端のアルファチャンネル(不透明度)を設定または取得します。

$CONTROL_PAR_WAVETABLE_END_COLOR

背景ウェーブフォーム(3D)に適用されるグラデーションの終端の色を設定または取得します。

$CONTROL_PAR_WAVETABLE_END_ALPHA

背景ウェーブフォーム(3D)に適用されるグラデーションの終端のアルファチャンネル(不透明度)を設定または取得します。


ui_xy

$CONTROL_PAR_MOUSE_BEHAVIOUR_X

すべてのui_xyカーソルのX軸のマウス動作、つまりドラッグスケールです。

$CONTROL_PAR_MOUSE_BEHAVIOUR_Y

すべてのui_xyカーソルのY軸のマウス動作、つまりドラッグスケールです。

$CONTROL_PAR_MOUSE_MODE

ui_xyがマウスのクリックとドラッグにどう反応するかを設定します。

0:カーソル以外の場所のクリックは無視されます。カーソルをクリックしてドラッグすると、通常の$CONTROL_PAR_MOUSE_BEHAVIOURの設定に従って新しい値が設定されます。

1:XYパッド上のどこをクリックしても登録されますが、値は変わりません。どこかをクリックしてドラッグすると新しい値が設定されます。カーソルはマウスカーソルと平行に動き、移動距離は$CONTROL_PAR_MOUSE_BEHAVIOURの設定に基づいてスケーリングされます。

2:XYパッド上のどこをクリックしても登録され、値がただちに変わります。カーソルはただちにマウスカーソルに一致します。どこかをクリックしてドラッグしても同様の効果があります。$CONTROL_PAR_MOUSE_BEHAVIOURの設定は無視され、カーソルは常にマウスカーソルに1対1で追従します。

$CONTROL_PAR_ACTIVE_INDEX

アクティブなui_xyカーソルのインデックスを設定および取得します。マルチカーソル構成でのみ意味を持ちます。$CONTROL_PAR_MOUSE_MODEの設定が、このパラメーターの動作に影響します:

0と1:アクティブなカーソルは、このコントロールパラメーターを設定することでのみ手動で変更できます。非アクティブなカーソルはクリックを受け取りません。

2:アクティブなカーソルは、最後にクリックされたカーソルに基づいて自動的に設定されます。on ui_controlコールバック内でui_xyに対して手動で設定すると予期しない結果になることがありますが、他のコールバック内で使うことは大いに推奨され、多くの場面で意味を持ちます。どのカーソルもクリックしていない場合、返される値は-1です。

インデックスは常に偶数でなければならず(-1の値を除く)、XYコントロールを表すメイン配列内のカーソルのX軸のインデックスと一致します。たとえば最初のカーソルのインデックスは0、2番目は2、というようになります。

$CONTROL_PAR_CURSOR_PICTURE

カーソル画像を設定します。各カーソルにはset_control_par_str_arr()コマンドを使って独自の画像を設定できます。

$CONTROL_PAR_PICTUREui_xyのUI ID自体に対して使うと、そのコントロールの背景画像が設定されます。

カーソル画像は最大6フレームを持つことができ、次の状態に対応します。フレームの選択は、ui_buttonui_switchとまったく同じように自動的に行われます。

1:非アクティブ

2:アクティブ

3:非アクティブで押下

4:アクティブで押下

5:非アクティブでマウスオーバー

6:アクティブでマウスオーバー

$HIDE_PART_CURSOR

set_control_par_arr() と併用すると、特定のui_xyカーソルを非表示にできます。以下は簡単な例です:

if ($hide = 1)
    set_control_par_arr($id, $CONTROL_PAR_HIDE, $HIDE_PART_CURSOR, $index)
else
    set_control_par_arr($id, $CONTROL_PAR_HIDE, $HIDE_PART_NOTHING, $index)
end if

インデックスは、XYコントロールを表すメイン配列内のカーソルのX軸のインデックスと一致する偶数である必要があります。したがって最初のカーソルのインデックスは0、2番目は2、というようになります。

$NI_CONTROL_PAR_IDX

on ui_controlコールバックをトリガーしたui_xyウィジェットのカーソルのインデックスを返します。インデックスは常に0から始まる偶数であることに注意してください。したがって最初のカーソルのインデックスは0、2番目は2、というようになります。

$NI_MOUSE_EVENT_TYPE

on ui_controlコールバックをトリガーしたマウスイベントのタイプを、ui_xyウィジェットについて返します。on ui_controlコールバック内でのみ使用できます。

次のマウスイベントタイプが利用できます:

$NI_MOUSE_EVENT_TYPE_LEFT_BUTTON_DOWN

$NI_MOUSE_EVENT_TYPE_LEFT_BUTTON_UP

$NI_MOUSE_EVENT_TYPE_DRAG


参照元情報:Control Parameters
https://docs.native-instruments.com/online-guides/ksp-manual/en/control-parameters