Widget Panel

AIと読む
全ドキュメントを1ファイルで(llms-full.txt)

ノードのパラメータを、自分の並べたい形・色・大きさで並べ直すためのウィンドウです。 ノード側が用意したUIを並べるのではなく、置いたウィジェットからノードのパラメータを指しに行く作りになっているので、 同じパラメータをフェーダーにしてもボタンにしてもよく、ON/OFFの色もウィジェットごとに決められます。 パネルは何枚でも開けます。

開き方

メニューバーの Create → WidgetPanel

空のパネルには「右クリックでウィジェットを追加」と透かしが出ます。 タイトルバーをダブルクリックすると、パネルに名前を付けられます(名前も保存されます)。

ウィジェットを追加する

パネルの空白を右クリックすると、ウィジェットのパレットが出ます。 カテゴリ(Value / Choice / Display / Layout)にマウスを乗せると、右側に一覧が開きます。 選んだウィジェットは右クリックした位置に置かれます(グリッドにスナップし、はみ出す場合はパネル内に収まる位置へ寄せられます)。

同じメニューの下側には次の2つがあります。

項目動き
Browse all…全ウィジェットの一覧をダイアログで表示。From Node... からノード→パラメータの順に辿って、バインド済みのウィジェットを直接作ることもできます
Freeze Layoutレイアウトを凍結して演奏状態にします(後述)

置いたばかりのウィジェットは「Unbound」と表示されます。形だけ先に並べて、あとからパラメータを割り当てる進め方で構いません。

移動・リサイズ・削除

Freeze していない間、各ウィジェットには編集用の枠が出ます。

  • 上部のバーをドラッグ → 移動
  • 右下の四角をドラッグ → リサイズ
  • ウィジェットを右クリック → メニュー(Assign / Appearance… / Duplicate / Delete / Freeze Layout)

移動・リサイズはどちらも20pxのグリッドにスナップします。

ウィジェットの種類

パレットに並ぶのは以下の18種です。カッコ内は挿せるパラメータの型(メニューの右側に小さく表示されます)。

Value(値を作る)

ウィジェット動き
FaderFloat / Int縦横はウィジェットの縦横比で自動切替(高さ≧幅なら縦)。押した位置へ値がジャンプします
KnobFloat / Int縦ドラッグで相対調整(上で増加)。押した位置にジャンプはしません
NumberFloat / Int横ドラッグでスクラブ、動かさずに離すと直接入力。レンジが無い場合は上限なし
XY PadFloat / Int ×2主バインドがX軸、Assign Y… でY軸。上がMax
CrossfaderFloat / Int ×2位置に対して Left と Right へ逆向きの値を書きます
ToggleBool / Float / Int / Color / Options押すたびに切り替え
ButtonTrigger / Bool / Float / Int / Color / Options押すと発火/値をセット
Color PickerColor開く操作なしでそのまま触れるインラインのピッカー

Choice(選択肢)

ウィジェット動き
DropdownOptions押すとリストが開きます。選択肢は開いた瞬間に取得するので、レイヤーの増減やNDIソースの出現に自然に追従します
Button GridOptions選択肢1個につきボタン1個。現在選ばれているボタンがON色で点灯します

Display(見るだけ)

ウィジェット動き
LabelText文字を表示するだけ(常に表示専用)
Text InputTextEnterまたはフォーカスを外すと確定、Escで戻します。読み取り専用のパラメータに挿した場合は表示だけになります
MeterFloat / Intレベルメーター。ピークは0.8秒保持してから落ちます
PreviewTexture約30fpsで更新する映像モニター

Layout(飾り・バインドを持たない)

ウィジェット動き
Headerセクション見出し。文字色は Appearance の On 色
Divider区切り線。縦横比で縦線/横線が自動で切り替わります
Frameグループ用の枠。中身は素通しなので、枠の上に重ねたウィジェットは普通に触れます

Node View

ノードのコントロールUIを、そのままパネルに埋め込みます。 ウィジェットで表現しにくい複雑なUI(ステップシーケンサ等)を手元に置きたいときの逃げ道です。

Node View は1ノードにつき1つだけです。 追加・複製・貼り付けのどの入口でも、既に同じノードのビューがある場合は弾かれます(別のパネルにある場合も含む)。 ウィジェットのUIはノード側が持つので、Node View には Appearance… が出ません。

パラメータを割り当てる(Assign)

主な手順は次の3手です。

  1. パネルの空白を右クリックして、欲しいのウィジェットを置く
  2. そのウィジェットを右クリックして Assign… を選ぶ
  3. Node Editor 上でピンク色にハイライトされた実物のパラメータをクリックする

