AJ-SNAPSHOT(1) User Manuals AJ-SNAPSHOT(1)

aj-snapshot - ذخیره و بازیابی اتصالات صوتی ALSA و JACK

aj-snapshot [ -adfjqrx ] [ -p polling_interval ] [ -i client_name ]... [ FILE ]

برنامه aj-snapshot ابزار کوچکی است که برای تهیه وضعیت فوری (اسنپ‌شات) از اتصالات برقرار شده میان کلاینت‌های JACK و/یا ALSA استفاده می‌شود. از آنجا که JACK می‌تواند هر دو پشتیبانی صوتی و MIDI را برای برنامه‌ها فراهم کند، aj-snapshot می‌تواند هر دو نوع اتصال را برای JACK ذخیره کند. از سوی دیگر، ALSA تنها امکانات مسیریابی را برای کلاینت‌های MIDI فراهم می‌کند. اگر aj-snapshot را بدون هیچ گزینه‌ای اجرا کنید، تمام اتصالات فعلی ALSA و JACK را در FILE ذخیره می‌کند. این پرونده یک پرونده XML خواهد بود و در صورت تمایل به ویرایش دستی، می‌توانید از یک ویرایشگر متن استفاده کنید.

-a , --alsa

تنها ذخیره یا بازیابی اتصالات MIDI در ALSA. در حالت دیمن (daemon) نیز کار می‌کند.

-d , --daemon

اجرای aj-snapshot در حالت دیمن. برنامه aj-snapshot ابتدا تلاش می‌کند تا اتصالات را از پرونده اسنپ‌شات مشخص‌شده بازیابی کند. پس از آن، منتظر می‌ماند تا درگاه‌های جدیدی در ALSA یا JACK ثبت شوند. به‌طور پیش‌فرض، aj-snapshot هر ثانیه بررسی می‌کند که آیا درگاه‌های جدیدی در ALSA یا JACK ثبت شده‌اند یا خیر. در این صورت، تلاش می‌کند اتصالات را از پرونده اسنپ‌شات شما بازیابی نماید. اگر aj-snapshot را در حالت دیمن اجرا کنید، نیازی به مشخص کردن پرچم -r،--restore نیست چرا که به هر حال به صورت ضمنی اعمال می‌شود.
اگر سیگنال HUP را به دیمن بفرستید، دیمن پرونده اسنپ‌شات را دوباره بارگذاری می‌کند. این امکان را به شما می‌دهد تا بازیابی اتصالات را فعال کنید. برای مشاهده مثالی از نحوه انجام این کار، بخش «مثال‌ها» را در ادامه ببینید. هنگامی که حالت دیمن را با گزینه -x،--remove ترکیب کنید، ارسال سیگنال HUP به دیمن پیش از بازیابی، تمامی اتصالات را پاک خواهد کرد.
هنگامی که سرور JACK در حین اجرای aj-snapshot در حالت دیمن متوقف شود (یا دچار فروپاشی گردد)، aj-snapshot تلاش می‌کند تا به اجرای خود ادامه دهد. هنگامی که سرور JACK بعداً دوباره راه‌اندازی شود، aj-snapshot به‌طور خودکار مجدداً متصل می‌شود و در صورت نیاز اتصالات شما را بازیابی می‌کند.

-f , --force

هنگامی که تلاش می‌کنید یک اسنپ‌شات را روی یک پرونده موجود ذخیره کنید، aj-snapshot از شما می‌پرسد که آیا می‌خواهید آن پرونده را بازنویسی کنید. با این گزینه، می‌توانید aj-snapshot را مجبور به بازنویسی آن پرونده کنید.

-j , --jack

تنها ذخیره یا بازیابی اتصالات صوتی و MIDI در JACK. در حالت دیمن نیز کار می‌کند.

-p interval, --poll=interval

هر زمان که برنامه‌ای درگاهی را در ALSA یا JACK ثبت کند، aj-snapshot بررسی می‌کند که آیا اتصالاتی در پرونده اسنپ‌شات وجود دارند که باید بازیابی شوند یا خیر. به‌طور پیش‌فرض، aj-snapshot هر ثانیه (۱۰۰۰ میلی‌ثانیه) وجود درگاه‌های جدید را بررسی (poll) می‌کند. با این گزینه می‌توانید تعیین کنید که aj-snapshot هر چند وقت یک‌بار باید درگاه‌های جدید را بررسی کند. مقدار interval باید بر حسب میلی‌ثانیه مشخص شود.

-q , --quiet

هیچ اطلاعاتی درباره اتصالاتی که ذخیره یا بازیابی می‌شوند چاپ نشود.

-r , --restore

هنگامی که پرچم -r را مشخص می‌کنید، aj-snapshot تلاش می‌کند تمامی اتصالات ALSA و JACK را از FILE بازیابی کند (بدون آن، aj-snapshot تلاش خواهد کرد تا اتصالات را در FILE ذخیره کند). اگر می‌خواهید تنها اتصالات ALSA یا JACK را بازیابی کنید، می‌توانید این گزینه را با گزینه‌های -a یا -j ترکیب کنید.

-x , --remove

