OSC Sockpuppet
OSC Sockpuppet は、OSC を介して任意のレイヤーのすべてのパラメーターを制御できるワークフローです。
レイヤーを OSC Sockpuppet にパッチする
Section titled “レイヤーを OSC Sockpuppet にパッチする”レイヤーを OSC Sockpuppet にパッチするには、以下の手順を実行します。
- レイヤーを右クリックし、Patch to OSC… を選択します。
- レイヤーを制御する OSC Device を選択します(後で変更できます)。
レイヤーが緑色になり、各フィールドが緑色でハイライト表示されます。これは、レイヤーが Sockpuppet に正常にパッチされたことを示します。
制御するパラメーターの選択
Section titled “制御するパラメーターの選択”デフォルトでは、レイヤー内のすべてのフィールドが OSC によって制御されるようになります。
レイヤー上の各パラメーターを個別に右クリックして、Toggle Sockpuppet を選択すると、そのフィールドの Sockpuppet 制御を切り替えられます。また、Isolate Sockpuppet を選択すると、選択したフィールドの Sockpuppet 制御を一時的に設定し、他のすべてのフィールドを無効にします。フィールドを分離(isolate)した後、分離をオフに切り替えると、フィールドは分離前の状態に復元されます。
パラメーターの制御
Section titled “パラメーターの制御”任意のフィールドを制御するには、正しい address(アドレス)と有効な value(値)を含む OSC メッセージを送信する必要があります。
任意のフィールドを制御するための正しいアドレスとサンプル値は、タイムライン上のレイヤーを右クリックして Edit OSC Patch… を選択し、次に View Personality…(OscPatch エディターウィジェット)を選択することで確認できます。
これを、プロジェクトの隣にある「output」フォルダー内の .txt ファイルにエクスポートして、コピー&ペーストできます。
リソースフィールドの場合、「example」の値は現在レイヤーに設定されている値になります。つまり、フィールドを手動で設定してから personality を確認することで、送信すべき正確な値を見つけられます。
ここでは正しい形式の概要を説明しますが、このページと personality に記載されている形式に食い違いがある場合は、personality の形式が常に最新であるため、必ず personality の形式を使用してください。
アドレスの形式
Section titled “アドレスの形式”正しいアドレスの形式は次のとおりです。
/d3/layer/[name of layer]/[name of field]
レイヤー名とフィールド名はどちらも大文字・小文字を区別します。スペースを含めることができます。
OSC Sockpuppet で制御できるパラメーターには 4 種類あります。
- Resources(リソース)
- Numbers(数値)
- Options(オプション)
- Text(テキスト)
Resources(リソース)
Section titled “Resources(リソース)”Resources とは、Designer 内でエディターを持つあらゆる「オブジェクト」を指します。例として、Mappings、VideoClips、Bitmap Textures などがあります。
OSC Sockpuppet を介してリソースを選択する方法は 3 つあります。
- リソースパスによる指定
- Bank + Slot Index による指定
- Bank と Slot の Index による指定
リソースパスによる指定
Section titled “リソースパスによる指定”リソースは、そのパスを文字列値として送信することで選択できます。OSC センダーで設定したい値を「String」としてフォーマットする必要があります。その値の構文は次のとおりです。
objects/[type of object]/[path]/[to]/[object]/[name of object].apx
[Type of object] は Designer の内部的な型で、ユーザーには表示されない場合があります。フィールドの正しい型を確認するには、フィールドの OSC personality を確認してください。そこに正しい値が記載されています。
[path]/[to]/[object] は、Mappings や Textures など Designer 内で作成するオブジェクトの場合は空欄です。ただし、VideoClips のようにディスク上のファイルを参照するオブジェクトの場合は、「objects」プロジェクトフォルダー内の最初のフォルダーから始まる、ディスク上のオブジェクトへのパスになります。
例えば、次のファイル:
objects/VideoFile/sample/ada.jpg
は、次の場所になります。
objects/videoclip/sample/ada.jpg.apx
[name of object] は Designer 内のオブジェクトの名前です。これは、マッピングなどのオブジェクトの名前、または .png や .jpg といった拡張子を含むファイル名です。
リソースのすべての値には .apx を付加する必要があります。これは Designer の煩わしい実装上の仕様です。
いずれの値も大文字・小文字を区別しません。
フィールドが None への設定をサポートしている場合は、空の文字列を送信してリソースに None を選択することもできます。
Bank + Slot Index による指定
Section titled “Bank + Slot Index による指定”リソースは、値として数値を送信することで選択できます。この数値は、bank editor 内でリソースが割り当てられている Bank と Slot を指します。bank editor の詳細はこちらをご覧ください: bank editor。OSC センダーで値を Int または Float としてフォーマットする必要があります。この値を計算する式は次のとおりです。
bank x 256 + slot
例えば、リソースがマッピングで bank 5 の slot 26 にあり、Video Layer 3 というレイヤーに設定したい場合は、次のようにします。
/d3/layer/Video Layer 3/mapping、Value: 1306
なぜなら 5 x 256 + 26 = 1306 だからです。
Bank と Slot の Index による指定
Section titled “Bank と Slot の Index による指定”リソースは、2 つの数値を同時に送信することで選択できます。最初の数値は Bank を、2 番目の数値は bank editor 内でリソースが割り当てられている Slot を指します。bank editor の詳細はこちらをご覧ください: bank editor。OSC センダーで値を Int または Float としてフォーマットする必要があります。
この値の正しい構文は次のとおりです。
bank slot
例えば、リソースがビデオで bank 2 の slot 12 にあり、myVideoLayer というレイヤーに設定したい場合は、次のようにします。
Address: /d3/layer/myVideoLayer/video、Value: 2 12
Numbers(数値)
Section titled “Numbers(数値)”Numbers とは、数値を入力できるボックスを持つ Designer 内のあらゆるフィールドを指します。例として、Brightness、Speed、Size などがあります。
Number の値は、数値を値として送信することで設定できます。この数値は、フィールドに設定したい値を指します。OSC センダーで値を Int または Float としてフォーマットする必要があります。
この値の正しい構文は次のとおりです。
5 または 1.7
例えば、Video 5 というレイヤーの Brightness を 0.3 に設定したい場合は、次を使用します。
Address: /d3/layer/Video 5/brightness、Value: 0.3
また、Frame Index を 243 に設定したい場合は、次を使用します。
Address: /d3/layer/Video 5/frame_index、Value: 243
Options(オプション)
Section titled “Options(オプション)”Options とは、クリックすると一覧が表示される Designer 内のあらゆるフィールドを指します。例として、Blend Mode、At End Point、On Clock Lost などがあります。
オプションの値は、数値を値として送信することで設定できます。この数値は、オプションをクリックしたときに表示される一覧内の、そのオプションの位置のインデックスを指します。一覧は 0 から始まるインデックスです。OSC センダーで値を Int または Float としてフォーマットする必要があります。このインデックスの例としては Blend Mode があり、0 = Over、1 = Alpha、2 = Add、3 = Multiply などとなります。
「View Personality…」を選択すると表示される personality ビューには、すべてのオプションとそのインデックスの詳細な一覧が出力されるため、エディター内で位置を数える必要はありません。詳細については、パラメーターの制御 のセクションを参照してください。
この値の正しい構文は次のとおりです。
1
例えば、video2 というビデオレイヤーの Mode を Reverse に設定したい場合は、次のようにします。
Address: /d3/layer/video2/mode、Value: 5
Text(テキスト)
Section titled “Text(テキスト)”Text とは、テキストを入力できるボックスを持つ Designer 内のあらゆるフィールドを指します。例として、Text レイヤーの Text、Web レイヤーの Custom Parameters、Notch レイヤーの動的な文字列フィールドなどがあります。
テキストフィールドの値は、文字列を値として送信することで設定できます。これは単にフィールドに入れたい文字列です。OSC センダーで値を String としてフォーマットする必要があります。
この値の正しい構文は、お使いの OSC センダーに応じて次のいずれかです。
this is a string または "this is a string with quotes"
例えば、iHaveAQuestion というテキストレイヤーの Text フィールドを “Why the heck is it called SockPuppet?!” に設定したい場合は、次のようにします。
Address: /d3/layer/iHaveAQuestion/text、Value: Why the heck is it called SockPuppet?!