OSC In DAT

پرش به ناوبری
پرش به جستجو


خلاصه (Summary)

OSC In DAT بسته‌های کامل Open Sound Control (OSC) را دریافت و تجزیه (Parse) می‌کند. به‌صورت پیش‌فرض این کار با استفاده از UDP انجام می‌شود.
هر بسته‌ی دریافتی پردازش شده و به‌عنوان یک ردیف جدید به جدول DAT اضافه می‌شود.

این جدول از نوع FIFO (اول وارد شده، اول خارج می‌شود) است و تعداد خطوط آن به مقدار تعیین‌شده در پارامترها محدود می‌شود.

امکان اجرای یک اسکریپت اختیاری برای هر بسته‌ی دریافتی وجود دارد.

هر بسته / هر ردیف می‌تواند نمایانگر:

  • یک پیام OSC منفرد

  • یا یک بسته‌ی OSC (Bundle) کامل

باشد.

تمام آرگومان‌ها به متن ASCII قابل‌خواندن تبدیل می‌شوند.


همچنین ببینید:
OSC، OSC Out DAT، Peer Class، OSC In CHOP، OSC Out CHOP، iOS و OSC، Network Protocols


انواع تگ آرگومان‌های پشتیبانی‌شده

  • i : عدد صحیح ۳۲ بیتی (int32)

  • f : عدد اعشاری ۳۲ بیتی (float32)

  • s : رشته‌ی متنی OSC

  • b : داده‌ی باینری OSC (blob)

  • h : عدد صحیح ۶۴ بیتی با فرمت two’s complement و big-endian

  • t : تایم‌تگ OSC

  • d : عدد اعشاری ۶۴ بیتی (double) مطابق استاندارد IEEE 754

  • S : نوع جایگزین که به‌صورت رشته‌ی OSC نمایش داده می‌شود

  • c : کاراکتر ASCII

  • r : رنگ RGBA با عمق ۳۲ بیت

  • m : پیام MIDI چهار بایتی

  • T : مقدار True

  • F : مقدار False

  • N : مقدار Nil

  • I : مقدار Infinitum (بی‌نهایت)

  • [ : آغاز آرایه

  • ] : پایان آرایه


در مورد آرگومان‌هایی که چند مقداری هستند (مانند blob، midi، rgb و …)، لیست مقادیر داخل علامت نقل‌قول دوتایی (” “) قرار داده می‌شود.

در صورتی که نوع آرگومان ناشناخته باشد، به‌جای آن یک لیست از مقادیر ده‌دهی (Decimal) که نمایانگر بایت‌های آن آرگومان هستند، داخل نقل‌قول نمایش داده می‌شود.


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


محتویات (Contents)

  1. Summary

  2. Parameters – Connect Page

  3. Parameters – Received Messages Page

  4. Parameters – Common Page

  5. Operator Inputs

  6. Info CHOP Channels
     6.1 Specific OSC In DAT Info Channels
     6.2 Common DAT Info Channels
     6.3 Common Operator Info Channels


Parameters – Connect Page

Active (active)
وقتی روشن باشد، DAT داده‌هایی که به پورت شبکه ارسال می‌شوند را دریافت می‌کند.
وقتی خاموش باشد، هیچ به‌روزرسانی انجام نمی‌شود و داده‌های ارسالی به پورت از بین می‌روند.

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

Network Address (address)

  • در حالت Multi-cast: آدرس مولتی‌کست برای گوش‌دادن

  • در حالت UDT: آدرس IP سرور

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

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

Shared Connection (shared)
استفاده از همان اتصال شبکه‌ای که سایر DATهای شبکه با همان پروتکل استفاده می‌کنند.

OSC Address Scope (addscope)
برای محدودکردن پیام‌های تولیدشده می‌توان از الگوهای نام آدرس OSC برای شامل یا حذف کردن پیام‌ها استفاده کرد.
مثال:

^*accel*

پیام‌های مربوط به شتاب‌سنج را (مثلاً از اپ‌های iOS مثل mrmr) حذف می‌کند.
برای سینتکس الگوها به بخش Pattern Matching مراجعه کنید.

Include Type Tag (typetag)
تگ نوع آرگومان‌ها را به هر پیام اضافه می‌کند تا نوع پارامترها برای نرم‌افزار دریافت‌کننده مشخص باشد.

Split Bundle into Messages (splitbundle)
در صورت فعال‌بودن، هر پیام داخل یک Bundle در یک ردیف جداگانه قرار می‌گیرد.

Split Message into Columns (splitmessage)
در صورت فعال‌بودن، آدرس OSC و آرگومان‌ها در ستون‌های جداگانه قرار می‌گیرند؛ در غیر این صورت همگی در ستون message می‌آیند.

Bundle Timestamp Column (bundletimestamp)
در صورت فعال‌بودن، تایم‌استمپ هر Bundle در یک ستون جداگانه درج می‌شود.


Parameters – Received Messages Page

Callbacks DAT (callbacks)
DAT حاوی Callbackهایی که برای هر پیام دریافتی اجرا می‌شوند.
(برای نحوه استفاده به oscinDAT_Class مراجعه کنید)

Execute from (executeloc)
تعیین می‌کند اسکریپت از کدام مکان اجرا شود.

From Operator (fromop)
اپراتوری که تغییر وضعیت آن باعث اجرای اسکریپت می‌شود (در حالت Specified Operator).
همچنین مسیر اجرای اسکریپت نیز خواهد بود.

Clamp Output (clamp)
به‌صورت پیش‌فرض خروجی به ۱۰۰ پیام محدود است؛ با فعال‌بودن Clamp Output می‌توان آن را به هر مقداری (حتی نامحدود) تغییر داد.

Maximum Lines (maxlines)
حداکثر تعداد پیام‌ها؛ پیام‌های قدیمی‌تر زودتر حذف می‌شوند.

Clear Output (clear)
تمام خطوط به‌جز هدر را حذف می‌کند.
برای پاک‌سازی با پایتون:

op("opname").par.clear.pulse()

Bytes Column (bytes)
بایت‌های خام پیام را در یک ستون جداگانه خروجی می‌دهد.


Parameters – Common Page

Language (language)
انتخاب زبان اسکریپت.

Edit/View Extension (extension)
پسوند فایلی که DAT برای ویرایشگرهای خارجی نمایش می‌دهد.

Custom Extension (customext)
تعریف پسوند سفارشی.

Word Wrap (wordwrap)
فعال‌سازی Word Wrap در نمایش نود.


Operator Inputs

Input 0:


Info CHOP Channels

اطلاعات تکمیلی OSC In DAT از طریق یک Info CHOP قابل دسترسی است.

Specific OSC In DAT Info Channels

messages_pending
تعداد پیام‌های در صف پردازش.


Common DAT Info Channels

  • num_rows : تعداد ردیف‌های DAT

  • num_cols : تعداد ستون‌های DAT


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 : تعداد خطاها (در صورت وجود)