خلاصه (Summary)

اپراتور OSC Out CHOP تمام کانال‌های ورودی را به یک آدرس شبکه و پورت مشخص ارسال می‌کند. نام هر کانال به‌همراه داده‌ی مرتبط با آن، به صورت هم‌زمان به مقصد تعیین‌شده منتقل می‌شود.
TouchDesigner تمام پیام‌های خروجی Open Sound Control را با برچسب زمانی (Timestamp) مشخص می‌کند؛ این زمان نسبت به زمان سیستم و فریمی است که اولین پیام ارسال شده است.
اپراتورهای OSC در TouchDesigner از پروتکل انتقال UDP استفاده می‌کنند.

OSC Out می‌تواند یا در هر بار cook تمام کانال‌ها را ارسال کند، یا فقط کانال‌هایی را بفرستد که از آخرین ارسال تغییر کرده‌اند. این رفتار توسط گزینه‌ی Send Events Every Cook تعیین می‌شود.

OSC Bundle‌ها این امکان را می‌دهند که چند پیام را به‌صورت یک فرمان واحد، به‌جای پیام‌های جداگانه، ارسال کنید. اپراتور OSC Out DAT دارای تابعی به نام sendOSC() است که می‌تواند یک لیست از پیام‌ها را دریافت کرده و آن‌ها را به‌صورت یک bundle ارسال کند.

همچنین ببینید:
OSC In CHOP، OSC Out DAT، OSC In DAT، iOS and OSC، Touch Out CHOP، UDP Out DAT، TCP/IP DAT

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


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

  1. Summary

  2. Parameters – OSC Out Page

  3. Parameters – Common Page

  4. Operator Inputs

  5. Info CHOP Channels
     5.1 Common CHOP Info Channels
     5.2 Common Operator Info Channels


Parameters – OSC Out Page

Active (active)
وقتی روشن باشد، CHOP اطلاعات را به پورت شبکه ارسال می‌کند. وقتی خاموش باشد، داده‌ای ارسال نمی‌شود.

Protocol (protocol)
انتخاب پروتکل شبکه برای استفاده. برای اطلاعات بیشتر به مقاله‌ی Network Protocols مراجعه کنید.

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

Network Port (port)
پورتی که OSC Out بسته‌ها را به آن ارسال می‌کند.

Local Address (localaddress)
مشخص کردن IP محلی که داده‌ها از آن ارسال شوند؛ این گزینه زمانی مفید است که سیستم چند کارت شبکه (NIC) داشته باشد و بخواهید یکی را انتخاب کنید.

Max Queue Size (maxsize)
حداکثر تعداد پیام‌هایی که OSC Out سعی می‌کند در یک زمان ارسال کند.

Max Queue Size Unit (maxsizeunit)
واحد اندازه‌ی صف: Samples، Frames یا Seconds.

Cook Every Frame (cookalways)
مشخص می‌کند که این CHOP در هر فریم cook شود، حتی اگر CHOPهای پایین‌دست آن cook نشوند.

Numeric Format (numericformat)
انتخاب فرمت عددی داده‌ها:
عدد صحیح ۳۲ بیتی، عدد اعشاری ۳۲ بیتی (float)، یا عدد اعشاری ۶۴ بیتی (double).

Data Format (format)
نحوه‌ی قالب‌بندی پیام‌های خروجی را مشخص می‌کند.

Max Message Bytes (maxbytes)
اندازه‌ی بسته‌های پیام خروجی را محدود می‌کند و در صورت نیاز پیام‌ها را به چند بخش تقسیم می‌کند.

Send Events Every Cook (sendevents)
اگر روشن باشد، OSC Out در هر cook تمام کانال‌ها را ارسال می‌کند، حتی اگر مقدارشان تغییر نکرده باشد.
اگر خاموش باشد، فقط کانال‌هایی ارسال می‌شوند که مقدارشان تغییر کرده است.


Parameters – Common Page

Time Slice (timeslice)
با روشن کردن این گزینه، کانال‌ها به‌صورت Time Slice در نظر گرفته می‌شوند.
Time Slice فاصله‌ی زمانی بین آخرین فریم cook و فریم فعلی است.

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

Sample Rate Match (srselect)
مدیریت حالتی که نرخ نمونه‌برداری CHOPهای ورودی متفاوت است. هنگام Resampling، منحنی‌ها بر اساس روش Interpolation انتخاب‌شده (یا Linear در صورت نبود گزینه) درون‌یابی می‌شوند.

Export Method (exportmethod)
مشخص می‌کند کانال CHOP چگونه به یک پارامتر متصل (Export) شود. برای اطلاعات بیشتر به مقاله‌ی Export مراجعه کنید.

Export Root (autoexportroot)
این مسیر به نود ریشه‌ای اشاره می‌کند که تمام مسیرهای Export بر اساس «نام کانال = Path:Parameter» نسبت به آن تعریف می‌شوند.

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 Channels

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

Common CHOP Info Channels

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

  • length – تعداد sampleها در CHOP

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

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

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

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

Common Operator Info Channels

  • total_cooks – تعداد دفعات cook شدن اپراتور از شروع اجرا

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

  • cook_frame – شماره‌ی فریم آخرین cook نسبت به تایم‌لاین کامپوننت

  • cook_abs_frame – شماره‌ی فریم آخرین cook نسبت به زمان مطلق

  • cook_start_time – زمان شروع cook (میلی‌ثانیه)

  • cook_end_time – زمان پایان cook (میلی‌ثانیه)

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

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

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