投稿者「ted_kanakubo」のアーカイブ

Text DAT

概要

Text DATは、フリーフォームの複数行のASCIIテキストを編集することができます。スクリプト、GLSLシェーダー、メモ、XMLなどに使用されます。フリーフォームのテキストとは、DATの2つの形式のうちの1つです(もう1つの形式は、セルの行と列からなるテーブルで、各セルにはTabel DATのようにテキスト文字列が格納されています)。
テキストは、Viewer ActiveがオンのときにDATに入力、或いは外部のテキスト・エディターで入力することができます。Text DATは、ディスク上のファイルまたはウェブ上のファイルからデータを取得することができます。リモート・テキスト・ファイルを指定する場合は、http:// を使用します。
テキストをスクリプトとして実行することに特化した Execute DAT も参照してください。CHOP Execute DAT は CHOP チャンネルが変更されたときにスクリプトを実行します。DAT Execute DAT は DAT が変更されたときにスクリプトを実行ます。Execute DAT は TouchDesigner のプロセスを開始または終了したとき、またはフレームごとにスクリプトを実行したいときに実行ます。Panel Execute DAT はコントロール・パネルが変更されたときに実行します。Parameter Execute DAT はノードのパラメータが変更されたときに実行します。OP Execute DAT はコンポーネント・ネットワークのノードの作成や削除など、オペレータに関するあらゆる変更が行われたときに実行します。
Web DAT は、URL クエリによるフェッチに使用します。

パラメータ – File ページ
Edit.. / edit

クリックするとDATにテキストを追加/編集/削除するためのテキストエディターが開きます。

File / file

読み込みたいファイルのファイルシステムパスとファイル名を設定します。.txtと.datのファイルを受け付けます。

Sync to File / syncfile

Onの場合、プロジェクトの開始時にディスクからDATにファイルをロードします。ファイル名を設定する必要があります。このオプションをオンにすると、ディスクからファイルを直にロードします。ファイルが存在しない場合は、DATが最初に更新されたときに作成されます。このファイルは、ファイルに変更が加えられるとDATが更新されるように監視され、DATに加えられた変更はすぐにファイルに書き込まれます。ファイルが削除されても、DATには現在の内容が保持されます。

Load on Start / loadonstart

Onにすると、プロジェクトの開始時にディスクからDATにファイルを再読み込みします。

Load File / loadonstartpulse

瞬時にファイルを再読み込みします。

Write on Toe Save / write

Onにすると、プロジェクトの保存時にDATの内容をディスク上のファイルに書き出します。

Write File / writepulse

ファイルを瞬時にディスクに書き込みます。

パラメータ – Common ページ

参照:共通 Common ページ

Table DAT

概要

Table DATを使用すると、セルの行と列のテーブルを手動で編集、作成することが出来ます。各セルにはテキスト文字列が含まれます。 テーブルは、DATの2つの形式の1つです(もう1つは、Text DATを介した自由形式のテキストの行です)。
Table DATのビューアでは、行と列を追加し、ノードビューアの任意のセルにテキストを入力できます。 Table DATのビューアがアクティブになっている場合は、セルを右クリックしてテーブルの構造を変更し、Tabキーを使用して次のセルにジャンプ、上下の矢印キーを使用して隣接するセルに移動します。
また、 op(‘table1′)[2,’select’] = ‘yes’ のようにしてテーブルのセルに文字列を入れたり、 python の .appendRow() を使って行を追加したりすることもできます。Script DATとそのスニペットも参照してください。
Table DATは、ディスクまたはWeb上の .txt または .dat ファイルからテーブルをロードすることもできます。 インターネット上でテーブルを指定するときは、 `http://`を使用してください。 テキストはタブ区切りのテーブルに変換されます。

パラメータ – Table ページ
Edit.. / edit

クリックすると、DATからテキストを追加/編集/削除するためのテキストエディタが開きます。

File / file

読み込むファイルのファイルシステムパスと名前を設定します。.txt と .dat ファイルを読み込みます。

Load on Start / loadonstart

オンの場合、プロジェクトの開始時にディスクからDATにファイルをリロードします。

Sync to File / syncfile

On の場合、プロジェクトの開始時にディスクから DAT にファイルをロードします。ファイル名を指定する必要があります。このオプションをオンにすると、ディスクからすぐにファイルがロードされます。ファイルが存在しない場合は、DATが最初に更新される時に作成されます。ファイルは監視されているので、ファイルに変更が加えられると DAT は更新され、DAT に加えられた変更はすぐにファイルに書き込まれます。ファイルが削除された場合、DATは現在の内容を保持します。

Load File / loadonstartpulse

