خلاصه (Summary)

Pipe Out CHOP برای ارسال داده از TouchDesigner به پردازش‌های دیگر که روی یک ماشین راه‌دور (Remote) و از طریق اتصال شبکه در حال اجرا هستند استفاده می‌شود.
اگر پردازش مقصد، یک پردازش دیگر از TouchDesigner باشد، می‌توان از Pipe In CHOP در آن پردازش برای دریافت داده استفاده کرد.
چندین Pipe In CHOP می‌توانند به یک Pipe Out CHOP متصل شوند.

برای اطلاعات بیشتر درباره‌ی نحوه‌ی اتصال دو پردازش TouchDesigner که روی ماشین‌های مختلف اجرا می‌شوند با استفاده از Pipe In و Pipe Out CHOP، به صفحه‌ی Pipe In CHOP مراجعه کنید.

نکته: برای ارتباط TouchDesigner با TouchDesigner در انتقال داده‌های کانال، از Touch In CHOP و Touch Out CHOP استفاده کنید که انتقال داده‌ی بهینه و Time Sliced ارائه می‌دهند.

نکته (TIP): برای ارسال دستورات اسکریپتی و سایر بسته‌های داده روی شبکه، استفاده از TCP/IP DAT یا UDP Out DAT روش پیشنهادی است.

نکته برای سیستم‌عامل ویندوز:
اگر با مشکل اتصال مواجه هستید، مطمئن شوید که Windows Firewall غیرفعال است.

همچنین ببینید:
OSC Out CHOP، Shared Mem Out CHOP


فهرست مطالب (Contents)

  1. Summary

  2. Parameters – PipeOut Page

  3. Parameters – Common Page

  4. Operator Inputs

  5. Info CHOP Channels
     5.1 Specific Pipe Out CHOP Info Channels
     5.2 Common CHOP Info Channels
     5.3 Common Operator Info Channels


پارامترها – صفحه PipeOut (Parameters – PipeOut Page)

Connection Mode (mode) ⊞

تعیین می‌کند که اپراتور به‌صورت Server یا Client عمل کند.

Server Address (address)

نام کامپیوتر یا آدرس IP سرور. این آدرس یک آدرس استاندارد وب است، مانند foo یا foo.bar.com.
می‌توانید از IP (مثلاً 100.123.45.78) یا نام شبکه‌ی کامپیوتر استفاده کنید.
اگر مقدار localhost وارد شود، یعنی طرف دیگر Pipe روی همان کامپیوتر قرار دارد.

Server Port (port)

پورت شبکه‌ای که برای ارتباط استفاده می‌شود.

Active (active)

وقتی خاموش (Off) باشد، داده‌ای ارسال نمی‌شود.

Send Input (sendinput)

کلید روشن/خاموش برای ارسال داده‌ای که به ورودی Pipe Out CHOP متصل است.

Send Current Sample Only (sendsingle)

این پارامتر فقط زمانی فعال است که Pipe Out CHOP Time Sliced نباشد (بخش Common Page را ببینید).

  • اگر روشن (On) باشد: فقط سمپل فریم جاری ارسال می‌شود.

  • اگر خاموش (Off) باشد: تمام داده‌های بین این فریم و آخرین فریمی که TouchDesigner پردازش (Cook) کرده ارسال می‌شود.

این تفاوت زمانی ایجاد می‌شود که TouchDesigner با نرخ ۶۰ فریم بر ثانیه پردازش نکند و فریم‌ها را رد کند.
مثلاً اگر پخش بین دو نمایش تصویر، ۳ فریم انیمیشن جلو برود:

  • حالت On → فقط داده‌ی یک فریم ارسال می‌شود

  • حالت Off → داده‌ی ۳ فریم ارسال می‌شود (که در اصطلاح TouchDesigner به آن Time Slice می‌گویند)

Single Sample (sample) ⊞

در حالت تک‌سمپل، تعیین می‌کند کدام سمپل ارسال شود؛
سمپل فریم ۱ یا سمپل جاری.

Send All Data (upload)

با فشردن این دکمه، تمام نام کانال‌ها و داده‌های آن‌ها یک‌بار و به‌صورت یک بسته ارسال می‌شود.

Script (script)

از این پارامترها برای ارسال یک دستور Textport به‌صورت یک‌باره از طریق Pipe استفاده می‌شود.

Send Script (sendscript)

اجرای ارسال دستور Textport به‌صورت یک‌باره.

Cook Every Frame (cookalways)

اگر روشن شود، تضمین می‌کند که این CHOP در هر فریم پردازش شود.
به‌طور معمول، CHOPها فقط زمانی پردازش می‌شوند که مستقیماً در نمایش هندسه نقش داشته باشند.