アサイン中は画面上部に Assigning ...: click a highlighted parameter (Esc / right-click to cancel) と出ます。 Esc または右クリックで中止できます。

ハイライトされるのは、置いた形に挿せる型のパラメータだけです。 ポート行を持たないパラメータ(ノード上のドロップダウン等)はノード本体がハイライトされ、 そのノードに候補が複数ある場合はクリック後にパラメータ名のメニューが出ます。

未バインドのウィジェットは、編集バーの Not assigned」の文字をクリックしても同じアサインが始まります。

軸が2つあるウィジェット

XY Pad と Crossfader は右クリックメニューに2項目出ます。

ウィジェットメニュー
XY PadAssign X… / Assign Y…
CrossfaderAssign Left… / Assign Right…

どちらも片側だけでも動きます(XY PadはX単独のパッド、CrossfaderはLeftを逆向きに動かすフェーダーになります)。

置いた形は、挿した型に合わせて変わります

Toggle と Button は「挿した先の型」で中身が決まります。

置いた形TriggerBoolFloat / IntColorOptions
ToggleToggle値トグル(On値⇄Off値)色トグル(On色⇄Off色)Button Grid
ButtonButtonToggle値ボタン(押すとOn値をセット)色ボタン(押すとOn色をセット)Button Grid

Button を Bool に挿すと、Momentary が既定でONになります。 「押している間だけtrue」がボタンの直感だからです。Toggle から挿した場合は従来通り交互トグルのままです。 どちらも Appearance… でいつでも変えられます。

値ボタン/値トグルは、現在値が設定値と一致していると点灯します(どの値が選ばれているか面で分かります)。 色ボタンの場合は、ボタンの背景色がそのまま「送る色」になり、一致時は白い枠で示されます。

バインドの確認・付け替え

メニュー動き
Reveal SourceNode Editor をそのノードまで移動して選択し、対象パラメータを約1.2秒ハイライトします
Clear Assignment割り当てを外します(レイアウトと見た目の設定は残ります)
Appearance… → BindingBind... / Change... でダイアログから選ぶ、Unbind で外す

編集中のウィジェットの上部バーには ノード名 / パラメータ名 が出ます。マウスを乗せると内部アドレスも確認できます。

見た目と挙動を変える(Appearance…)

ウィジェットを右クリック → Appearance…。変更は即座に反映されます。

項目内容
Label表示名。空にするとパラメータ名に戻ります
ColorsOn / Off の2色。タブで切り替えて編集します
Font Size0〜48。0で自動
Display Only表示専用にします(Freeze中もポインタを受け付けません)
Momentary押している間だけOn(XY Padでは「Spring Return」=離すと中心へ戻る)
Values値ボタン/値トグルの On Value / Off Value
RangeFader / Knob / Meter / Number のMin/Max上書き
Visible OptionsDropdown / Button Grid に表示する選択肢を絞り込みます

Range を空欄にすると、パラメータ側の既定レンジが使われます。 既定レンジを持たないパラメータでは 0〜1(Numberは無制限)として扱われます。 Min > Max はそのまま反転フェーダーになります(エラーではなく、上下が逆のフェーダーとして動きます)。

Momentary が出るウィジェットは限られます。 値ボタンは常に、Toggle は Bool に挿さっているときだけ、XY Pad は Spring Return として出ます。 それ以外のウィジェットには項目自体が現れません。

Visible Options は全部OFFにはできません。 最後の1個は消せない仕様です。逆に全部ONにすると「絞り込みなし」に正規化されるので、 後からレイヤー等が増えたときに新しい選択肢が自動で表示されます。

Freeze(レイアウトを凍結して演奏する)

パネルには2つの状態があります。切り替えは、空白またはウィジェットの右クリックメニューの Freeze Layout / Unfreeze Layout です。

非Freeze(編集)Freeze(演奏)
グリッド表示非表示
移動バー・リサイズ・バインド先名表示非表示
追加・複製・削除できるできない(メニューがグレーアウト)
フェーダーやボタンの操作できないできる

値を触りたいときは Freeze してください。 配置作業中の誤操作を防ぐため、非Freeze中はウィジェットの値操作そのものが無効化されています。 「触っているのに動かない」ときは、たいてい Freeze し忘れです。

Freeze 中はウィンドウサイズに合わせて全体が拡大縮小します。 Freeze に入った瞬間のパネルサイズを基準に、縦横比を保ったままスケールします (本番でウィンドウを広げると手元のウィジェットも大きくなる)。Unfreeze すると必ず等倍に戻り、 座標そのものは変わりません。

Assign…Appearance… は Freeze 中でも使えます。凍結されるのはレイアウト操作だけです。

キーボード操作

ポインタがパネルの上にあり、かつ Freeze していないときだけ効きます。