瞬時にファイルをリロードします。

Write on Toe Save / write

On の場合、プロジェクト保存時に DAT の内容をディスク上のファイルに書き出します。

Write File / writepulse

瞬時にファイルをディスクに書き込みます。

Remove Blank Lines / removeblank

このオプションを有効にすると、ファイルを読み込む際に空行を変換しないようになります。

Exact Dimensions / dims

有効にすると、/ rowsおよび/ colsパラメーターを使用してテーブルDATの正確な行数と列数を定義できます。 これを有効にすると、既存の行または列は破棄されません。

Rows / rows

テーブルの行数を設定します。

Columns / cols

テーブルの列数を設定します。

パラメータ – Common ページ

参照:共通 Common ページ

Render Pick DAT

概要

Render Pick DAT は、3D レンダリングの任意のピクセルで 3D サーフェスに関する情報を取得し、3D レンダリングされたシーンにマルチタッチを実装することを可能にします。レンダリング(レンダートップまたはレンダーパストップから)をサンプリングし、指定されたピック位置のジオメトリから3D情報を返します。
select、u、vの3列以上のDATをフィードします。Multi TouchIn DAT は通常、Render Pick DATに接続され、Multi Touch In DAT は Render TOP の出力を表示しているコンテナを指します。
複数のカメラから同時にピックすることができます。Render TOPにリストされている最初のカメラ以外のビューからピックを行うカメラを指定することができます。列の値は、Camera COMPへのパス(Render Pick DATからの相対パス、または絶対パス)、または0から始まる整数のインデックスのいずれかです。 インデックスの場合、レンダーTOPに複数のカメラがリストされている場合、または’Custom Pick Camera(s)’パラメータにリストされているカメラがある場合、使用するカメラが選択されます。これは、様々なマルチカメラレンダリングの設定や、VRのようにピッキングがアイカメラの視点からではなく、ハンドコントローラの視点から行われる場合に便利です。
ピック位置は、レンダーピックDAT入力に接続するテーブルに配置されたu、v(水平、垂直)座標です。 入力テーブルの各行は、サンプリングされる1つの選択ポイントを表します。ただし、列見出しselect、u、v(およびその他の未使用の列)を含む最初の行は除きます。 select、u、v列は、PanelCHOPから取得するものです。 レンダーのアスペクト比に関係なく、uとvの値は左から右、下から上に0対1になります。
Strategy が Always の場合、その u,v の位置は常にサンプリングされ、その結果は Render Pick DAT 出力の対応する行に表示されます。
出力テーブルには、ピックされたジオメトリのパス、その位置(任意の参照フレーム内)、サーフェス法線(バンプマッピングを除く)、カメラからの距離、テクスチャUV座標、カラー、アルファ、インスタンスIDが表示されます。これにより、変形する頂点を持つサーフェスが適切にピックされます。

以下にいくつかの例があります。

  • パレットの中の geoPanel。
  • パレットのTechniquesの下のmultiTouch。
  • Render Pick DAT サンプル

Render Pick CHOPの章も参照してください。

パラメータ – Render Pick ページ
Strategy / strategy

ピックのインタラクションに基づいて値を更新するタイミングを設定します。

  • While Select / select
    選択/ピックされているときに値を継続的に更新します。
  • Hold First Picked / holdfirst
    ジオメトリがピックされたときに最初に返された値を保持します。
  • Hold Last Picked / holdlast
    ジオメトリがピックされたときに最後に返された値を保持します。これは、ピックが空の空間のサンプリングを開始した場合(シーンのその部分にジオメトリが存在しない場合)に、ジオメトリでピックされた最後の値を保持するという点で、Continuous ストラテジーとは異なります。別の方法として、Continuous ストラテジーを使用すると、ピックが空の空間のサンプリングを開始した場合、値はゼロにクリアされます。
  • Always / always
    選んだ場所の値を継続的に更新します。
Clear Previous Pick on New Pick / clearprev

このパラメータは、ストラテジーがHold Last Pickedに設定されている場合にのみ有効になります。このパラメータがonの場合、空のスペースで新しいピックを開始すると、値はクリアされます。オフの場合、空のスペースでピックを開始すると、最後の値が保持されます。

Response Time / responsetime

値が更新されるタイミングを設定します。

  • Next Cook (Faster) / nextcook
    値は現在のフレームでキャプチャされ、次のフレームで更新されます。結果は前のフレームのものですが、cookタイムははるかに速くなります。
  • This Cook (Slower) / thiscook
    値は現在のフレームでキャプチャされ、更新されます。
Pick Radius / pickradius

ピックの検索領域の半径を設定します。ピックの中心に何も見つからない場合は、ピック半径で定義された検索領域内のジオメトリを検索し続けます。