Send Monitor Pulses (pulse)

در هر فریم، یک پالس (یک کاراکتر null) ارسال می‌کند تا اتصال مانیتور شود.
این کار اتصال را فعال نگه می‌دارد و Pipe In CHOP را از وضعیت اتصال آگاه می‌کند تا وضعیت خود را درست گزارش دهد.

Echo Messages to Console (echo)

تمام داده‌های خروجی را در Console چاپ می‌کند (قابل دسترسی از منوی Dialogs).
برای توضیحات بیشتر، گزینه‌ی مشابه در Pipe In CHOP را ببینید.

Callbacks DAT (callbacks)

مسیر یک DAT که شامل متدهای callback برای هر رویداد ارسال‌شده است.
برای نحوه‌ی استفاده به pipeoutCHOP_Class مراجعه کنید.


پارامترها – صفحه Common (Parameters – Common Page)

Time Slice (timeslice)

با روشن کردن این گزینه، کانال‌ها به حالت Time Sliced در می‌آیند.
Time Slice فاصله‌ی زمانی بین آخرین فریم پردازش‌شده و فریم فعلی است.

Scope (scope)

برای تعیین اینکه کدام کانال‌ها تحت تأثیر قرار بگیرند.
برخی CHOPها از رشته‌ی Scope در صفحه Common استفاده می‌کنند.
(رجوع کنید به Pattern Matching)

Sample Rate Match (srselect) ⊞

نحوه‌ی مدیریت زمانی که نرخ سمپل CHOPهای ورودی متفاوت است.
در صورت Resampling، منحنی‌ها بر اساس روش Interpolation تعیین‌شده (یا Linear به‌صورت پیش‌فرض) درون‌یابی می‌شوند.

Export Method (exportmethod) ⊞

نحوه‌ی اتصال کانال CHOP به پارامتر را تعیین می‌کند.
برای اطلاعات بیشتر به مقاله‌ی Export مراجعه کنید.

Export Root (autoexportroot)

مسیر نودی که ریشه‌ی تمام مسیرهای Export بر اساس نام کانال است.

Export Table (exporttable)

DATای که هنگام استفاده از روش‌های Export مبتنی بر جدول، اطلاعات Export را نگه می‌دارد.

Rename From (commonrenamefrom)

الگوی نام کانال‌هایی که باید تغییر نام داده شوند.
(Pattern Matching)

Rename To (commonrenameto)

الگوی جایگزین برای نام‌ها.
به‌صورت پیش‌فرض، نام کانال‌ها تغییر نمی‌کند.
(Pattern Replacement)

مثال:

  • Channel Names: c[1-10:2] ambient

  • Rename From: c* ambient

  • Rename To: b[1-5] amb

در این مثال، کانال‌های c1 c3 c5 c7 c9 و ambient انتخاب می‌شوند
و به b1 b2 b3 b4 b5 و amb تغییر نام می‌دهند.

برای توضیح بیشتر الگوهای تغییر نام، Rename CHOP را ببینید.


ورودی‌های اپراتور (Operator Inputs)

Input 0:


کانال‌های Info CHOP

اطلاعات اضافی مربوط به Pipe Out CHOP از طریق Info CHOP قابل دسترسی است.

کانال‌های اختصاصی Pipe Out CHOP

  • connected – وضعیت اتصال

  • num_connected – تعداد اتصال‌های فعال

  • num_cached – تعداد داده‌های ذخیره‌شده در کش

کانال‌های عمومی Info CHOP

  • start – شروع بازه‌ی CHOP بر حسب سمپل

  • length – تعداد سمپل‌ها

  • sample_rate – نرخ سمپل کانال‌ها (فریم بر ثانیه)

  • num_channels – تعداد کانال‌ها

  • time_slice – اگر Time Slice فعال باشد 1، در غیر این صورت 0

  • export_sernum – تعداد دفعات به‌روزرسانی اتصال‌های Export

کانال‌های عمومی Info اپراتور

  • total_cooks – تعداد کل دفعات پردازش از شروع برنامه

  • cook_time – مدت زمان آخرین پردازش (میلی‌ثانیه)

  • cook_frame – شماره فریم پردازش‌شده نسبت به تایم‌لاین کامپوننت

  • cook_abs_frame – شماره فریم پردازش‌شده نسبت به زمان مطلق

  • cook_start_time – زمان شروع پردازش در آن فریم (میلی‌ثانیه)

  • cook_end_time – زمان پایان پردازش در آن فریم (میلی‌ثانیه)

  • cooked_this_frame – اگر در این فریم پردازش شده باشد 1

  • warnings – تعداد هشدارها (در صورت وجود)

  • errors – تعداد خطاها (در صورت وجود)