| ecasound-iam(1) | نرمافزار چندرسانهای | ecasound-iam(1) |
نام (NAME)
ecasound-iam - حالت تعاملی اکاساند (EIAM)
خلاصه دستور (SYNOPSIS)
توضیحات (DESCRIPTION)
کتابخانه اکاساند شامل یک ماژول مفسر است که مجموعهای از دستورات را برای کنترل سرویسهای مختلف کتابخانه درک و اجرا میکند. این قابلیت، حالت تعاملی اکاساند (EIAM) نامیده میشود. تمامی برنامههای پیوند داده شده به کتابخانه اکاساند میتوانند از این امکان استفاده کنند.
رابط ECI API و انواع مقادیر بازگشتی (ECI API and return types)
یک کاربرد ویژه از حالت تعاملی، رابط کنترلی اکاساند (ECI) است که کتابخانهای کوچک برای دسترسی آسان به دستورات حالت تعاملی از خارج از libecasound فراهم میکند. هنگام ارسال دستورات تعاملی با استفاده از رابط کنترلی، ممکن است دستورات اطلاعاتی را نیز برگردانند. انواع مقادیر بازگشتی پشتیبانیشده در حال حاضر عبارتند از: رشته [s]، فهرستی از رشتهها [S] (عناصر با کاما از هم جدا میشوند؛ در صورت لزوم اسکیپ میشوند)، عدد صحیح [i]، عدد صحیح بلند [li] و عدد اعشاری ممیز شناور [f]. این تعاریف در سراسر این سند استفاده شدهاند. دستوراتی که هیچ مقداری برنمیگردانند (void) با [-] مشخص شدهاند. علاوه بر این، نوع بازگشتی [e] شرایط خطا را نشان میدهد. هنگامی که یک دستور در حالت تعاملی به خطا منجر شود، یک رشته خطا حاوی توضیح مشکل بازگردانده میشود.
محدودیتهای مربوط به کنترل و تغییرات بیدرنگ (Limitations related to real-time control and modifications)
امکان استفاده از تمام دستورات حالت تعاملی برای ویرایش و کنترل اشیایی که متعلق به یک پیکربندی زنجیره (chainsetup) متصلشده هستند وجود ندارد. در صورتی که این دستورات در زمان اتصال دریافت شوند، اکاساند به صورت خودکار ارتباط chainsetup را قطع میکند (و سپس تلاش میکند مجدداً متصل شود). دستوراتی که دارای این محدودیت هستند عبارتند از:
دستورات زیر را میتوان بر روی یک chainsetup متصلشده استفاده کرد، اما این کار نیازمند متوقف کردن موقت موتور پردازش (در صورت در حال اجرا بودن) است و این امر میتواند باعث ایجاد وقفههای صوتی قابل شنیدن در پخش و ضبط شود. در عمل این بدان معناست که در حال حاضر امکان افزودن یا حذف عملگرهای زنجیره به صورت پیوسته و بدون وقفه (gapless/seamless) وجود ندارد. دستورات تحت تاثیر:
دستورات زیر را میتوان روی یک chainsetup متصلشده و در زمان اجرای موتور استفاده کرد (این یک فهرست کامل نیست اما دستکم این دستورات پشتیبانی میشوند):
عمومی (GENERAL)
- quit, q
- خروج از نشست اکاساند. معنای عملی این دستور به پیادهسازی کلاینت بستگی دارد. در حالت تعاملی اکاساند، دستور ’quit’ به اجرای پردازش اکاساند خاتمه میدهد. در صورتی که این دستور از طریق اتصال سرور اکاساند (معروف به NetECI) ارسال شود، ’quit’ اتصال فعال شبکه را قطع میکند، اما پردازش سرور اکاساند را متوقف نمیسازد. [-]
- start, t
- پردازش آغاز میشود (پخش). در صورت بروز هرگونه خطا هنگام راهاندازی، رشته خطا بازگردانده میشود. [e]
- stop, s
- توقف پردازش. [-]
- stop-sync, s
- توقف پردازش با یک فراخوانی مسدودکننده (تا زمانی که موتور پردازش واقعاً متوقف نشده باشد بازنمیگردد). [-]
- run
- مشابه ’start’ اما تا زمان پایان کامل پردازش مسدود میشود. در صورت بروز هرگونه خطا در زمان راهاندازی یا در طول پردازش، رشته خطا بازگردانده میشود. [e]
- debug ’debug-level’
- تنظیم سطح دیباگ روی ’debug-level’. توجه داشته باشید که برنامههای کلاینت میتوانند روالهای دیباگ را مجدداً پیادهسازی کنند. [-]
- resource-file ’path-to-file’
- فایلهای منبع سراسری و کاربری را بازنویسی (override) میکند. بر روی اشیایی که از قبل ایجاد شدهاند تاثیری ندارد. این دستور معادل گزینه ’-R’ در اکاساند است (به صفحه راهنمای ecasound (1) مراجعه کنید).
- -prefix:arg1,...,argN
- معادل اجرای ’cs-option -prefix:arg1,...,argN). مستندات ’cs-option’ را مشاهده کنید.
- help’, ’h’
- راهنما! [-]
سراسری (GLOBAL)
- engine-status
- رشتهای را برمیگرداند که وضعیت موتور را توصیف میکند (running, stopped, finished, error, not ready). همچنین به cs-status مراجعه کنید. [s]
- engine-launch
- موتور بیدرنگ (real-time) را راهاندازی میکند. موتور، chainsetup متصلشده فعلی را اجرا خواهد کرد (به ’cs-connect’ مراجعه کنید). این عمل هنوز پردازش واقعی را آغاز نمیکند (به start و stop مراجعه کنید). هنگامی که اکاساند به عنوان یک کلاینت JACK استفاده میشود، اجرای engine-launch اکاساند را به یک کلاینت فعال JACK تبدیل میکند (یعنی پورتهای اکاساند میتوانند به سایر کلاینتهای JACK متصل شوند). [-]
- engine-halt
- موتور را متوقف میکند. ارتباط chainsetup در حال اجرا را قطع نمیکند. همچنین به cs-disconnect و stop مراجعه کنید. هنگامی که اکاساند به عنوان کلاینت JACK استفاده میشود، engine-halt باعث غیرفعال شدن کلاینت اکاساند میشود (تمام اتصالات JACK قطع میشوند). [-]
پیکربندی زنجیرهها (CHAINSETUPS)
شیء پیکربندی زنجیره (Chainsetup) شیء دادهای مرکزی است. تمامی اشیاء دیگر (ورودیها، خروجیها، زنجیرهها و غیره) به یک chainsetup متصل میشوند. میتوان چندین chainsetup داشت اما فقط یکی میتواند متصل باشد. به همین ترتیب فقط یک chainsetup میتواند انتخاب شود. در صورتی که به گونه دیگری مشخص نشده باشد، عملیات روی chainsetup انتخابشده انجام میشود. برخی عملیات همچنین نیاز دارند که chainsetup انتخابشده متصل نباشد.
- cs-add ’name’
- یک chainsetup جدید با نام ’name’ اضافه میکند. اکنون ’name’ به عنوان chainsetup انتخابشده تعیین میشود. [-]
- cs-remove
- پیکربندی زنجیره (chainsetup) انتخابشده فعلی را حذف میکند. [-]
- cs-list
- فهرستی از تمام chainsetupها را برمیگرداند. [S]
- cs-select ’name’
- پیکربندی زنجیره ’name’ را انتخاب میکند. [-]
- cs-selected
- نام chainsetup انتخابشده فعلی را برمیگرداند. [s]
- cs-index-select ’cs_index’, cs-iselect ’cs_index’
- یک chainsetup را بر اساس یک رشته اندیس کوتاه انتخاب میکند. نامهای chainsetup ممکن است نسبتاً طولانی باشند. از این دستور میتوان برای جلوگیری از تایپ این نامهای طولانی استفاده کرد. ’cs_index’ یک مقدار عدد صحیح است که در آن ’1’ به اولین ورودی/خروجی صوتی اشاره دارد. میتوانید از ’cs-list’ و ’cs-status’ برای دریافت فهرست کامل chainsetupهای موجود استفاده کنید. [-]
- cs-load ’filename’
- یک chainsetup جدید را با بارگذاری از فایل ’filename’ اضافه میکند. اکنون ’filename’ به عنوان chainsetup انتخابشده تعیین میشود. [-]
- cs-save
- پیکربندی زنجیره انتخابشده فعلی را در فایل ذخیره میکند. اگر chainsetup از یک فایل بارگذاری شده باشد، نسخه ذخیرهشده جایگزین نسخه اصلی خواهد شد. اگر نام فایل پیشفرضی نداشته باشد، در "chainsetup_name.ecs" ذخیره میشود. [-]
- cs-save-as ’filename’
- پیکربندی زنجیره انتخابشده فعلی را در فایل ’filename’ ذخیره میکند. [-]
- cs-edit
- پیکربندی زنجیره انتخابشده فعلی در یک فایل موقت ذخیره میشود. این فایل در یک ویرایشگر خارجی باز میشود (به ecasoundrc (5) مراجعه کنید). پس از ویرایش، chainsetup مجدداً در اکاساند بارگذاری میشود. [-]
- cs-is-valid
- آیا chainsetup انتخابشده معتبر است (=امکان اتصال دارد)؟ [i]
- cs-connect
- پیکربندی زنجیره انتخابشده فعلی را به موتور متصل میکند. هنگام اتصال، تمام منابع (مانند فایلها، دستگاههای کارت صدا، برنامههای خارجی) مورد نیاز برای اجرای chainsetup رزرو میشوند. در هر لحظه فقط یک chainsetup میتواند متصل باشد. در صورت شکست اتصال (برای مثال به دلیل خطا در تخصیص منابع)، رشته خطا بازگردانده میشود. [e]
- cs-disconnect
- ارتباط chainsetup متصلشده فعلی را قطع میکند. این عمل تمامی منابع خارجی مورد نیاز chainsetup را آزاد میسازد. [-]
- cs-connected
- نام chainsetup متصلشده فعلی را برمیگرداند. [s]
- cs-rewind ’time-in-seconds’, rewind ’time-in-seconds’, rw ’time-in-seconds’
- موقعیت chainsetup فعلی را به اندازه ’time-in-seconds’ ثانیه به عقب بازمیگرداند. موقعیت تمام ورودیها و خروجیهای متصل به chainsetup انتخابشده نیز تحت تاثیر قرار میگیرد. [-]
- cs-forward ’time-in-seconds’, forward ’time-in-seconds’, fw ’ttime-in-seconds’
- موقعیت chainsetup فعلی را به اندازه ’time-in-seconds’ ثانیه به جلو میبرد. موقعیت تمام ورودیها و خروجیهای متصل به chainsetup انتخابشده نیز تحت تاثیر قرار میگیرد. [-]
- cs-set-position ’time-in-seconds’, cs-setpos ’time-in-seconds’, setpos ’time-in-seconds’, set-position ’time-in-seconds’
- موقعیت chainsetup را روی ’time-in-seconds’ ثانیه از ابتدا تنظیم میکند. موقعیت تمام ورودیها و خروجیهای متصل به chainsetup انتخابشده نیز تحت تاثیر قرار میگیرد. [-]
- cs-set-position-samples ’time-in-samples’
- موقعیت chainsetup را روی ’time-in-samples’ نمونه از ابتدا تنظیم میکند. موقعیت تمام ورودیها و خروجیهای متصل به chainsetup انتخابشده نیز تحت تاثیر قرار میگیرد. [-]
- cs-get-position, cs-getpos, getpos, get-position
- موقعیت فعلی chainsetup را بر حسب ثانیه برمیگرداند. [f]
- cs-get-position-samples
- موقعیت فعلی chainsetup را بر حسب نمونه برمیگرداند. [li]
- cs-get-length, get-length
- طول chainsetup را بر حسب ثانیه (در صورت مشخص بودن) برمیگرداند. [f]
- cs-get-length-samples, get-length-samples
- طول chainsetup را بر حسب نمونه (در صورت مشخص بودن) برمیگرداند. [li]
- cs-set-length ’seconds’
- زمان پردازش را بر حسب ثانیه تنظیم میکند (نیازی نیست مقدار عدد صحیح باشد). مقدار ویژه ’-1’ طول chainsetup را بر اساس طولانیترین شیء ورودی تنظیم میکند. [-]
- cs-set-length-samples ’samples’
- زمان پردازش را بر حسب نمونه تنظیم میکند. [-]
- cs-toggle-loop
- تغییر وضعیت تکرار (looping). هنگامی که پردازش به پایان برسد، موتور مجدداً از موقعیت اولیه شروع خواهد کرد. فعالسازی تکرار همیشه ممکن نیست (مثلاً زمانی که تمام ورودیها و خروجیها طول نامحدود دارند و طول chainsetup به طور صریح با ’cs-set-length’ تنظیم نشده باشد). [-]
- cs-set-param
- پارامترهای عمومی chainsetup را مانند "-b" (اندازه بافر)، "-n" (نام) و غیره تفسیر میکند. برای اطلاعات بیشتر به ecasound (1) مراجعه کنید. [-]
- cs-set-audio-format ’bits,channels,sample_rate’
- پارامترهای پیشفرض نمونه را برای chainsetup انتخابشده فعلی تنظیم میکند. برای مثال، کیفیت صوتی CD برابر با "16,2,44100" خواهد بود. این دستور همان کاری را انجام میدهد که آرگومان خط فرمان "-f" انجام میدهد (به ecasound (1) مراجعه کنید). [-]
- cs-status, status, st
- اطلاعات وضعیت chainsetupهای موجود را چاپ میکند. اطلاعات دقیق برای chainsetupهای متصلشده (=آماده برای اجرا) و انتخابشده (=آماده برای ویرایش) چاپ میشود. سایر chainsetupها فهرست میشوند، اما جزئیات بیشتر نمایش داده نمیشود. برای دریافت جزئیات کامل یک chainsetup خاص، آن را با ’cs-select’ یا ’cs-iselect’ انتخاب کنید و سپس ’cs-select’ را اجرا نمایید. [s]
- cs-option ’-prefix:arg1,...,argN’
- یکی از ویژگیهای قدرتمند حالت تعاملی این است که دسترسی کامل به سینتکس خط فرمان اکاساند را فراهم میکند. برای مثال، دستور "cs-option -efb:400,200" به این معناست که یک فیلتر میانگذر (bandpass) با پارامترهای اولیه ۴۰۰ (فرکانس مرکزی) و ۲۰۰ (پهنای باند بر حسب هرتز) به زنجیره انتخابشده اضافه میشود.
توجه داشته باشید که گزینههای سطح نشست (مانند تنظیم سطح دیباگ) را نمیتوان با ’cs-option’ استفاده کرد (یعنی فقط گزینههایی که chainsetupها را تغییر میدهند مجاز هستند).
توجه! حالت تعاملی اکاساند به صورت ضمنی تمام رشتههایی را که با ’-’ شروع میشوند به عنوان "cs-option string" تفسیر میکند.
زنجیرهها (CHAINS)
زنجیره (Chain) یک انتزاع ساده از جریان سیگنال است. هر زنجیره دارای یک ورودی و یک خروجی است. تمام عملگرهای زنجیره و کنترلکنندههای آنها به زنجیرهها متصل میشوند. زنجیرهها را میتوان بیصدا (mute)، صدادار و میانبر (bypass) کرد. اگر به گونه دیگری ذکر نشده باشد، تمام عملیات روی chainsetup انتخابشده فعلی انجام میشوند.
- c-add ’cname1,...,cnameN’
- مجموعهای از زنجیرهها را اضافه میکند. زنجیرههای اضافه شده به صورت خودکار انتخاب میشوند. توجه داشته باشید که وجود کاما در نام زنجیرهها مجاز نیست. [-]
- c-remove
- زنجیرههای انتخابشده را حذف میکند. [-]
- c-list
- فهرستی از تمام زنجیرهها را برمیگرداند. [S]
- c-select ’cname1,...,cnameN’
- زنجیرهها را انتخاب میکند. سایر زنجیرهها به صورت خودکار از حالت انتخاب خارج میشوند. [-]
- c-index-select ’index1,...,indexN’, c-iselect ’index1,...,indexN’
- مجموعهای از زنجیرهها را بر اساس فهرستی از اندیسها انتخاب میکند. هر اندیس یک مقدار عدد صحیح است که در آن ’1’ به اولین زنجیره اشاره دارد. میتوانید از ’c-list’ و ’c-status’ برای دریافت فهرست کامل زنجیرههای موجود استفاده کنید. [-]
- c-select-all
- تمام زنجیرهها را انتخاب میکند. [-]
- c-select-add ’cname1,...,cnameN’
- زنجیرههای بیشتری را به حالت انتخاب اضافه میکند. [-]
- c-deselect ’cname1,...,cnameN’
- زنجیرهها را از حالت انتخاب خارج میکند. [-]
- c-selected
- فهرستی از زنجیرههای انتخابشده را برمیگرداند. [S]
- c-clear
- زنجیرههای انتخابشده را با حذف تمام عملگرها و کنترلکنندههای زنجیره پاکسازی میکند. نحوه اتصال زنجیرهها به ورودیها و خروجیها را تغییر نمیدهد. [-]
- c-rename ’new_name’
- نام زنجیره انتخابشده را تغییر میدهد. هنگام استفاده از این دستور، باید دقیقاً یک زنجیره انتخاب شده باشد. [-]
- c-mute <on|off|toggle>
- وضعیت بیصدا بودن زنجیره انتخابشده فعلی را تنظیم میکند. هنگامی که یک زنجیره بیصدا باشد، خروجی آن فقط سکوت خواهد بود.
این دستور یک پارامتر منفرد دریافت میکند: "on" -> زنجیره بیصدا میشود، "off" -> صدادار میشود، و "toggle" -> وضعیت بیصدا بودن تغییر میکند. اگر پارامتر حذف شود، حالت "toggle" فرض میشود (بیصدا بودن بسته به وضعیت قبلی فعال یا غیرفعال میشود).
کنترل وضعیت بیصدا بودن زنجیره و عملگر زنجیره مستقل از یکدیگر است. اگر "c-mute off" اجرا شود، وضعیت دستورات منفرد cop-bypass اعمال خواهد شد. اگر زنجیره بیصدا باشد، صرف نظر از وضعیت بیصدا بودن عملگرهای زنجیره، خروجی زنجیره سکوت خواهد بود. [-]
- c-bypass <on|off|toggle>
- وضعیت میانبر (bypass) زنجیره انتخابشده فعلی را تنظیم میکند. هنگامی که زنجیره در حالت میانبر باشد، دادههای نمونه بدون پردازش عبور داده میشوند (تمام عملگرهای زنجیره برای زنجیره مربوطه غیرفعال میشوند).
این دستور یک پارامتر منفرد دریافت میکند: "on" -> زنجیره میانبر میشود، "off" -> بدون میانبر، و "toggle" -> تغییر وضعیت میانبر. اگر پارامتر حذف شود، حالت "toggle" فرض میشود (میانبر بسته به وضعیت قبلی فعال یا غیرفعال میشود).
کنترل وضعیت میانبر زنجیره و عملگرهای زنجیره مستقل از یکدیگر است. اگر میانبر زنجیره غیرفعال باشد، وضعیت دستورات منفرد cop-bypass اعمال خواهد شد. اگر زنجیره در حالت میانبر باشد، تمام عملگرها صرف نظر از وضعیت cop-bypass خود میانبر میشوند. [-]
- c-status, cs
- اطلاعات وضعیت مربوط به تمام زنجیرهها را چاپ میکند. [s]
- c-is-bypassed
- در صورتی که زنجیره انتخابشده در حال حاضر میانبر شده باشد (هیچیک از عملگرهای زنجیره اجرا نشوند)، مقدار درست (true) برمیگرداند. به ’c-bypass’ مراجعه کنید. [i]
- c-is-mute
- در صورتی که زنجیره انتخابشده در حال حاضر بیصدا باشد (سکوت را به عنوان خروجی ارائه دهد)، مقدار درست (true) برمیگرداند. به ’c-mute’ مراجعه کنید. [i]
اشیاء ورودی/خروجی صوتی (AUDIO INPUT/OUTPUT OBJECTS)
اگر به گونه دیگری ذکر نشده باشد، تمام عملیات روی شیء انتخابشده فعلی انجام میشوند. تمامی دستورات با پیشوند ai- روی ورودیهای صوتی و دستورات با پیشوند ao- روی خروجیها عمل میکنند.
- ai-add ’input_format_string’
- یک شیء ورودی جدید اضافه میکند. برای اطلاعات بیشتر در مورد قالب آرگومان (گزینه ’-i’)، به صفحه راهنمای ecasound (1) مراجعه کنید. نکته درباره سینتکس: اگر هر یک از پارامترها (مانند نام فایل) حاوی کاما باشد، پارامتر باید درون گیومه دوتایی (double-quotes) قرار گیرد. [-]
- ao-add ’output_format_string’
- یک شیء خروجی جدید اضافه میکند. برای اطلاعات بیشتر در مورد قالب آرگومان (گزینه ’-o’)، به صفحه راهنمای ecasound (1) مراجعه کنید. اگر آرگومان حذف شود، یک دستگاه خروجی پیشفرض اضافه میشود (به ecasoundrc (5) مراجعه کنید). نکته درباره سینتکس: اگر هر یک از پارامترها (مانند نام فایل) حاوی کاما باشد، پارامتر باید درون گیومه دوتایی قرار گیرد. [-]
- ao-add-default
- دستگاه خروجی پیشفرض را اضافه میکند (به ecasoundrc (5) مراجعه کنید). [-]
- ai-describe, ao-describe
- رشتهای منطبق بر سینتکس گزینههای اکاساند (EOS) را برمیگرداند که ورودی/خروجی را توصیف میکند. برای اطلاعات بیشتر درباره EOS به راهنمای کاربر اکاساند (Ecasound User’s Guide) مراجعه کنید. این دستور در ecasound 2.4.4 معرفی شده است. [s]
- ai-select ’aobject_name’, ao-select ’aobject_name’
- یک شیء صوتی را انتخاب میکند. ’aobject_name’ به رشتهای اشاره دارد که هنگام ایجاد شیء استفاده شده است (اولین آرگومان داده شده به ai-add/ao-add). توجه داشته باشید که به عنوان یک تفاوت مهم با ai-add/ao-add، نباید نام شیء را برای ai-select/ao-select در گیومه دوتایی قرار داد. در صورتی که یک chainsetup شامل چندین ورودی یا خروجی با نام یکسان باشد، ’ai-select’ و ’ao-select’ اولین نمونه مطابق را انتخاب خواهند کرد. به منظور انتخاب یک نمونه خاص، باید از دستورات ’ai-iselect’ و ’ao-iselect’ استفاده شود. [-]
- ai-index-select ’aobject_index’, ai-iselect ’aobject_index’, ao-index-select ’aobject_index’, ao-iselect ’aobject_index’
- یک شیء صوتی را بر اساس یک رشته اندیس کوتاه انتخاب میکند. بهویژه نام فایلها ممکن است بسیار طولانی باشند. از این دستور میتوان برای جلوگیری از تایپ این نامهای طولانی هنگام انتخاب اشیاء صوتی استفاده کرد. ’aobject_index’ یک مقدار عدد صحیح است که در آن ’1’ به اولین ورودی/خروجی صوتی اشاره دارد. میتوانید از ’ai-list’ و ’ao-list’ برای دریافت فهرست کامل ورودیها/خروجیهای موجود استفاده کنید. [-]
- ai-selected, ao-selected
- نام شیء صوتی انتخابشده فعلی را برمیگرداند. [s]
- ai-attach, ao-attach
- شیء صوتی انتخابشده فعلی را به تمام زنجیرههای انتخابشده متصل میکند. [-]
- ai-remove, ao-remove
- شیء صوتی انتخابشده فعلی را از chainsetup حذف میکند. [-]
- ai-forward ’time_in_seconds’, ai-fw ’time_in_seconds’, ao-forward ’time_in_seconds’, ao-fw ’time_in_seconds’
- شیء صوتی انتخابشده به اندازه ’time-in-seconds’ ثانیه به جلو برده میشود. زمان باید به عنوان یک مقدار ممیز شناور داده شود (مثلاً 0.001 معادل ۱ میلیثانیه است). [-]
- ai-rewind ’time_in_seconds’, ai-rw ’time_in_seconds’, ao-rewind ’time_in_seconds’, ao-rw ’time_in_seconds’
- شیء صوتی انتخابشده به اندازه ’time-in-seconds’ ثانیه به عقب بازگردانده میشود. زمان باید به عنوان یک مقدار ممیز شناور داده شود (مثلاً 0.001 معادل ۱ میلیثانیه است). [-]
- ai-setpos ’time_in_seconds’, ai-set-position ’time_in_seconds’, ao-setpos ’time_in_seconds’, ao-set-position ’time_in_seconds’
- موقعیت شیء صوتی را روی ’time_in_seconds’ تنظیم میکند. [-]
- ai-set-position-samples ’time_in_samples’, ao-set-position-samples ’time_in_samples’
- موقعیت شیء صوتی را روی ’time_in_samples’ نمونه تنظیم میکند. [-]
- ai-getpos, ai-get-position, ao-getpos, ao-get-position
- موقعیت شیء صوتی را بر حسب ثانیه برمیگرداند. [f]
- ai-get-position-samples, ao-get-position-samples
- موقعیت شیء صوتی را بر حسب نمونه برمیگرداند. [li]
- ai-get-length, ao-get-length
- طول شیء صوتی را بر حسب ثانیه برمیگرداند. [f]
- ai-get-length-samples, ao-get-length-samples
- طول شیء صوتی را بر حسب نمونه برمیگرداند. [li]
- ai-get-format, ao-get-format
- فرمت صوتی ورودی/خروجی صوتی انتخابشده را به عنوان یک رشته فرمتبندیشده برمیگرداند. به مستندات گزینه خط فرمان ’-f’ مراجعه کنید. [s]
- ai-list, ao-list
- فهرستی از تمام اشیاء ورودی/خروجی را برمیگرداند. [S]
- aio-register
- فهرستی از انواع اشیاء صوتی ثبتشده را چاپ میکند. [s]
- aio-status
- وضعیت اشیاء صوتی (رشتههای اندیس، موقعیت، طول و غیره). [s]
عملگرهای زنجیره (CHAIN OPERATORS)
عملگرهای زنجیره برای پردازش و تحلیل دادههای نمونه صوتی استفاده میشوند. آنها به زنجیرهها متصل میگردند. اگر به گونه دیگری ذکر نشده باشد، chainsetup و زنجیره انتخابشده فعلی استفاده میشوند. همچنین از ’chainop_id’ و ’param_id’ برای انتخاب عملگرهای زنجیره و پارامترهای آنها استفاده میشود. اولین مقدار معتبر برای این پارامترها ۱ است.
- cop-add ’cop_format_string’
- یک عملگر زنجیره جدید اضافه میکند. علاوه بر عملگرهای معمولی زنجیره، این دستور میتواند برای افزودن پریستهای افکت و افزونههای مختلف نیز استفاده شود. نکته: امکان افزودن همزمان عملگرها به چندین زنجیره وجود ندارد. به عبارت دیگر هنگام اجرای ’cop-add’ باید فقط یک زنجیره انتخاب شده باشد. برای اطلاعات بیشتر به صفحه راهنمای ecasound (1) مراجعه کنید. [-]
- cop-bypass <on|off|toggle>
- وضعیت میانبر (bypass) عملگر زنجیره انتخابشده فعلی را تنظیم میکند. این دستور یک پارامتر منفرد دریافت میکند: "on" -> عملگر میانبر میشود، "off" -> بدون میانبر، و "toggle" -> تغییر وضعیت میانبر. اگر پارامتر حذف شود، حالت "toggle" فرض میشود (میانبر بسته به وضعیت قبلی فعال یا غیرفعال میشود). [-]
- cop-is-bypassed
- در صورتی که عملگر زنجیره انتخابشده در حال حاضر میانبر شده باشد (به طور موقت بخشی از زنجیره پردازش نباشد)، مقدار درست (true) برمیگرداند. [i]
- cop-describe
- رشتهای منطبق بر سینتکس گزینههای اکاساند (EOS) را برمیگرداند که عملگر زنجیره را توصیف میکند. برای اطلاعات بیشتر درباره EOS به راهنمای کاربر اکاساند مراجعه کنید. این دستور در ecasound 2.4.4 معرفی شده است. [s]
- cop-remove
- عملگر زنجیره انتخابشده را حذف میکند. [-]
- cop-list
- فهرستی از تمام عملگرهای زنجیره متصل به زنجیره انتخابشده فعلی را برمیگرداند. [S]
- cop-select ’param_id’, cop-index-select ’param_id’, cop-iselect ’param_id’
- یک عملگر زنجیره را انتخاب میکند. [-]
- cop-selected
- شماره اندیس عملگر زنجیره انتخابشده فعلی را برمیگرداند. [i]
- cop-set ’chainop_id,param_id,value’
- مقدار یک پارامتر منفرد عملگر زنجیره را تغییر میدهد. بر خلاف سایر دستورات عملگر زنجیره، این دستور میتواند در حین پردازش نیز استفاده شود. همچنین به ’cop-get’ مراجعه کنید. [-]
- cop-get ’chainop_id,param_id’
- مقدار فعلی پارامتر عملگر زنجیره را که با ’chainop_id’ و ’param_id’ مشخص شده است برمیگرداند. این دستور کوتاه شده دستور ’cop-select chainop_id ; copp-iselect param_id ; copp-get’ است. [f]
- cop-status
- اطلاعاتی درباره وضعیت عملگر زنجیره برمیگرداند. [s]
- copp-list
- فهرستی از پارامترهای عملگر زنجیره انتخابشده را برمیگرداند. [S]
- copp-select ’param_id’, copp-index-select ’param_id’, copp-iselect ’param_id’
- یک پارامتر عملگر زنجیره را انتخاب میکند. [-]
- copp-selected
- شماره اندیس پارامتر عملگر زنجیره انتخابشده فعلی را برمیگرداند. [i]
- copp-set ’value’
- مقدار پارامتر انتخابشده را روی ’value’ تنظیم میکند. [-]
- copp-get
- مقدار پارامتر انتخابشده را برمیگرداند. همچنین به ’cop-get’ مراجعه کنید. [f]
- cop-register
- فهرستی از عملگرهای زنجیره ثبتشده را چاپ میکند. [s]
- preset-register
- فهرستی از پریستهای افکت ثبتشده را چاپ میکند. [s]
- ladspa-register
- فهرستی از افزونههای LADSPA ثبتشده را چاپ میکند. [s]
کنترلکنندهها (CONTROLLERS)
کنترلکنندهها برای کنترل پارامترهای منفرد عملگر زنجیره استفاده میشوند. آنها به زنجیرهها متصل میگردند. اگر به گونه دیگری ذکر نشده باشد، chainsetup و زنجیرههای انتخابشده فعلی استفاده میشوند.
- ctrl-add ’copc_format_string’
- یک کنترلکننده جدید اضافه کرده و آن را به عملگر زنجیره انتخابشده فعلی متصل میکند. سینتکس آرگومان یا به صورت "-<id_string>:par1,...,parN" است یا صرفاً "<id_string>:par1,...,parN". اگر خود پارامتر حاوی کاما باشد، باید درون گیومه دوتایی قرار گیرد. برای اطلاعات بیشتر به صفحه راهنمای ecasound (1) مراجعه کنید. [-]
- ctrl-describe
- رشتهای منطبق بر سینتکس گزینههای اکاساند (EOS) را برمیگرداند که کنترلکننده را توصیف میکند. برای اطلاعات بیشتر درباره EOS به راهنمای کاربر اکاساند مراجعه کنید. این دستور در ecasound 2.4.4 معرفی شده است. [s]
- ctrl-remove
- کنترلکننده انتخابشده را حذف میکند. [-]
- ctrl-list
- فهرستی از تمام کنترلکنندههای متصل به زنجیره انتخابشده فعلی را برمیگرداند. [S]
- ctrl-select ’param_id’, ctrl-index-select ’param_id’, ctrl-iselect ’param_id’
- یک کنترلکننده را انتخاب میکند. [-]
- ctrl-selected
- شماره اندیس کنترلکننده انتخابشده فعلی را برمیگرداند. [i]
- ctrl-status
- اطلاعاتی درباره وضعیت کنترلکننده برمیگرداند. [s]
- ctrl-register
- فهرستی از کنترلکنندههای ثبتشده را چاپ میکند. [s]
- ctrl-get-target
- شماره اندیس عملگر زنجیرهای را که به کنترلکننده انتخابشده متصل است برمیگرداند. اندیس بازگردانده شده به زنجیره انتخابشده فعلی اشاره دارد (به ’cop-list’ مراجعه کنید). [i]
- ctrlp-list
- فهرستی از تمام پارامترهای کنترلکننده را برمیگرداند. این دستور در ecasound 2.4.2 معرفی شده است. [S]
- ctrlp-select
- یک پارامتر کنترلکننده را انتخاب میکند. این دستور در ecasound 2.4.2 معرفی شده است. [-]
- ctrlp-selected
- شماره اندیس پارامتر کنترلکننده انتخابشده فعلی را برمیگرداند. این دستور در ecasound 2.4.2 معرفی شده است. [i]
- ctrlp-get
- مقدار پارامتر کنترلکننده انتخابشده را برمیگرداند. این دستور در ecasound 2.4.2 معرفی شده است. [f]
- ctrlp-set
- مقدار پارامتر کنترلکننده انتخابشده را روی ’value’ تنظیم میکند. این دستور در ecasound 2.4.2 معرفی شده است. [-]
مدیریت اتصالات جک (JACK CONNECTION MANAGEMENT)
اگر اکاساند با پشتیبانی از سرور صوتی JACK کامپایل شده باشد، مجموعه دستورات زیر برای کنترل اتصالات بین پورتهای JACK ارائه میشود.
- jack-connect ’src-port’ ’dest-port’
- اتصالی بین دو پورت داده شده به عنوان پارامتر برقرار میکند. این دستور مشابه ابزار خط فرمان ’jack_connect’ است که همراه با بسته JACK توزیع میشود. [-]
- jack-disconnect ’src-port’ ’dest-port’
- اتصال بین دو پورت داده شده به عنوان پارامتر را قطع میکند. این دستور مشابه ابزار خط فرمان ’jack_disconnect’ است که همراه با بسته JACK توزیع میشود. [-]
- jack-list-connections
- فهرستی از تمام پورتهای JACK و فهرستی از اتصالات مربوط به هر پورت را برمیگرداند. این دستور مشابه ابزار خط فرمان ’jack_lsp’ (مانند ’jack_lsp -c’) است که همراه با بسته JACK توزیع میشود. [s]
دستورات داخلی (INTERNAL COMMANDS)
دستورات داخلی مستقیماً برای استفاده عادی طراحی نشدهاند. آنها در درجه اول برای استفاده در اسکریپتنویسی و رابطهای کاربری (فرانتاندها) در نظر گرفته شدهاند.
- int-cmd-list
- فهرستی از تمام دستورات ثبتشده حالت تعاملی را برمیگرداند. [S]
- int-log-history
- پیامهای لاگ اخیر ارسال شده توسط ماژولهای libecasound را برمیگرداند. این یک ابزار مناسب برای اشکالزدایی اسکریپتها و برنامههای ECI/EIAM است. این دستور در ecasound 2.4.0 معرفی شده است. [s]
- int-output-mode-wellformed
- قالب خروجی ساختاریافته (well-formed) را برای پیامهای لاگ انتخاب میکند. [-]
- int-set-float-to-string-precision
- دقت مورد استفاده در تبدیل اعداد اعشاری ممیز شناور به متن را تنظیم میکند. توجه داشته باشید که این دستور میتواند برای کنترل دقت مقادیر بازگشتی اعشاری برای دستورات ECI استفاده شود. [-]
- int-set-log-history-length
- طول تاریخچه لاگ را تنظیم میکند. پیشفرض ۰ مورد است. این دستور در ecasound 2.4.0 معرفی شده است. [-]
- int-cmd-version-string
- رشته نگارش تجزیهکننده (parser) حالت تعاملی اکاساند را برمیگرداند. [s]
- int-cmd-version-lib-current
- نگارش رابط کتابخانهای حالت تعاملی اکاساند (libtool) را برمیگرداند. [i]
- int-cmd-version-lib-revision
- بازبینی رابط کتابخانهای حالت تعاملی اکاساند (libtool) را برمیگرداند. [i]
- int-cmd-version-lib-age
- عمر (age) رابط کتابخانهای حالت تعاملی اکاساند (libtool) را برمیگرداند. [i]
نگاشتهای اشیاء (OBJECT MAPS)
نگاشتهای اشیاء، مخازن مرکزی برای انواع اشیاء پرکاربرد هستند. با پرسوجو از نگاشتها، برنامهها میتوانند فهرستی از تمام انواع اشیاء ثبتشده و ویژگیهای آنها را دریافت کنند.
- map-cop-list
- فهرستی از عملگرهای زنجیره ثبتشده را با استفاده از قالبی که در بخش توضیحات عملگرها (OPERATOR DESCRIPTIONS) مشخص شده است چاپ میکند. [s]
- map-preset-list
- فهرستی از پریستهای افکت ثبتشده را با استفاده از قالبی که در بخش توضیحات عملگرها (OPERATOR DESCRIPTIONS) مشخص شده است چاپ میکند. [s]
- map-ladspa-list
- فهرستی از افزونههای LADSPA ثبتشده را با استفاده از قالبی که در بخش توضیحات عملگرها (OPERATOR DESCRIPTIONS) مشخص شده است چاپ میکند. [s]
- map-ladspa-id-list
- فهرستی از افزونههای LADSPA ثبتشده را با استفاده از قالبی که در بخش توضیحات عملگرها (OPERATOR DESCRIPTIONS) مشخص شده است چاپ میکند. شناسههای عددی افزونههای LADSPA استفاده میشوند. [s]
- map-ctrl-list
- فهرستی از کنترلکنندههای ثبتشده را با استفاده از قالبی که در بخش توضیحات عملگرها (OPERATOR DESCRIPTIONS) مشخص شده است چاپ میکند. [s]
دستورات استخراج وضعیت (DUMP COMMANDS)
دستورات استخراج وضعیت زیر برای استفاده عادی طراحی نشدهاند. هدف اصلی آنها ارائه راهی آسان برای دریافت اطلاعات وضعیت داخلی از libecasound است. تمام دستورات dump یک خط واحد با سینتکس "key value" را به جریان خروجی انتخابشده ارسال میکنند (پیشفرض stdout است).
- dump-target ’filename’
- جریان هدف را برای استخراج وضعیت تعیین میکند. [-]
- dump-status
- وضعیت موتور را استخراج میکند - ’running’، ’stopped’، ’finished’ یا ’notready’. [-]
- dump-position
- موقعیت سراسری را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-length
- طول کلی پردازش را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-cs-status
- رشته وضعیت را برای chainsetup انتخابشده فعلی استخراج میکند - ’connected’، ’selected’ یا یک رشته خالی. [-]
- dump-c-selected
- نام زنجیره انتخابشده فعلی را استخراج میکند. [-]
- dump-ai-selected
- برچسب ورودی صوتی انتخابشده فعلی را استخراج میکند. اگر ورودی انتخاب نشده باشد، یک رشته خالی چاپ میکند. [-]
- dump-ai-position
- موقعیت ورودیهای صوتی انتخابشده فعلی را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-ai-length
- طول ورودی صوتی انتخابشده فعلی را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-ai-open-state
- اطلاعات وضعیت ورودی صوتی را استخراج میکند. یکی از حالتهای ’open’ یا ’closed’. [-]
- dump-ao-selected
- برچسب خروجی صوتی انتخابشده فعلی را استخراج میکند. اگر خروجی انتخاب نشده باشد، یک رشته خالی چاپ میکند. [-]
- dump-ao-position
- موقعیت خروجیهای صوتی انتخابشده فعلی را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-ao-length
- طول خروجی صوتی انتخابشده فعلی را استخراج میکند. بر حسب ثانیه با نمایش ممیز شناور چاپ میشود. [-]
- dump-ao-open-state
- اطلاعات وضعیت خروجی صوتی را استخراج میکند. یکی از حالتهای ’open’ یا ’closed’. [-]
- dump-cop-value ’chainop,param’
- مقدار پارامتر عملگر زنجیره را استخراج میکند. ’chainop’ و ’param’ مقادیر اندیس عملگر و پارامتر هستند (1...n). [-]
توضیحات عملگرها (OPERATOR DESCRIPTIONS)
دستورات map-xxx-list رشتهای حاوی تمام اشیاء ثبتشده از نوع داده شده xxx را برمیگردانند. هر خط خروجی یک نوع ثبتشده را توصیف میکند. سینتکس مورد استفاده عبارت است از:
- ’keyword,name,description,num_of_params,par1_def,par2_def,...’
- parX_def یک پارامتر شیء را توصیف میکند. این تعریف برای تمامی پارامترهای نوع شیء توصیفشده وجود دارد. سینتکس مورد استفاده عبارت است از:
- ’name,description,defaultvalue,upper_bound_flag,upper_bound, lower_bound_flag,lower_bound,toggled_flag,integer_flag, logarithmic_flag,output_flag’
- برای توضیحات دقیق این فیلدها، لطفاً فایل هدر ecasound/libecasound/eca-operator.h را مشاهده کنید.
دستورات منسوخشده (DEPRECATED COMMANDS)
استفاده از دستورات زیر منسوخ شده است. آنها همچنان در نگارش فعلی اکاساند کار میکنند، اما در آینده حذف خواهند شد:
همچنین ببینید (SEE ALSO)
ecasound (1), ecatools (1), ecasoundrc (5)
نویسنده (AUTHOR)
Kai Vehmanen, <kvehmanen -at- eca -dot- cx <kvehmanen -at- eca -dot- cx>>
| 03.06.2012 |