Execute DAT

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

خلاصه (Summary)

Execute DAT به شما اجازه می‌دهد اسکریپت‌ها را ویرایش کرده و بر اساس شرایط مختلف آن‌ها را اجرا کنید.
این اجرا می‌تواند در ابتدای هر فریم، انتهای هر فریم، یا در شروع یا پایان اجرای TouchDesigner انجام شود.

Execute DATها به‌صورت پیش‌فرض با جای‌نگهدارهای متدهای پایتون ساخته می‌شوند.
برای هر شرطی که در پارامترها مانیتور می‌شود، یک متد پایتون متناظر در DAT وجود دارد.
هر زمان که یک شرط در پارامترها فعال شود، هر بار که آن شرط برقرار گردد، متد پایتون مربوطه اجرا خواهد شد.

همچنین می‌توان متن را از طریق ورودی نود به داخل Text DAT فرستاد، اما این متن قابل ویرایش نخواهد بود.
متن قابل ویرایش را می‌توان از طریق Node Viewer یا یک ویرایشگر متن خارجی داخل DAT ایجاد کرد.

همچنین ببینید: OP Execute DAT

PythonIcon.png executeDAT_Class


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

  1. خلاصه

  2. پارامترها – صفحه Execute

  3. پارامترها – صفحه File

  4. پارامترها – صفحه Common

  5. ورودی‌های اپراتور

  6. کانال‌های Info CHOP
      6.1 کانال‌های اطلاعات عمومی DAT
      6.2 کانال‌های اطلاعات عمومی Operator


پارامترها – صفحه Execute

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

Execute From (executeloc)
(فقط Tscript) محل اجرای اسکریپت را مشخص می‌کند.

From Operator (fromop)
اگر پارامتر Execute From روی Specified Operator تنظیم شده باشد، اسکریپت از مسیر این کامپوننت اجرا می‌شود.

Start (start)
متد onStart() هنگام شروع TouchDesigner اجرا می‌شود.
این متد در TouchEngine هرگز فراخوانی نمی‌شود، چون کامپوننت‌ها بعد از شروع TouchEngine بارگذاری می‌شوند.

Create (create)
متد create() هنگام ایجاد نود اجرا می‌شود.
این می‌تواند در شروع برنامه، بارگذاری یک کامپوننت از دیسک، کپی/پیست یا هر روش دیگری که باعث ایجاد نود شود اتفاق بیفتد.

Exit (exit)
متد onExit() هنگام خروج از TouchDesigner اجرا می‌شود.

Frame Start (framestart)
متد onFrameStart() در ابتدای هر فریم اجرا می‌شود.

Frame End (frameend)
متد onFrameEnd() در انتهای هر فریم اجرا می‌شود.

Play State Change (playstatechange)
متد onPlayStateChange() هر بار که وضعیت پخش تغییر کند اجرا می‌شود؛
مثلاً وقتی تایم‌لاین Pause یا Play می‌شود.

Device Change (devicechange)
متد onDeviceChange() هر بار که دستگاهی به کامپیوتر متصل یا از آن جدا شود اجرا می‌شود؛
مثل اتصال MIDI، دوربین، جوی‌استیک و غیره.

نکته:
وقتی چند Execute DAT با توابع Start و Create دارید، اجرای آن‌ها بر اساس ترتیب الفبایی-عددی نام DATها انجام می‌شود.

Edit… (edit)
با کلیک روی این گزینه، یک ویرایشگر متن برای ویرایش محتوای DAT باز می‌شود.

نکته (TIP):
برای هدایت تمام خروجی استاندارد پایتون (stdout) به یک Text DAT، این کد را داخل متد start() قرار دهید:

sys.stdout = op('text1')

برای انجام ایمن این کار و بازگرداندن خروجی استاندارد:

prev = sys.stdout
sys.stdout = op('text1')
sys.stdout = prev

پارامترها – صفحه File

File (file)
مسیر و نام فایل روی سیستم. فایل‌های .txt و .dat پشتیبانی می‌شوند.

Sync to File (syncfile)
وقتی فعال باشد، فایل از دیسک به DAT هنگام شروع پروژه بارگذاری می‌شود.
نام فایل باید مشخص شده باشد.
با فعال‌سازی این گزینه، فایل بلافاصله بارگذاری می‌شود.
اگر فایل وجود نداشته باشد، اولین بار که DAT به‌روزرسانی شود ساخته می‌شود.
فایل به‌صورت دائمی مانیتور می‌شود؛

  • تغییر فایل → DAT آپدیت می‌شود

  • تغییر DAT → فایل فوراً نوشته می‌شود
    اگر فایل حذف شود، DAT محتوای فعلی خود را نگه می‌دارد.

Load on Start (loadonstart)
هنگام شروع پروژه، فایل را دوباره از دیسک بارگذاری می‌کند.

Load File (loadonstartpulse)
فایل را بلافاصله مجدداً بارگذاری می‌کند.

Write on Toe Save (write)
هنگام ذخیره پروژه، محتوای DAT در فایل روی دیسک نوشته می‌شود.

Write File (writepulse)
نوشتن فوری فایل روی دیسک.


پارامترها – صفحه Common

Language (language)
مشخص می‌کند DAT از چه زبان اسکریپتی استفاده کند.

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

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

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


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

  • Input 0:


کانال‌های Info CHOP

اطلاعات اضافی مربوط به Execute DAT را می‌توان از طریق Info CHOP دریافت کرد.

کانال‌های اطلاعات عمومی DAT

num_rows
تعداد سطرهای این DAT

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


کانال‌های اطلاعات عمومی Operator

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 شده باشد مقدار آن ۱ است.

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

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