キー動き
Ctrl/Cmd + C / V選択中のウィジェットをコピー/貼り付け(別のパネルにも貼れます
Ctrl/Cmd + D複製
Delete削除
Ctrl/Cmd + ZUndo
Ctrl/Cmd + Shift + Z / Ctrl/Cmd + YRedo

Undo はパネルごとに独立していて、履歴は50手までです。 Node Editor の Undo とは別物で、対象はレイアウト・バインド・見た目の変更だけです。 フェーダーを動かした等の値の変更はライブ操作なので履歴に積まれません。

コピー・複製ではMIDIマッピングは引き継がれません。 同じノブが2つのウィジェットを叩くのは大抵事故なので、意図的に空にしています。

MIDI を割り当てる

ウィジェット自体がMIDIの受け手になります。マウスで触るのと同じウィジェットを、MIDIからも動かせます。

  1. メニューバーの Setting → MidiMapping でアサインモードに入ります(MIDI Inspector ウィンドウが開きます)
  2. 割り当て可能なウィジェットが青くなります
  3. ウィジェットをクリックすると赤くなります(選択状態)
  4. その状態でMIDIコントローラーを動かすと、そのウィジェットに割り当てられます

ウィジェットごとのMIDIの解釈は次の通りです。

ウィジェットMIDIの効き方
Fader / Knob0〜1をレンジに写像
Crossfader0〜1がそのまま位置
NumberMin/Maxが確定しているときだけ有効(上限なしのフィールドには効きません)
Toggle通常は押した瞬間にトグル、Momentaryなら押している間だけON
Button(Trigger)押した瞬間に発火
値ボタン / 値トグル押した瞬間にセット/トグル
Dropdown押すたびに次の選択肢へ(末尾で先頭に戻る)

Button Grid は、ウィジェット全体ではなくボタン1個ずつに割り当てます。 アサインモードでは各ボタンに個別の候補が出るので、パッドの各キーを各選択肢に割り当てられます。

次のウィジェットはMIDIの割り当て対象になりません。 Color Picker / XY Pad(1ノブでは2軸に割れないため)/Label・Meter・Preview・Text Input(表示専用系)/ Header・Divider・Frame(装飾)/Node View(ノード側のUIが操作系を持つため)/ 未バインド・Missing のウィジェット。 未バインドのものは、保存済みのマッピング自体は消えず、バインドし直すと復活します。

保存のされ方

Widget Panel はプロジェクト(.synapse)と一緒に保存されます。パネル単体のファイルはありません。

保存されるもの:

  • ウィンドウの位置・サイズ・タイトル
  • Freeze しているかどうか(と、Freeze中スケールの基準サイズ)
  • 各ウィジェットの種類・配置・サイズ
  • バインド先(どのノードのどのパラメータか)
  • 見た目(ラベル・On/Off色・フォントサイズ)と挙動(表示専用・Momentary・On/Off値・レンジ上書き・選択肢の絞り込み)
  • ウィジェットに割り当てたMIDIマッピング

バインド先のノードを消しても、ウィジェットは消えません。 「Missing」表示に縮退して、レイアウトもバインド情報も見た目の設定もそのまま残ります。 別のプロジェクトを開いたときや、まだノードを作っていない段階でも同じです。 先に画面だけ組んでおく作り方が壊れないようになっています。

実装から分かった注意点

Assign の候補になるのは、Node Editor に実際に表示されているノードだけです。 画面に出ていないノードのパラメータはハイライトされません。互換パラメータが1つも見つからない場合、 アサインは何も起こらずに終了します(ログに警告が出るだけです)。 その場合は Appearance… → Binding → Bind... のダイアログから選んでください。

Binding ダイアログ(Bind... / Browse all…From Node...)は、アクティブなプロジェクトのノードだけを一覧します。 一方で保存済みバインドの解決は全プロジェクトを横断するので、グループの中のノードにバインドしたウィジェットは、 グループの外に出ても生き続けます

Frame の中に置いたウィジェットは「Frame の子」ではありません。 装飾はあくまで見た目の枠で、Frame を動かしても中のウィジェットは付いてきません。

生きているノードを1つも参照していないパネル(空・未バインドのみ・装飾だけ)は、 どのプロジェクトを保存しても一緒に保存されます。 組みかけのレイアウトを黙って捨てないための挙動です。

Preview は約30fpsで貼り替え続けます。 値の変化を待つのではなく一定間隔で描き直す作りなので、多数並べると相応の負荷になります。

関連

  • MIDIマッピング — アサインモードの共通の使い方
  • Node Editor — バインド先のパラメータを持つノードを組む場所

動画

このページへのリンク

同じページを参照しているページ