Widget Panel
ノードのパラメータを、自分の並べたい形・色・大きさで並べ直すためのウィンドウです。 ノード側が用意した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(値を作る)
| ウィジェット | 型 | 動き |
|---|---|---|
| Fader | Float / Int | 縦横はウィジェットの縦横比で自動切替(高さ≧幅なら縦)。押した位置へ値がジャンプします |
| Knob | Float / Int | 縦ドラッグで相対調整(上で増加)。押した位置にジャンプはしません |
| Number | Float / Int | 横ドラッグでスクラブ、動かさずに離すと直接入力。レンジが無い場合は上限なし |
| XY Pad | Float / Int ×2 | 主バインドがX軸、Assign Y… でY軸。上がMax側 |
| Crossfader | Float / Int ×2 | 位置に対して Left と Right へ逆向きの値を書きます |
| Toggle | Bool / Float / Int / Color / Options | 押すたびに切り替え |
| Button | Trigger / Bool / Float / Int / Color / Options | 押すと発火/値をセット |
| Color Picker | Color | 開く操作なしでそのまま触れるインラインのピッカー |
Choice(選択肢)
| ウィジェット | 型 | 動き |
|---|---|---|
| Dropdown | Options | 押すとリストが開きます。選択肢は開いた瞬間に取得するので、レイヤーの増減やNDIソースの出現に自然に追従します |
| Button Grid | Options | 選択肢1個につきボタン1個。現在選ばれているボタンがON色で点灯します |
Display(見るだけ)
| ウィジェット | 型 | 動き |
|---|---|---|
| Label | Text | 文字を表示するだけ(常に表示専用) |
| Text Input | Text | Enterまたはフォーカスを外すと確定、Escで戻します。読み取り専用のパラメータに挿した場合は表示だけになります |
| Meter | Float / Int | レベルメーター。ピークは0.8秒保持してから落ちます |
| Preview | Texture | 約30fpsで更新する映像モニター |
Layout(飾り・バインドを持たない)
| ウィジェット | 動き |
|---|---|
| Header | セクション見出し。文字色は Appearance の On 色 |
| Divider | 区切り線。縦横比で縦線/横線が自動で切り替わります |
| Frame | グループ用の枠。中身は素通しなので、枠の上に重ねたウィジェットは普通に触れます |
Node View
ノードのコントロールUIを、そのままパネルに埋め込みます。 ウィジェットで表現しにくい複雑なUI(ステップシーケンサ等)を手元に置きたいときの逃げ道です。
Node View は1ノードにつき1つだけです。 追加・複製・貼り付けのどの入口でも、既に同じノードのビューがある場合は弾かれます(別のパネルにある場合も含む)。 ウィジェットのUIはノード側が持つので、Node View には
Appearance…が出ません。
パラメータを割り当てる(Assign)
主な手順は次の3手です。
- パネルの空白を右クリックして、欲しい形のウィジェットを置く
- そのウィジェットを右クリックして
Assign…を選ぶ - Node Editor 上でピンク色にハイライトされた実物のパラメータをクリックする
アサイン中は画面上部に Assigning ...: click a highlighted parameter (Esc / right-click to cancel) と出ます。
Esc または右クリックで中止できます。
ハイライトされるのは、置いた形に挿せる型のパラメータだけです。 ポート行を持たないパラメータ(ノード上のドロップダウン等)はノード本体がハイライトされ、 そのノードに候補が複数ある場合はクリック後にパラメータ名のメニューが出ます。
未バインドのウィジェットは、編集バーの 「Not assigned」の文字をクリックしても同じアサインが始まります。
軸が2つあるウィジェット
XY Pad と Crossfader は右クリックメニューに2項目出ます。
| ウィジェット | メニュー |
|---|---|
| XY Pad | Assign X… / Assign Y… |
| Crossfader | Assign Left… / Assign Right… |
どちらも片側だけでも動きます(XY PadはX単独のパッド、CrossfaderはLeftを逆向きに動かすフェーダーになります)。
置いた形は、挿した型に合わせて変わります
Toggle と Button は「挿した先の型」で中身が決まります。
| 置いた形 | Trigger | Bool | Float / Int | Color | Options |
|---|---|---|---|---|---|
| Toggle | — | Toggle | 値トグル(On値⇄Off値) | 色トグル(On色⇄Off色) | Button Grid |
| Button | Button | Toggle | 値ボタン(押すとOn値をセット) | 色ボタン(押すとOn色をセット) | Button Grid |
Button を Bool に挿すと、Momentary が既定でONになります。 「押している間だけtrue」がボタンの直感だからです。Toggle から挿した場合は従来通り交互トグルのままです。 どちらも
Appearance…でいつでも変えられます。
値ボタン/値トグルは、現在値が設定値と一致していると点灯します(どの値が選ばれているか面で分かります)。 色ボタンの場合は、ボタンの背景色がそのまま「送る色」になり、一致時は白い枠で示されます。
バインドの確認・付け替え
| メニュー | 動き |
|---|---|
| Reveal Source | Node Editor をそのノードまで移動して選択し、対象パラメータを約1.2秒ハイライトします |
| Clear Assignment | 割り当てを外します(レイアウトと見た目の設定は残ります) |
| Appearance… → Binding | Bind... / Change... でダイアログから選ぶ、Unbind で外す |
編集中のウィジェットの上部バーには ノード名 / パラメータ名 が出ます。マウスを乗せると内部アドレスも確認できます。
見た目と挙動を変える(Appearance…)
ウィジェットを右クリック → Appearance…。変更は即座に反映されます。
| 項目 | 内容 |
|---|---|
| Label | 表示名。空にするとパラメータ名に戻ります |
| Colors | On / Off の2色。タブで切り替えて編集します |
| Font Size | 0〜48。0で自動 |
| Display Only | 表示専用にします(Freeze中もポインタを受け付けません) |
| Momentary | 押している間だけOn(XY Padでは「Spring Return」=離すと中心へ戻る) |
| Values | 値ボタン/値トグルの On Value / Off Value |
| Range | Fader / Knob / Meter / Number のMin/Max上書き |
| Visible Options | Dropdown / 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 + Z | Undo |
Ctrl/Cmd + Shift + Z / Ctrl/Cmd + Y | Redo |
Undo はパネルごとに独立していて、履歴は50手までです。 Node Editor の Undo とは別物で、対象はレイアウト・バインド・見た目の変更だけです。 フェーダーを動かした等の値の変更はライブ操作なので履歴に積まれません。
コピー・複製ではMIDIマッピングは引き継がれません。 同じノブが2つのウィジェットを叩くのは大抵事故なので、意図的に空にしています。
MIDI を割り当てる
ウィジェット自体がMIDIの受け手になります。マウスで触るのと同じウィジェットを、MIDIからも動かせます。
- メニューバーの Setting → MidiMapping でアサインモードに入ります(MIDI Inspector ウィンドウが開きます)
- 割り当て可能なウィジェットが青くなります
- ウィジェットをクリックすると赤くなります(選択状態)
- その状態でMIDIコントローラーを動かすと、そのウィジェットに割り当てられます
ウィジェットごとのMIDIの解釈は次の通りです。
| ウィジェット | MIDIの効き方 |
|---|---|
| Fader / Knob | 0〜1をレンジに写像 |
| Crossfader | 0〜1がそのまま位置 |
| Number | Min/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 — バインド先のパラメータを持つノードを組む場所













