🧭 خلاصه (Summary)
Logic CHOP ورودیهای CHOP را به کانالهای باینری (0 یا 1) تبدیل میکند (یعنی روشن = 1، خاموش = 0)
و سپس آنها را با استفاده از عملیات منطقی (AND, OR, XOR, NOT, …) ترکیب میکند.
🔹 این نود میتواند برای ساخت کنترلهای منطقی، تریگرها، و سوئیچها در پروژههای تعاملی استفاده شود.
⚠️ نکته:
Logic CHOP اکنون توسط ابزارهای پیشرفتهتر مثل CHOP Execute DAT یا Text DAT جایگزین شده است.
این ابزارها مستقیماً هنگام تغییر CHOP اسکریپت اجرا میکنند (مثلاً اجرای پایتون در پاسخ به تغییرات).
⚙️ عملکرد کلی
با یک ورودی CHOP:
میتوان مقادیر را وارونه (invert) کرد، یا چند کانال را در یک کانال ترکیب نمود با عملگرهایی مانند OR / AND.با چند ورودی CHOP:
میتوان کانالهای مشابه در ورودیهای مختلف را با عملگرهای منطقی ترکیب کرد
و نتیجه را در قالب یک CHOP خروجی گرفت.
برای عملیات ریاضی (جمع، ضرب، تقسیم…) از Math CHOP استفاده کنید.
⚙️ پارامترها – صفحه Logic (Parameters – Logic Page)
🔹 Convert Input (convert)
تعیین میکند ورودیها چطور به مقادیر باینری (0 یا 1) تبدیل شوند:
| گزینه | توضیح |
|---|---|
| Off When Zero (nonzero) | مقدار 0 → خروجی 0، هر مقدار غیرصفر → خروجی 1 |
| Off When Zero or Less (pos) | مقدار ≤ 0 → خروجی 0، مقدار مثبت → خروجی 1 |
| Off When Outside Bounds (bound) | اگر مقدار خارج از بازهی تعیینشده باشد → 0 |
| On When Value Changed (valchange) | زمانی که مقدار کانال تغییر کند → 1 |
| On When Channel Name Changed (namechange) | زمانی که نام کانال تغییر کند → 1 |
🔹 Channel Pre OP (preop)
عملیاتی که روی هر نمونه (sample) از کانال انجام میشود پس از تبدیل به باینری:
| گزینه | توضیح |
|---|---|
| Off (off) | بدون تغییر |
| Invert (invert) | 0 ↔ 1 |
| Toggle (toggle) | هر بار تغییر از 0→1، حالت را بین 0 و 1 عوض میکند |
| Radio Button (radio) | فقط یکی از کانالهای ورودی میتواند روشن باشد (بقیه خاموش میشوند) |
| Last Two On (radio2) | تا دو کانال همزمان روشن میمانند؛ مفید برای blending در انیمیشن |
| Rising Edge (rise) | فقط در لحظهای که از 0→1 میرود، برای یک sample روشن میشود |
| Falling Edge (fall) | فقط در لحظهای که از 1→0 میرود، برای یک sample روشن میشود |
🔹 Combine Channels (chanop)
ترکیب کانالهای داخل هر CHOP با هم:
| گزینه | توضیح |
|---|---|
| Off | بدون ترکیب |
| And | همه باید روشن باشند تا نتیجه روشن شود |
| Or | اگر یکی روشن باشد، نتیجه روشن میشود |
| Exclusive Or (xor) | فقط یکی روشن باشد (نه بیشتر) |
| Not And (nand) | معکوس AND |
| Not Or (nor) | معکوس OR |
| Equivalence (eqv) | وقتی همه یا خاموشاند یا همه روشناند |
| Lowest Index On (lowest) | شمارهی پایینترین کانال روشن |
| Highest Index On (highest) | شمارهی بالاترین کانال روشن |
🔹 Combine CHOPs (chopop)
ترکیب کانالهای بین CHOPهای مختلف (ورودی 1، 2، 3 و …):
| گزینه | توضیح |
|---|---|
| Off | بدون ترکیب |
| And | روشن اگر همه روشن باشند |
| Or | روشن اگر حداقل یکی روشن باشد |
| Exclusive Or (xor) | فقط یکی روشن (نه بیشتر) |
| Not And (nand) | خاموش اگر همه روشن باشند |
| Not Or (nor) | خاموش اگر حداقل یکی روشن باشد |
| Equivalence (eqv) | روشن اگر همه ورودیها برابر باشند |
| Lowest Index On (lowest) | شمارهی اولین ورودی روشن (در غیر این صورت -1) |
| Highest Index On (highest) | شمارهی آخرین ورودی روشن (در غیر این صورت -1) |
🔹 Match By (match)
تعیین نحوهی همسانسازی کانالها بین ورودیها:
Channel Number (index) — بر اساس شمارهی کانال
Channel Name (name) — بر اساس نام کانال
🔹 Align (align)
تنظیم نحوهی همتراز کردن فریمهای ورودیها که زمان شروع متفاوت دارند.
گزینهها شامل:
Automatic (auto)
Shift to Minimum / Maximum / First Interval
Trim / Stretch / Extend (برای همراستاسازی بازهها)
🔹 Bounds (bound)
(وقتی Convert Input = Off When Outside Bounds باشد)
مشخص میکند مقادیر کمتر از boundmin یا بیشتر از boundmax خاموش (0) شوند.
⚙️ پارامترهای مشترک – صفحه Common (Parameters – Common Page)
Time Slice (timeslice): اجرای نود در بازهی زمانی بین دو cook.
Scope (scope): تعیین کانالهای هدف از طریق pattern.
Sample Rate Match (srselect): همگامسازی نرخ نمونهگیری بین ورودیها.
Export Method (exportmethod): انتخاب روش export دادهها (به DAT یا مسیر پارامتر).
Export Root (autoexportroot): مسیر پایه برای exportها.
Export Table (exporttable): DAT ذخیرهی اطلاعات export.
🔌 ورودیها (Operator Inputs)
Input 0: CHOP یا CHOPهایی که باید عملیات منطقی روی آنها انجام شود.
📊 کانالهای اطلاعات (Info CHOP Channels)
اطلاعات اضافی از طریق Info CHOP قابل دسترسی است.
🔹 Common CHOP Info Channels
| پارامتر | توضیح |
|---|---|
| start | شروع بازه در نمونهها |
| length | تعداد نمونهها |
| sample_rate | نرخ نمونهبرداری |
| num_channels | تعداد کانالها |
| time_slice | فعال بودن Time Slice |
| export_sernum | شمار بهروزرسانی export |
🔹 Common Operator Info Channels
| پارامتر | توضیح |
|---|---|
| total_cooks | تعداد cook از زمان اجرا |
| cook_time | مدت cook آخر (ms) |
| cook_frame / cook_abs_frame | شماره فریم cook |
| cook_start_time / cook_end_time | زمان شروع و پایان cook |
| cooked_this_frame | آیا در این فریم cook شده |
| warnings / errors | تعداد هشدارها یا خطاها |