Pick Radial Step / pickradstep

探索領域内の探索を減らすために使用されます。探索領域は、中心のピックポイントから外側の スポーク に対応する位置でサンプリングされます。

Pick Circular Step / pickcirstep

探索領域内での探索を減らすために使用します。探索領域は、中心のピックポイントから外側の リング に対応する位置でサンプリングされます。

Render/RenderPass TOP / rendertop

どのシーンをピックするか、どのカメラからピックするかを指定します。デフォルトでは、Render TOPに表示されている最初のカメラがピックに使用されます。Custom Pick Camera(s) パラメータで別のカメラを指定したり、camera inputの列を使って複数のカメラを選択することができます。

Custom Pick Camera(s) / custompickcameras

ここに1つ以上のカメラCOMPを指定することで、カスタムカメラのビューポートからピックすることができます。このパラメータが空白の場合、レンダーTOPのカメラが使用されます。複数の異なるカメラの視点からピックするには、入力DATにカメラ列を指定する必要があります。

Allow Multi-Camera Rendering / allowmulticamera

マルチカメラレンダリングは、複数のパスを同時にレンダリングするための高速な方法です。この機能は、088バージョンで作られた古いGLSL MATでは正しく動作しない場合があります。一般的にはオンのままにしておくべきです。

Use Pickable Flags / usepickableflags

onにすると、Render Pick DAT で Pickable Flag がオンになっているジオメトリのみが選択できるようになります。Pickable FlagはすべてのObjectコンポーネントにあります。

Include Non-Pickable Objects / includenonpickable

ピッキングアルゴリズムの中に非ピッキングオブジェクトを含め、非ピッキングオブジェクトがピッキング可能なオブジェクトの背後に隠れてしまう可能性があるようにします。例えば、シーン内にピッキング可能なオブジェクトが1つしかなく、追加の非ピッキングのジオメトリが多数存在する場合、このパラメータをオンにすると、ピッキング可能なオブジェクトが非ピッキングのオブジェクトの後ろにある場合(非ピッキングのオブジェクトによって隠されている場合)には、ピッキング可能なオブジェクトが選択されないようになります。

Merge Input DAT / mergeinputdat

入力テーブルをRender Pick DATsの列に追加します。

Activate Callbacks / activatecallbacks

各ピックイベントのCallback DATを有効にします。

Callbacks DAT / callbacks

受信したピックイベントのコールバックを含める DAT のパスを設定します。

パラメータ – Options ページ
Fetch Position / position

ジオメトリ上でピックされた点の位置を返します。 tx, ty, tz列。

  • No / no
    位置の値を返しません。
  • In SOP Space / sopspace
    SOP変換空間内でピックされた点の位置を返します。
  • In World Space / worldspace
    ワールドトランスフォーム空間でピックした点の位置を返します。
  • In Camera Space / cameraspace
    カメラ変換空間でピックした点の位置を返します。
  • Relative to Object / relativetoobj
    Reference Object パラメータで設定したオブジェクトに対するピックした点の相対位置を返します。
Fetch Normal / normal

ジオメトリ上でピックされた点の法線を返します。nx, ny, nz列。

  • No / no
    法線値を返しません。
  • In SOP Space / sopspace
    SOP変換空間で選択された点の法線を返します。
  • In World Space / worldspace
    ワールドトランスフォーム空間で選択した点の法線を返します。
  • In Camera Space / cameraspace
    カメラ変換空間でピックした点の法線を返します。
  • Relative to Object / relativetoobj
    Reference Objectパラメータで指定されたオブジェクトに対して相対的にピックされた点の法線を返します。
Reference Object / referenceobj

Relative to Objectで位置や法線を取得する際に参照するオブジェクトを設定します。

Fetch Point Color / color

ジオメトリ上でピックした点の色を返します。cr, cg, cb, ca列。

Fetch Texture UV / uv

ジオメトリ上でピックした点のテクスチャ座標を返します。mapu, mapv, mapw列。

Fetch Depth / depth

Depth Buffer関数は、ジオメトリ上でピックされた点の深度を返します。この値は、Depth Buffer の近傍平面と遠方平面の間の点の位置の非線形比です。列はdepthです。

Fetch Instance ID / instanceid

オブジェクトのインスタンスIDを返します。インスタンスがオフの場合は常に0になります。r列はinstanceです。

Custom Attrib 1 / customattrib1

オブジェクトから返すカスタム属性を指定します。

Custom Attrib 1 Type / customattrib1type

このメニューから属性の種類を選択します。

Custom Attrib 2 / customattrib2

