はじめに
僕自体はVJよりもLJの方の人間なので、LJをやっててある機能で、VJをやってる人があまり使わない機能があるなあと思います。
その中の1つが 照明卓にあるフラッシュボタンです。
照明卓をみるとわかりますが、光度などを調整するフェーダーの下にボタンがあります。
このボタンはフラッシュボタンと呼ばれ、押している間だけフェーダーの位置にかかわらず100%の値を出力します。離すとフェーダーの位置に値が戻ります。
これを使えば、VJではエフェクト系で「フェーダーを少し上げて普段は少しだけかけておき」ながら「ボタンを押してマニュアルのタイミングでがっつりかける」みたいなことができるようになります。
音楽に合わせてフェーダーを動かしてもできるのですが、だいたい「フェーダーを少し上げた位置」で止めるのは難しい。のでフェーダー1本で手動でやろうとすると無理が出てきます。
こんな感じでフェーダー操作に対していろいろな機能を持たせたボタンをつけると快適さが上がります。
フラッシュボタンの実装
Preset / Mask でいけるかどうか。
とりあえず、Workspace InspectorのPluginタブからControl Surfaceを呼び出し(項目 1,2)、Control Surface OptionsからSliderとButtonをひとつずつ呼び出します(項目 3)。
さて、Sliderの位置を調整する一番簡単な方法として思いつくのは SliderのPresetを呼び出すか、Maskで位置決めするかというところです。実際やってみます。
Control Surface上のSliderをアクティブにし(項目 1)、フラッシュさせたいポイントの値にしておきます(今回は「1.00」)(項目 2)。
この状態で「Presets」タブから新規プリセットを作成し(項目 3, 4)、これをButtonから受け付けるようなさせます(項目 5)。
実際にこれで動かしてみると、フェーダーがどの位置を取っていても、ボタンを押すと「1.00」にフラッシュします。
しかしながらボタンをOFFにしても、1.00の値のままで元にあった位置に戻らないです。
これはMaskでやっても同様で、「1.00」にはいくものの、それで終わってしまいます。
と、いうことでPreset / Mask を使わずにフラッシュボタンを作らないといけないということです。
Number FXによるフェーダー制御
PresetやMaskの情報は一回消して、Workspace InspectorからControl SurfaceにSliderをもう一個追加します(項目 1)。
新しく追加したSliderをアクティブにして(項目 2)、UI InspectorのReceiveタブではじめに作ったSliderからReceiveするようにします(項目 3, 4)。
Slider_2のEdit Num FX Chainを押してNumber FX Chain Inspectorを呼び出し、Add Asset: から「Min/Max」を呼び出します(項目 1)。
Min/Maxは値の最小値・最大値を制限させるNumber FXですが、MinとMaxの値を同じにすると、その値しかとらないようにさせるNumber FXになります。今回はMin/Maxの値をどちらも「1.00」にします(項目 2)。
この状態でこのMin/MaxのOn/OFFスイッチをControl Surfaceにあるボタンと連動させるようにします。
Min/MaxのOn/Offスイッチをアクティブにさせて(項目 3)、ReceiveタブからControl SurfaceのButtonから信号を受信できるようにします(項目 4, 5)。
ボタンと連動させるためにトグルではなくゲートにさせるため、「Toggle on Input」から「Val from Input」にチェックを入れなおします。
これでフラッシュボタンの完成です。
フェーダーをどこの位置に置いていてもフラッシュボタンを押すと「1.00」まで跳ね上がり、押している間フェーダーを動かしても値は変わらず、さらにフラッシュボタンを外すとフェーダーの位置に戻ります。
フラッシュボタンの拡張
ついでながら、Number FXの Min/Maxの値を「0.00」にすると、Muteボタンに早変わりします。Muteしているとフェーダーの位置がどこにあろうが出力は「0.00」のままです。
VJにおいては、例えば「次の展開でエフェクトかけたいけど、先に数値だけ決めておきたい」みたいな時に便利です。Mute状態でフェーダーを動かしておき、かけたいタイミングでMuteを外すだけ。便利 !!
(僕個人としては「フェーダー動かしても反応しない→Mute入ってたてへぺろ」の流れをよくするので、Muteボタンは嫌いなのですが)
On / OFF スイッチの実装
フラッシュボタンとは少し違いますが、もう少し便利なボタンを実装します。
それが、On/OFFスイッチです。
「フェーダーがどの位置にあっても「0」以外ならば瞬時に「0」にする (OFF機能)」かつ「フェーダーが「0」のときは瞬時に「1」にする (ON機能)」ボタンです。
このようにボタンの機能がフェーダーの位置によって変わるようになります。
これはフェーダーよりもロータリーエンコーダーとの相性がいいです。
さらに言えば、プッシュボタンつきロータリーエンコーダーと相性がいいです。
ぶっちゃけフェーダーやエンコーダーを使ってたら手動で「0」まで動かせばいいだけの話なんですけどもね。
例によって、Workspace InspectorのPluginタブからControl Surfaceを呼び出し(項目 1,2)、Control Surface OptionsからSliderとButtonをひとつずつ呼び出します(項目 3)。
Sliderをアクティブにして(項目 1)、UI InspectorウィンドウでButtonからReceiveさせます(項目 2, 3)。
逆にButtonをアクティブにして(項目 4)、こちらはSliderからReceiveさせます(項目 5, 6)。
スライダーが「0」以外の時にOnになって欲しいので、Thresholdの値を「0」にします(不安なら「0.001」とかでもいいかも?) (項目 7)。
最後にトグルボタンからゲートボタンに変えるために「Val from Input」にチェックを入れます。
これで、フェーダーを動かしたら、ボタンも点いたり消えたりしているはずです。また、ボタンを押した時にフェーダー側の値も変わるようになると思います。
フェーダーの切り替えボタンの実装
に関してはHatotoさんがやってましたので、そちらを参照すれば大丈夫かと。
まとめ
いろいろな方法でフェーダーとボタンを相互に作用させることができます。
現場によっては用意されたVJ卓が狭くて小型のMIDIコンしか持ち込めない!! みたいな状況があります。
そういった時に少ないフェーダーでどれだけできるかは重要になってくるので、フェーダーコントロールを便利にさせることはいろいろな点で重要になってきます。
そんなことを思いながら、MIDIコンとVDMXと格闘したらいいんではないでしょうか。