گزینه -x می‌تواند هنگام بازیابی اتصالات یا هنگام اجرا در حالت دیمن استفاده شود. با این گزینه، aj-snapshot تمام اتصالات موجود را پیش از بازیابی پرونده اسنپ‌شات حذف می‌کند. هنگامی که آن را با گزینه -a یا -j ترکیب کنید، تنها اتصالات مربوط به زیرسیستم مشخص‌شده (ALSA یا JACK) حذف خواهند شد. بدون گزینه -x، aj-snapshot تلاش خواهد کرد تا اتصالات را بر روی اتصالاتی که در حال حاضر فعال هستند بازیابی کند.
یک روش دیگر نیز برای استفاده از گزینه -x وجود دارد. اگر aj-snapshot را بدون آرگومان FILE فراخوانی کنید، می‌توانید از گزینه -x برای حذف تمامی اتصالات موجود ALSA و JACK (بدون انجام هیچ کار دیگری) استفاده کنید. همانند قبل می‌توانید آن را با گزینه‌های -a یا -j ترکیب کنید.

-i client_name, --ignore=client_name

می‌توانید از این گزینه برای مشخص کردن یک یا چند کلاینت که باید توسط aj-snapshot نادیده گرفته شوند استفاده کنید. می‌توانید نام کلاینت را بعد از گزینه -i بنویسید، و مجاز به استفاده از الگوهای نویسه عام (wildcard / انطباق معمولی شل) در آن رشته هستید. اگر آن نام شامل فاصله یا نویسه‌های دیگری باشد که برای شل معنای خاصی دارند، باید نام را درون نقل‌قول تکی (امن‌ترین حالت) یا دوگانه قرار دهید. برای دانستن نام یک کلاینت، می‌توانید یک اسنپ‌شات ذخیره کرده و نام را در پرونده اسنپ‌شات جستجو کنید. اگر می‌خواهید چندین کلاینت را نادیده بگیرید، باید گزینه -i را با نام کلاینت‌های مختلف تکرار کنید (حداکثر ۵۰ کلاینت).

-h , --help

چاپ یک پیام راهنمای کوتاه

aj-snapshot test.snap

یک اسنپ‌شات از تمامی اتصالات فعلی ALSA و JACK را در پرونده‌ای به نام "test.snap" ذخیره می‌کند. اگر آن پرونده از قبل وجود داشته باشد، aj-snapshot از شما می‌پرسد که آیا می‌خواهید آن را بازنویسی کنید.

aj-snapshot -r test.snap

تمامی اتصالات ALSA و JACK را از پرونده "test.snap" بازیابی می‌کند. این کار هرگونه اتصال فعال دیگر را دست‌نخورده باقی می‌گذارد.

aj-snapshot -xr test.snap

تمامی اتصالات ALSA و JACK را از پرونده "test.snap" بازیابی می‌کند، اما ابتدا همه اتصالات موجود را حذف می‌نماید.

aj-snapshot -a test.snap

تمامی اتصالات فعلی ALSA را در "test.snap" ذخیره می‌کند.

aj-snapshot -rj test.snap

تمامی اتصالات JACK را از "test.snap" بازیابی می‌کند. این بدان معناست که اتصالات ALSA که ممکن است در پرونده ذخیره شده باشند بازیابی نخواهند شد.

aj-snapshot -qfj test.snap

تمامی اتصالات فعلی JACK را در "test.snap" ذخیره می‌کند. هیچ اطلاعاتی را در خروجی استاندارد چاپ نمی‌کند (بی‌صدا)، و در صورتی که "test.snap" از قبل وجود داشته باشد آن را با اجبار بازنویسی می‌کند.

aj-snapshot -ax

تمامی اتصالات ALSA را حذف می‌کند.

aj-snapshot -d test.snap &

برنامه aj-snapshot را در حالت دیمن اجرا کرده و آن را به یک فرآیند پس‌زمینه (&) تبدیل می‌کند. هر زمان که یک کلاینت جدید ALSA یا JACK درگاهی را ثبت کند، اتصالات از test.snap بازیابی خواهند شد.

aj-snapshot -djx test.snap &

برنامه aj-snapshot را در حالت دیمن برای اتصالات JACK در "test.snap" اجرا می‌کند. هر زمان که اتصالات از test.snap بازیابی شوند، تمامی اتصالات موجود JACK حذف خواهند شد.

1) aj-snapshot -d test.snap &
2) aj-snapshot -f test.snap
3) kill -HUP $(pidof aj-snapshot)

1) ابتدا aj-snapshot را در حالت دیمن با پرونده "test.snap" راه‌اندازی کنید.
2) پس از ایجاد تغییراتی در اتصالات، نمونه دومی از aj-snapshot (که در حالت دیمن اجرا نمی‌شود) آن پرونده را با وضعیت جدید اتصالات بازنویسی می‌کند.
3) سیگنال HANGUP را به دیمن بفرستید تا پرونده را با وضعیت جدید اتصالات دوباره بارگذاری کند (به 'man kill' و 'man pidof' مراجعه کنید).

نوشته شده توسط Lieven Moors و Jari Suominen

برای گزارش اشکالات aj-snapshot، یا اگر درخواست ویژگی جدیدی دارید:
http://sourceforge.net/projects/aj-snapshot

صفحه خانگی Aj-snapshot:
http://aj-snapshot.sourceforge.net

کلون کردن مخزن گیت:
git clone https://lievenmoors@git.code.sf.net/p/aj-snapshot/code

حق نشر © 2009-2012 Lieven Moors و Jari Suominen.
مجوز GPLv3+: گنو GPL نسخه ۳ یا بالاتر http://gnu.org/licenses/gpl.html.
این نرم‌افزار آزاد است: شما در تغییر و بازتوزیع آن آزاد هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون مجاز می‌داند.

NOVEMBER 2011 Linux