オブジェクトから返すカスタム属性を指定します。

Custom Attrib 2 Type / customattrib2type

このメニューから属性の種類を選択します。

Custom Attrib 3 / customattrib3

オブジェクトから返すカスタム属性を指定します。

Custom Attrib 3 Type / customattrib3type

このメニューから属性の種類を選択します。

Custom Attrib 4 / customattrib4

オブジェクトから返すカスタム属性を指定します。

Custom Attrib 4 Type / customattrib4type

このメニューから属性の種類を選択します。

パラメータ – Common ページ

参照:共通 Common ページ

OSC Out DAT

概要

OSC Out DATは、遠隔地にあるコンピュータ間でOSC接続で情報を送信するために使用します。OSCメッセージを出力するには、.sendOSC() pythonメソッドを使用します。
OSC、OSC In DAT、OSC In CHOP、OSC Out CHOP、iOS and OSC、Network Protocols、Syncの各章も参照してください。
Windows OS の場合の注意事項 – 接続に問題がある場合は、Windows ファイアウォールが無効になっていることを確認してください。

パラメータ – Connect ページ
Active / active

onにすると、DAT はネットワークポートとの間で情報を送受信します。offにすると、更新は発生しません。ポートに送信されたデータは失われます。

Protocol / protocol

使用するネットワークプロトコルをします。詳細については、Network Protocolの章を参照してください。

  • Messaging (UDP) / msging
  • Multi-Cast Messaging (UDP) / multicastmsging
  • Reliable Messaging (UDT Library) / reliablemsging
Network Address / address

UDPを使用する場合のターゲットコンピュータのネットワークアドレスを設定します。マルチキャストの場合は、送信先のマルチキャストアドレスとなります。このアドレスは、foo や foo.bar.comのような標準的なWWWアドレスです。IPアドレス(例:100.123.45.78)を入れることができます。localhost を入れた場合は、パイプの相手が同じコンピュータ上にいることを意味します。

Port / port

送信先のネットワークポートを設定します。

Local Address / localaddress

システムに複数のNIC(Network Interface Card)があり、どのNICを使用するか選択したい場合に送信元のIPアドレスを設定します。

Shared Connection / shared

同じネットワークプロトコルを使用して、他のネットワークDATと同じ接続を使用します。

OSC Address Scope / addscope

生成されるメッセージを減らすために、メッセージのアドレス名パターンを使用して、メッセージを含めたり除外したりすることができます。例えば、^*accel*は、mrmrrのようなiOSやiPhoneアプリから入ってくる加速度計メッセージを除外します。 可能なアドレス名パターンの構文については、Pattern Matchingの章を参照してください。

Include Type Tag / typetag

各メッセージに引数リスト型タグを含みます。これは、パラメータ型キーワードを含みます。(解析アプリケーションがパラメータ型を識別する必要がある場合)

Split Bundle into Messages / splitbundle

On の場合、バンドル内に含まれる各メッセージには、それ自身の行が与えられます。

Split Message into Columns / splitmessage

On の場合、OSC のアドレスと引数には個別の列が与えられ、それ以外の場合はメッセージの列に含まれます。

Bundle Timestamp Column / bundletimestamp

Onの場合、各バンドルのタイムスタンプ値が列に含まれます。

パラメータ – Received Messages ページ
Callbacks DAT / callbacks

コールバックDATは、受信したメッセージごとに1回実行されます。

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで指定されたDATの場所から実行されます。
  • Specified Operator / op
    スクリプトは、以下のFrom Operatorパラメータで設定したオペレータから実行されます。
From Operator / fromop

Execute From が Specified Operator に設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 この演算子は、Execute From パラメーターが Specified Operator に設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトでは100メッセージに制限されていますが、Clamp Outputでは無制限を含む任意の設定が可能です。

Maximum Lines / maxlines

メッセージの数を制限し、メッセージはリストから古い順に削除されます。

Clear Output / clear

見出し以外の行をすべて削除します。pythonスクリプトでクリアするには
`op(“*”opname”*“).par.clear.pulse()`

Bytes Column / bytes

メッセージの生のバイト数を別の列に出力します。

パラメータ – Common ページ

参照:共通 Common ページ

OSC In DAT

概要

