🧭 خلاصه (Summary)

Lookup CHOP مقادیری را از یک جدول جست‌وجو (Lookup Table) خروجی می‌دهد.
ورودی اول (Index Channel) شاخص یا اشاره‌گری است که به جدول جست‌وجو (ورودی دوم) ارجاع می‌دهد.
خروجی Lookup CHOP، مقادیر را بر اساس مقدار شاخص و با درون‌یابی (Interpolation) از جدول استخراج می‌کند.

  • هر دو ورودی (Index و Lookup Table) می‌توانند شامل هر تعداد کانال باشند.

  • زمانی که مقدار شاخص ۰ باشد، به اولین نمونه جدول اشاره می‌کند.

  • زمانی که مقدار شاخص ۱ باشد، به آخرین نمونه جدول اشاره می‌کند.

  • خروجی همان طولی را دارد که ورودی شاخص دارد، ولی تعداد کانال‌ها و نام کانال‌ها از ورودی Lookup Table گرفته می‌شود.

اگر مقدار شاخص بین دو نمونه از جدول باشد، مقدار خروجی بین آن دو درون‌یابی (interpolated) می‌شود.
همچنین جدول می‌تواند خارج از بازه ۰ تا ۱ نمونه‌برداری شود؛ در این حالت رفتار براساس تنظیمات Extend Conditions مشخص می‌شود.

🔸 نرخ نمونه‌برداری خروجی همان نرخ نمونه‌برداری ورودی شاخص است.


💡 کاربردهای معمول

  • استفاده به عنوان جدول رنگ (Color Lookup Table)، که یک شاخص مقدار RGB تولید می‌کند.

  • استفاده برای افکت‌های Rolloff یا Decay، یعنی مشخص کردن میزان کاهش مقدار یک پارامتر بر اساس فاصله یا زمان.


⚙️ پارامترها – صفحه Lookup (Parameters – Lookup Page)

🔹 Index Range (index)

محدوده شاخص را برای نگاشت به جدول جست‌وجو مشخص می‌کند (پیش‌فرض: ۰ تا ۱).

  • مقدار اول → نقطه شروع جدول جست‌وجو

  • مقدار دوم → نقطه پایان جدول جست‌وجو
    بنابراین اگر شاخص مقدار ۰ داشته باشد، از ابتدای جدول مقدار می‌گیرد، و اگر ۱ باشد، از انتها.


🔹 Cyclic Range (cyclic)

تعیین می‌کند که آیا جدول به صورت چرخه‌ای (Loop/Cycle) تکرار شود یا خیر.

حالت توضیح
Automatic (auto) به‌صورت خودکار با توجه به extend condition تصمیم می‌گیرد (Cycle یا Mirror).
Yes (yes) برای خروجی‌های چرخه‌ای مثل نوسان‌سازها یا خروجی‌های Beat محور.
No (no) برای نگاشت‌های غیرچرخه‌ای مثل اسلایدرها یا نقشه‌های موج منفرد.

مثال: اگر مقدار شاخص از ۱ عبور کند، در حالت cyclic خروجی دوباره از ۰ شروع می‌شود.


🔹 Per Index Channel (chanmatch)

تعیین می‌کند که چگونه کانال‌های شاخص با جدول جست‌وجو تطبیق داده شوند.

حالت توضیح
One Lookup Table Channel (onetoone) فقط یک جدول جست‌وجو برای همه‌ی شاخص‌ها استفاده می‌شود.
All Lookup Table Channels (onetomany) هر شاخص به‌طور مستقل از تمام جدول‌های ورودی استفاده می‌کند.

🔹 Match By (match)

در حالت One Lookup Table Channel، مشخص می‌کند تطبیق شاخص‌ها با جدول چگونه انجام شود:

حالت توضیح
Channel Number (index) براساس شماره‌ی کانال تطبیق داده می‌شود؛ اگر شاخص‌ها از تعداد جدول‌ها بیشتر باشند، چرخه می‌زند.
Channel Name (name) براساس نام کانال تطبیق داده می‌شود؛ اگر کانالی تطبیق پیدا نکند، بدون تغییر باقی می‌ماند.

🔹 Interpolate (interp)

اگر روشن باشد، بین نمونه‌ها درون‌یابی (Interpolation) انجام می‌شود.
اگر خاموش باشد، نزدیک‌ترین مقدار انتخاب می‌شود (Nearest Sample).


🔹 Extend Left / Extend Right

رفتار جدول را قبل از شروع (Left) و بعد از پایان (Right) مشخص می‌کند.

گزینه توضیح
Hold مقدار فعلی حفظ می‌شود.
Slope ادامه‌ی روند یا شیب قبلی دنبال می‌شود.
Cycle جدول به صورت چرخه‌ای تکرار می‌شود.
Mirror جدول به صورت چرخه‌ای ولی آینه‌ای تکرار می‌شود.
Default Value از مقدار ثابت تعیین‌شده در پارامتر Default Value استفاده می‌کند.

🔹 Default Value (defval)

مقدار ثابتی که برای حالت Default Extend Condition به کار می‌رود.


⚙️ پارامترهای مشترک – صفحه Common (Parameters – Common Page)

پارامتر توضیح
Time Slice (timeslice) محاسبه‌ی مقادیر فقط در بازه‌ی زمانی بین دو cook.
Scope (scope) تعیین کانال‌هایی که باید تحت تأثیر قرار گیرند.
Sample Rate Match (srselect) نحوه‌ی همگام‌سازی نرخ نمونه‌برداری بین ورودی‌ها.
Export Method (exportmethod) تعیین روش ارسال داده‌ها به پارامترها یا DATها.
Export Root (autoexportroot) مسیر پایه برای exportها.
Export Table (exporttable) DAT مخصوص اطلاعات export.

🔌 ورودی‌ها (Operator Inputs)

ورودی توضیح
Input 0 Index Channel (مقادیر شاخص).
Input 1 Lookup Table (جدول داده‌ها برای استخراج مقادیر).

📊 Info CHOP Channels

🔹 Common CHOP Info Channels

پارامتر توضیح
start نقطه شروع در نمونه‌ها.
length تعداد نمونه‌ها.
sample_rate نرخ نمونه‌برداری (fps).
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 تعداد هشدارها یا خطاها.