コンテンツにスキップ

HTTP Sockpuppet

HTTP Sockpuppet を使用すると、HTTP API を介してレイヤーを Sockpuppet 制御できます。このページでは、HTTP Sockpuppet で可能な機能、その制限事項、および Designer でのセットアップ方法の概要を説明します。

HTTP Sockpuppet を介してレイヤーを制御するには、レイヤーをパッチする必要があります。

  1. タイムライン上のレイヤーを右クリックします。
  2. Patch to HTTP… をクリックします。

レイヤーが緑色に変わり、レイヤーのすべてのフィールドがパッチされて緑色になります。フィールドがパッチされると、キーフレームで制御できなくなり、HTTP Sockpuppet によってのみ制御されるようになります。

個々のフィールドは、以下の方法でアンパッチできます。

  1. レイヤー上のフィールドを右クリックします。
  2. Toggle Sockpuppet をクリックして、その特定のフィールドをパッチ / アンパッチします。
  3. Isolate Sockpuppet をクリックして、レイヤー上の他のすべてのフィールドをアンパッチします。

パッチされると、レイヤーは /api/session/sockpuppet エンドポイントで制御できます。/api/session/sockpuppet/patches で利用可能なパッチを照会すると、制御可能なパッチと、それぞれで利用可能なフィールドが返されます。その後、/api/session/sockpuppet/live エンドポイントで値を変更できます。詳細については、API ドキュメントを参照してください。

各パッチには、パッチされたレイヤーやその他のリソースの一意の識別子である uid があります。/api/session/sockpuppet/patches エンドポイントは、すべてのパッチの uid を、パッチの元となったリソースを示す description とともに返します。そこから uid を読み取り、live change の uid フィールドで送信してください。

uid は、パッチを識別するための推奨される方法であり、レイヤー以外のものに対するパッチにアクセスする唯一の方法です。

非推奨の address フィールドの使用

Section titled “非推奨の address フィールドの使用”

live change では、uid ではなくレイヤー名を保持する、以前の address フィールドも受け付けます。これは非推奨ですが、引き続きサポートされています。同じパッチで uid と address の両方を送信した場合、uid が使用され、address は無視されます。address は、uid が指定されていない場合にのみ読み取られます。

Designer は address を解決する際に、次のように動作します。

  • HTTP Sockpuppet にパッチされているレイヤーのみを対象に名前を照合します。同じ名前でも、パッチされていないレイヤーが影響を受けることはありません。
  • 大文字と小文字を区別して、完全一致で照合します。/api/session/sockpuppet/patches エンドポイントが報告するとおりに名前を記述してください。たとえば、Video は video という名前のレイヤーには一致しません。
  • その名前を持つ、HTTP でパッチされたすべてのレイヤーに変更を適用します。
  • 名前が HTTP でパッチされたどのレイヤーにも一致しない場合は何も適用せず、適用先のなかったアドレスをレスポンスで報告します。

HTTP は値のストリーミングには適していません。DMX over ethernet や OSC のように値のストリームを送信するのではなく、時間の経過とともに値をアニメーション化するためにアニメーションが実装されています。

アニメーションは、パッチ(例: レイヤー)の数値フィールドに適用でき、そのアニメーションはセッション内のすべてのマシンにわたって同期して実行されます。マシンがフレームを落としている場合、同期に問題が見られることがあります。

アニメーションは、開始値、終了値、アニメーションの継続時間、および使用するイージング方式でトリガーされます。開始値がフィールドに設定され、指定されたイージング方式を使用して、継続時間をかけて終了値まで補間されます。補間方式の例には、Linear、Cubic、Quadratic があります。

利用可能なイージング方式は、api/session/sockpuppet/easingfunctions エンドポイントで照会できます。

HTTP Sockpuppet の変更は、変更をセッション全体に配信し、同期した方法で適用できるように、約 2 フレームの遅延を伴って実行されます。

HTTP Sockpuppet を介して値が一度設定されると、d3 が再起動されるまで、常に最後に設定された値(またはアニメーションの最終値)に設定されたままになります。有効期限はありません。

パッチ上のフィールド(例: レイヤー上のフィールド)の現在の値は、api/session/sockpuppet/patches エンドポイントの結果で提供されますが、フィールドのリアルタイム値をストリーミングすることはできません。

HTTP Sockpuppet の変更は、稼働中の Director に送信する必要があります。これはフェイルオーバーの状態によって異なります。