OSC In DATは、デフォルトでUDPを使用してOpen Sound Controlのフル・サウンド・コントロール・パケットを受信し、解析します。各パケットは解析され、DATのテーブルの行として追加されます。テーブルはFIFO fisrt-in first-out で、パラメータ設定された行数に制限されています。受信した各パケットに対して、オプションのスクリプトを実行することができます。各パケット/行は、1つのOSCメッセージ、またはOSCバンドル全体を表します。各引数は、ASCIIテキストに変換されます。
OSC、OSC Out DAT、OSC In CHOP、OSC Out CHOP、iOS、OSC、Network Protocolsの各章も参照してください。
サポートされている引数タグの種類は以下の通りです。

  • i : int32
  • f : float32
  • s : OSC-文字列
  • b : OSC-blob
  • h : 64ビット、ビッグエンディアン2の補足整数
  • t : OSC-timetag
  • d : 64ビット(ダブル)IEEE 754浮動小数点数
  • S : OSC-文字列として表される交互のタイプ
  • c : アスキー文字
  • r : 32ビットのRGBAカラー
  • m : 4バイトのMIDIメッセージ
  • T : True
  • F : False
  • N : Nil
  • I : Infinitum
  • [ : 配列の始まり
  • ]: 配列の終わり

マルチベクトル引数(例 “blob”、 “midi”、 “rgb”など)の場合、値のリストはダブル・クオートで囲まれます。 不明な引数タイプの場合は、代わりに、その引数のバイトを表す10進値のクオート付きリストが含まれます。
Windows OS の場合の注意事項 – 接続に問題がある場合は、Windows ファイアウォールが無効になっていることを確認してください。

パラメータ – Connect ページ
Active / active

onにすると、DAT はネットワークポートに送信される情報を受信します。offにすると、更新は発生しません。ポートに送信されたデータは失われます。

Protocol / protocol

使用するプロトコルを設定します。詳細についてはNetwork Protocolsの章を参照してください。

  • Messaging (UDP) / msging
  • Multi-Cast Messaging (UDP) / multicastmsging
  • Reliable Messaging (UDT Library) / reliablemsging
Network Address / address

マルチキャストプロトコルの場合、リッスンするマルチキャストアドレスを設定します。UDTプロトコルの場合は、サーバのIPアドレスを設定します。

Port / port

OSC-Inがパケットを受け付けるポートを設定します。

Local Address / localaddress

システムに複数のNIC(Network Interface Card)があり、どのNICを使用するか選択したい場合に受信するIPアドレスを指定します。

Shared Connection / shared

同じネットワークプロトコルを使用して、他のネットワークDATと同じ接続を使用します。

OSC Address Scope / addscope

生成されるメッセージを減らすために、メッセージのアドレス名パターンを使用して、メッセージを含めたり除外したりすることができます。例えば、^*accel*は、mrmrrのようなiOSやiPhoneアプリから入ってくる加速度計メッセージを除外します。 可能なアドレス名パターンの構文については、Pattern Matchingの章を参照してください。

Include Type Tag / typetag

各メッセージに引数リスト型タグを含みます。これは、パラメータ型キーワードを含みます。(解析アプリケーションがパラメータ型を識別する必要がある場合)

Split Bundle into Messages / splitbundle

On の場合、バンドル内に含まれる各メッセージには、それ自身の行が与えられます。

Split Message into Columns / splitmessage

On の場合、OSC のアドレスと引数には個別の列が与えられ、それ以外の場合はメッセージの列に含まれます。

Bundle Timestamp Column / bundletimestamp

Onの場合、各バンドルのタイムスタンプ値が列に含まれます。

パラメータ – Received Messages ページ
Callbacks DAT / callbacks

コールバックDATは、受信したメッセージごとに1回実行されます。 使用法については、oscinDAT_Classの章を参照してください。

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで指定されたDATの場所から実行されます。
  • Specified Operator / op
    スクリプトは、以下のFrom Operatorパラメータで設定したオペレータから実行されます。
From Operator / fromop

Execute From が Specified Operator に設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 この演算子は、Execute From パラメーターが Specified Operator に設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトでは100メッセージに制限されていますが、Clamp Outputでは無制限を含む任意の設定が可能です。

Maximum Lines / maxlines

メッセージの数を制限し、メッセージはリストから古い順に削除されます。

Clear Output / clear

見出し以外の行をすべて削除します。pythonスクリプトでクリアするには `op(“*”opname”*“).par.clear.pulse()`

Bytes Column / bytes

メッセージの生のバイト数を別の列に出力します。

パラメータ – Common ページ

参照:共通 Common ページ

MIDI In DAT

概要

MIDI In DATは、指定したMIDIデバイスからTouchDesignerに入力されたすべてのMIDIメッセージを記録します。メッセージ、タイプ、チャンネル、インデックス、値の各列をテーブル形式で出力します。
しかし、一般的な設定はもっと簡単です。Dialogs -> MIDI Device MapperでMIDIを設定すると、TouchDesignerはdevice 1などのために/local/maps/map1を指すSelect CHOPでMIDIを受信する準備ができています。
MIDI Event DAT、MIDI In Map CHOP、MIDI In CHOP、MIDI Out CHOP、Tscript `midi()` コマンド、MIDI Device Mapper ダイアログの各章も参照してください。

