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 را قطع می‌کند (و سپس تلاش می‌کند مجدداً متصل شود). دستوراتی که دارای این محدودیت هستند عبارتند از: cs-remove, cs-set-length, cs-set-length-samples, cs-toggle-loop, cs-set-param, cs-option, c-add, c-remove, c-rename, c-clear, ai-add, ai-remove, ai-attach, ai-forward, ai-rewind, ai-set-position, ai-set-position-samples, ao-add, ao-add-default, ao-remove, ao-attach, ao-forward, ao-rewind, ao-set-position, ao-set-position-samples. دستورات زیر را می‌توان بر روی یک chainsetup متصل‌شده استفاده کرد، اما این کار نیازمند متوقف کردن موقت موتور پردازش (در صورت در حال اجرا بودن) است و این امر می‌تواند باعث ایجاد وقفه‌های صوتی قابل شنیدن در پخش و ضبط شود. در عمل این بدان معناست که در حال حاضر امکان افزودن یا حذف عملگرهای زنجیره به صورت پیوسته و بدون وقفه (gapless/seamless) وجود ندارد. دستورات تحت تاثیر: cop-add, ctrl-add, دستورات زیر را می‌توان روی یک chainsetup متصل‌شده و در زمان اجرای موتور استفاده کرد (این یک فهرست کامل نیست اما دست‌کم این دستورات پشتیبانی می‌شوند): cop-set, copp-set, ctrlp-set, c-bypass, c-muting, setpos, cs-set-position, *-describe *-deselect, *-get, *-list, *-register *-select, *-selected, *-status, dump-*, int-*, jack-*, map-* عمومی (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" -> وضعیت بی‌صدا بودن تغییر می‌کند. اگر پارامتر حذف شود، حالت "toggle" فرض می‌شود (بی‌صدا بودن بسته به وضعیت قبلی فعال یا غیرفعال می‌شود). کنترل وضعیت بی‌صدا بودن زنجیره و عملگر زنجیره مستقل از یکدیگر است. اگر "c-mute off" اجرا شود، وضعیت دستورات منفرد cop-bypass اعمال خواهد شد. اگر زنجیره بی‌صدا باشد، صرف نظر از وضعیت بی‌صدا بودن عملگرهای زنجیره، خروجی زنجیره سکوت خواهد بود. [-] c-bypass وضعیت میان‌بر (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 وضعیت میان‌بر (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’ یک کنترل‌کننده جدید اضافه کرده و آن را به عملگر زنجیره انتخاب‌شده فعلی متصل می‌کند. سینتکس آرگومان یا به صورت "-:par1,...,parN" است یا صرفاً ":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) استفاده از دستورات زیر منسوخ شده است. آن‌ها همچنان در نگارش فعلی اکاساند کار می‌کنند، اما در آینده حذف خواهند شد: ai-wave-edit, ao-wave-edit همچنین ببینید (SEE ALSO) ecasound (1), ecatools (1), ecasoundrc (5) نویسنده (AUTHOR) Kai Vehmanen, > 03.06.2012 ecasound-iam(1)