パラメータ – Connect ページ
Active / active

onにしたときのMIDIイベントを記録します。

Device Table / device

MIDIデバイスのTalbe DATへのパスを設定します。

Device ID / id

デバイスIDを設定します。

パラメータ – Filter ページ
Skip Sense / skipsense

これがonになっている場合、センスメッセージをログに記録しません。

Skip Timing / skiptiming

これがonになっている場合、タイミングメッセージを記録しません。

Filter Messages / filter

これがonになっている場合、以下のメッセージ フィルタリング パラメータが有効になります。

Message / message

MIDI メッセージの内容でフィルタリングします。例:Control Change

Channel / channel

MIDI メッセージ channels でフィルタリングします。チャンネルの範囲は 1 から 16 までです。

Index / index

MIDI メッセージ index でフィルタリングします。インデックスの範囲は 1 から 128 までです。

Value / value

MIDI メッセージ value でフィルタリングします。値の範囲は 0 から 127 です。

パラメータ – Received Messages ページ
Callbacks DAT / callbacks

このスクリプトは、テーブルに追加された各行(MIDI イベントが受信された)ごとに一度だけ実行されます。使用法は midieventDAT_Class を参照してください

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで指定されたDATの場所から実行されます。
  • Specified Operator / op
    スクリプトは、以下のFrom Operatorパラメータで指定したオペレータから実行されます。
From Operator / fromop

ExecuteがSpecifiedOperatorに設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 このオペレータは、Execute FromパラメーターがSpecified Operatorに設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトで100メッセージに制限されていますが、Clamp Outputでは無制限を含む任意の設定が可能です。

Maximum Lines / maxlines

メッセージ数を制限し、古いメッセージはリストから最初に削除されます。

Clear Output / clear

見出し以外の行をすべて削除します。pythonスクリプトでクリアするには`op(“*”opname”*“).par.clear.pulse()`

Bytes Column / bytes

メッセージの生のバイト数を別の列に出力します。

パラメータ – Common ページ

参照:共通 Common ページ

MIDI Event DAT

概要

MIDI Event DATは、すべてのMIDIデバイスからTouchDesignerに入ってくるすべてのMIDIメッセージを記録します。また、TouchDesignerから発信されたMIDIメッセージも記録されます。メッセージ、タイプ、チャンネル、インデックス、値の各列をテーブル形式で出力します。
テーブルは FIFO “first-in-first-out “で、パラメータ設定された行数に制限されています。オプションのスクリプトは、受信したパケットごとに実行することができます。
MIDI In DAT、MIDI In Map CHOP、 MIDI In CHOP、MIDI Out CHOP、Tscript `midi()` コマンドの章も参照してください。

パラメータ – Connect ページ
Active / active

onにした時、MIDIイベントを記録します。

パラメータ – Filter ページ
Skip Sense / skipsense

これがonになっている場合、センスメッセージをログに記録しません。

Skip Timing / skiptiming

これがonになっている場合、タイミングメッセージを記録しません。

Filter Messages / filter

これがonになっている場合、以下のメッセージ フィルタリング パラメータが有効になります。

Message / message

MIDI メッセージの内容でフィルタリングします。例:Control Change

Channel / channel

MIDI メッセージ channels でフィルタリングします。チャンネルの範囲は 1 から 16 までです。

Index / index

MIDI メッセージ index でフィルタリングします。インデックスの範囲は 1 から 128 までです。

Value / value

MIDI メッセージ value でフィルタリングします。値の範囲は 0 から 127 です。

Dir / dir

メッセージの方向、input または output でフィルタリングします。

パラメータ – Received Messages ページ
Callbacks DAT / callbacks

このスクリプトは、テーブルに追加された各行(MIDI イベントが受信された)ごとに一度だけ実行されます。使用法は midieventDAT_Class を参照してください。

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで指定されたDATの場所から実行されます。
  • Specified Operator / op
    スクリプトは、以下のFrom Operatorパラメータで指定したオペレータから実行されます。
From Operator / fromop

ExecuteがSpecifiedOperatorに設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 このオペレータは、Execute FromパラメーターがSpecified Operatorに設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトで100メッセージに制限されていますが、Clamp Outputでは無制限を含む任意の設定が可能です。

Maximum Lines / maxlines

メッセージ数を制限し、古いメッセージはリストから最初に削除されます。

Clear Output / clear

見出し以外の行をすべて削除します。pythonスクリプトでクリアするには `op(“*”opname”*“).par.clear.pulse()`

Bytes Column / bytes

メッセージの生のバイト数を別の列に出力します。

パラメータ – Common ページ

参照:共通 Common ページ

File In DAT

概要

File In DATは、.txtテキストファイルと.datテーブルファイルを読み込みます。 他のファイルはテキストとして読み取ろうとします。 ファイルはディスクまたはWeb上にあるものですy。 URLを指定するときはhttp://を使用してください。

パラメータ – File In ページ
File / file

読み込むファイルのファイルシステムパスと名前を指定します。通常のテキストには.txtファイルを、表形式のテキストには.datファイルを読み込みます。

Convert Text to Table / converttable

DATの内容を通常のテキストから表形式のテキストに変換します。(タブ区切りのテキスト、各は表の新しい列になります。)

Refresh / refresh

このパラメータがOnに設定された場合、ファイルをリロードします。

Refresh Pulse / refreshpulse

ディスクからファイルを即座にリロードします。

パラメータ – Common ページ

参照:共通 Common ページ

FIFO DAT

概要

FIFO DAT は、ユーザーが設定した最大行数をテーブルに保持します。行を追加するには、DAT クラスの appendRow() メソッドを使用します。テーブルの容量に達すると、最初の行が削除されます。最大行数に達した後、新しい行が追加されると、最も古い行は破棄されます。
例:

op(‘fifo1’).appendRow([‘a’,’b’,’c’])

パラメータ – FIFO ページ
Callbacks DAT / callbacks

FIFO DATに追加された行ごとに設定したCallbacks DATが1回実行されます。

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで設定したDATから実行されます。
  • Specified Operator / op
    スクリプトはFrom Operatorパラメータで設定したオペレータから実行されます。
From Operator / fromop

ExecuteがSpecifiedOperatorに設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 このオペレータは、Execute From パラメーターが Specified Operator に設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトで100メッセージに制限されていますが、Clamp Outputを使用すると無制限を含む任意のメッセージに設定できます。

Maximum Lines / maxlines

メッセージの数を制限します。古いメッセージは最初にリストから削除されます。

Clear Output / clear

見出しを除くすべての行を削除します。 Pythonスクリプトでクリアするには`op(‘opname’).par.clear.pulse()`

Keep First Row / firstrow

テーブルの最初の行を保持します。

パラメータ – Common ページ

参照:共通 Common ページ

Evaluate DAT

概要

Evaluate DATは、文字列編集や数学式を使って受信DATのセルを変更します。
最もシンプルな形では、入力DATに接続しなくても、Evaluate DATのExpressionパラメータに任意のPython式を入れることができます。フレームごとに式を評価するには、Expression をParameter Mode にする必要があります。
DATをアタッチすると、入力と同じ行数と列数の表を出力します。
Scopeページを使用して、セルのどの行と列が影響を受けるかを設定することができます。

  • Outputメニューが Expressions に設定した場合、入力セルはPython表記として評価されます。
    入力セルの値は me.inputCell.val です。
  • オプションの 2 番目のDAT入力 は入力のセルにマッチした後、評価されて出力される式の配列です。2番目のDATの行数が最初の行数より少ない場合、2番目の入力の最後の行の式が繰り返されます。2番目のDAT内の列が最初の列よりも少ない場合、最後の列が繰り返されます。
  • 式は、コンパイルされた内部バージョンを格納することで最適化され、より高速に実行されます。可能な限りこれを使用してください。テーブル内で式を繰り返すことで式を再利用している場合は、データとは別にサイクルスルーする少数の式を含む入力テーブルを持つこともパフォーマンスを向上させます。

2番目のDATが1セルの場合、Expressionパラメータのように、その式をすべての入力セルに適用します。1セルの2番目のDATが `me.inputCell.val+1` の場合、1番目の入力セルに1を加えます。
2番目のDATが

| me.inputCell.val | me.inputCell.val |
| —————- | ———————————————– |
| me.inputCell.val | math.sin(math.radians(float(me.inputCell.val))) |

とすると、最初の行と最初の列はそのまま残され、残りのセルはそのsin()が計算されます。

Evaluate DATは、Output Table Sizeパラメーターが使用されていない限り、最初の入力DAT(テーブルまたはテキスト)のフォーマットを維持します。
Substitute DAT、Expression CHOPも参照してください。

Evaluate DATは、(1)文字列を構築したり、(2)数学演算を行ったりするのに使用できます。

me.inputCell refers to the corresponding input cell that is used to evaluate the current cell. evaluateDAT_Class has a list of members that refer to incoming data. You can use Python to fetch data, like op(‘datpath’)\[row,col] to access DAT data and op(‘choppath’)[‘channame’\][sampleindex] to access CHOP data. A few examples:

# access data from a particular row from the input table at the currently evaluated column
me.inputTable[‘rowname’,me.inputCol]

# prefix the data in the current cell the input row and column
# a string in the first cell will be formatted as [0,0]:string
‘[‘+str(me.inputRow)+’,’+str(me.inputCol)+’]:’+me.inputCell

# add the numeric data in the current cell to numeric data from another table
op(‘datpath”)[me.inputRow,’colname’] + me.inputCell

# concatenate the numeric data in the current cell to string data from another table with a space between
op(‘datpath’)[me.inputRow,’colname’] + ‘ ‘ + me.inputCell

# concatenate the current row number to string data from another table with a space between
op(‘datpath’)[me.inputRow,’colname’] + ‘ ‘ + str(me.inputRow)

# concatenate a sample at the currrent row index from a chop channel with the current cell
me.inputCell + ‘:’ + str(op(‘choppath’)\[‘channame’\][me.inputRow])

他の演算子でデータにアクセスする例については、Working with DATs in Pythonの章とWorking with CHOPs in Pythonの章を参照してください。
また、tab(“tabpath”,row,col) や chop(“choppath”) のように、任意のTscript式を使ってデータを取得することもできます。対応する入力セルの値を表す $V のようなローカル変数のリストがあり、$F や $SYS_XRES のような他のTscript変数を使うことができます。
いくつかのTscript式v()およびvs()は、Evaluate DATに固有であり、入力内のすべてのセルにアクセスできます。 vs()は、floatではなく常に文字列を出力するため、v()とは異なります。
式v(row、col)およびvs(row、col)は、ローカル変数R(セルの行)およびC(セルの列)を使用できます。

  • v($ R、$ C)は$ Vと同じです。
  • v($ C、$ R)はセルを転置します。
  • 相対的な行/列を$ C、$ C-1、$ C + 1でアドレス指定し、最初の列のセルをv($ R、0)でアドレス指定できます。 vはセルの内容をfloatとして返します。 vsは、セルの内容を文字列として返します。

行/列名でセルを取得できる式は、以下の通りです。

  • vr(“*rowname*“,“*colnum*“)
  • vc(“*rownum*“,“*colname*“)
  • vrc(“*rowname*“,“*colname*“)

そして、上記の文字列バージョンは以下の通りです。

  • vsr(“*rowname*“,“*colnum*“)
  • vsc(“*rownum*“,“*colname*“)
  • vsrc(“*rowname*“,“*colname*“)

例: `vrc(“john”,”august”)`

ローカル変数NRとNCは、入力テーブルの行数と列数を与えます。

パラメータ – Evaluate ページ
Input Data DAT / dat

入力テーブルの代わりに使用されるDATテーブルを設定します。

Expressions DAT / datexpr

数式テーブルの代わりに使用される代替のDATAテーブルを設定します。

Output / output

DATからの出力に使用するフォーマットを設定します。

  • Evaluate / evaluate
    入力データをPython式として評価、コンパイルします。
  • Input Data / data
    操作なしで1 番目の入力からデータを渡します。
  • Input Expression / expression

2 番目の入力がない場合は、1 番目の入力を通過します。そうでない場合は 2 番目の入力を通過します。最初の入力が 2 番目の入力よりも多くの行または列を持つ場合、2 番目の入力の最後の行または列が繰り返され、余分なセルを埋めます。

Expression / expr

Expression入力またはDATが与えられていない場合に、各セルを評価するために使用する式を設定します。

Output Table Size / outputsize

Output Table SizeパラメータがStrings、Expressions、またはCommandsで、2 番目の入力がある場合、出力テーブル・サイズをInput DAT またはFormula DAT のいずれかに選択することができます。Formula DAT が選択され、そのテーブルサイズが入力データテーブルよりも大きい場合、残りの式を評価する際には、各行または列の最後のセルが使用されます。

  • Input 1 (Data) / in1
  • Input 2 (Expressions) / in2
Monitor Data Dependencies / dependency

OutputパラメータがStringまたはExpressionsに設定されている場合、DATはデータが使用するノードを監視し、時間の依存関係を確認し、それに応じてcookします。このトグルはデフォルトでオンになっています。入力の変更のみに基づいてDATをクッキングしたい場合は、これをオフにすることで、不必要な更新を避けることができます。

Convert Backslash Characters / backslash

\ nを改行に、\ tをタブなどに変換します。入力DATがテーブルの場合、\ n、\ tはスペースに変換されることに注意してください。

パラメータ – Common ページ

参照:共通 Common ページ