.TH "pipewire-jack.conf" 5 "1.6.8" "PipeWire" \" -*- nroff -*- .ad l .nh .SH "نام (NAME)" pipewire-jack.conf \- فایل پیکربندی کلاینت‌های JACK در PipeWire .SH "توضیحات (DESCRIPTION)" .PP فایل پیکربندی کلاینت JACK در PipeWire\&. .PP .SH "خلاصه دستور (SYNOPSIS)" .PP .PP \fI$XDG_CONFIG_HOME/pipewire/jack\&.conf\fP .PP \fI/etc/pipewire/jack\&.conf\fP .PP \fI/usr/share/pipewire/jack\&.conf\fP .PP \fI/usr/share/pipewire/jack\&.conf\&.d/\fP .PP \fI/etc/pipewire/jack\&.conf\&.d/\fP .PP \fI$XDG_CONFIG_HOME/pipewire/jack\&.conf\&.d/\fP .PP .SH "توضیحات (DESCRIPTION)" .PP .PP پیکربندی برای کلاینت‌های PipeWire JACK\&. .PP قالب فایل پیکربندی و منطق جستجو و اولویت‌بندی فایل‌ها همانند \fBpipewire\&.conf(5)\fP است\&. .PP فایل‌های پیکربندی افزونه‌ای (Drop-in) به صورت \fRjack\&.conf\&.d/*\&.conf\fP می‌توانند استفاده شوند و استفاده از آن‌ها توصیه می‌شود\&. به \fBpipewire\&.conf(5)\fP مراجعه کنید\&. .SH "بخش‌های فایل پیکربندی (CONFIGURATION FILE SECTIONS)" .PP \fBjack\&.properties\fP .RS 4 پیکربندی کلاینت JACK\&. .RE .PP \fBjack\&.rules\fP .RS 4 قوانین تطبیق (match rules) کلاینت JACK\&. .RE .PP علاوه بر این، بخش‌های پیکربندی زمینه (context) PipeWire نیز ممکن است مشخص شوند، به \fBpipewire\&.conf(5)\fP مراجعه کنید\&. .SH "ویژگی‌های JACK (JACK PROPERTIES)" .PP فایل پیکربندی می‌تواند شامل یک بخش اختصاصی برای JACK به نام \fRjack\&.properties\fP باشد، مانند نمونه زیر: .PP .nf # ~/\&.config/pipewire/jack\&.conf\&.d/custom\&.conf jack\&.properties = { #rt\&.prio = 88 #node\&.latency = 1024/48000 #node\&.lock\-quantum = true #node\&.force\-quantum = 0 #jack\&.show\-monitor = true #jack\&.merge\-monitor = true #jack\&.show\-midi = true #jack\&.short\-name = false #jack\&.filter\-name = false #jack\&.filter\-char = " " # # allow: Don't restrict self connect requests # fail\-external: Fail self connect requests to external ports only # ignore\-external: Ignore self connect requests to external ports only # fail\-all: Fail all self connect requests # ignore\-all: Ignore all self connect requests #jack\&.self\-connect\-mode = allow #jack\&.locked\-process = true #jack\&.default\-as\-system = false #jack\&.fix\-midi\-events = true #jack\&.global\-buffer\-size = false #jack\&.passive\-links = false #jack\&.max\-client\-ports = 768 #jack\&.fill\-aliases = false #jack\&.writable\-input = false #jack\&.flag\-midi2 = false } .fi .PP .PP برای توضیحات درباره ویژگی‌های عمومی گره، بخش \fRstream\&.properties\fP در \fBpipewire-client\&.conf(5)\fP را ببینید\&. .PP همچنین امکان اعمال تنظیمات به ازای هر کلاینت وجود دارد؛ بخش «قوانین تطبیق» را در زیر ببینید\&. .PP \fBrt\&.prio \fP .RS 4 برای محدود کردن اولویت زمان‌واقعی (realtime priority) که کلاینت‌های jack می‌توانند به دست آورند\&. .RE .PP \fBnode\&.latency \fP .RS 4 برای اجبار اندازه بافر کمینه مشخص برای برنامه‌های کاربردی JACK، به این صورت پیکربندی کنید: .PP .nf node\&.latency = 1024/48000 .fi .PP این پیکربندی اندازه بافر را روی ۱۰۲۴ نمونه در نرخ نمونه‌برداری ۴۸ کیلوهرتز (48KHz) تنظیم می‌کند\&. اگر گراف صوتی با نرخ نمونه‌برداری دیگری در حال اجرا باشد، اندازه بافر متناسب با آن تنظیم خواهد شد\&. .RE .PP \fBnode\&.lock-quantum \fP .RS 4 برای اطمینان از اینکه هیچ کوانتوم خودکاری در حین اجرای برنامه‌های JACK تغییر نکند، پیکربندی کنید: .PP .nf node\&.lock\-quantum = true .fi .PP در این صورت کوانتوم تنها از طریق متادیتا یا زمانی که برنامه‌ای با node\&.force-quantum آغاز به کار کند قابل تغییر خواهد بود\&. برنامه‌های JACK همچنین قادر خواهند بود با استفاده از jack_set_buffersize() مقدار کوانتوم را بازنویسی کنند\&. .RE .PP \fBnode\&.force-quantum \fP .RS 4 برای تحمیل کوانتوم روی مقداری مشخص و جلوگیری از تغییرات آن: .PP .nf node\&.force\-quantum = 1024 .fi .PP در این صورت کوانتوم تنها از طریق متادیتا یا زمانی که یک برنامه با node\&.force-quantum آغاز شود تغییر می‌کند (یا برنامه‌های JACK که از jack_set_buffersize() برای بازنویسی کوانتوم استفاده می‌کنند)\&. .RE .PP \fBjack\&.show-monitor \fP .RS 4 نمایش کلاینت مانیتور و درگاه‌های (پورت‌های) آن\&. .RE .PP \fBjack\&.merge-monitor \fP .RS 4 درگاه‌های ضبط (capture) و درگاه‌های مانیتور را روی یک کلاینت دستگاه JACK مشترک در معرض دید قرار می‌دهد\&. این همان شیوه‌ای است که JACK درگاه‌های مانیتور را به کلاینت‌ها نمایش می‌دهد\&. با این حال، حالت پیش‌فرض ادغام \fIنکردن\fP آن‌هاست، زیرا معمولاً منجر به رابط‌های کاربری کاربرپسندتری می‌شود\&. یک کلاینت اضافه با پسوند \fRMonitor\fP ایجاد می‌شود که شامل درگاه‌های مانیتور است\&. .PP برای مثال، این بخشی از خروجی \fRjack_lsp\fP با تنظیم پیش‌فرض (\fRjack\&.merge-monitor = false\fP) است: .PP مقایسه کنید: .PP .nf jack.merge-monitor = true: Built-in Audio Analog Stereo:playback_FL Built-in Audio Analog Stereo:monitor_FL Built-in Audio Analog Stereo:playback_FR Built-in Audio Analog Stereo:monitor_FR jack.merge-monitor = false: Built-in Audio Analog Stereo:playback_FL Built-in Audio Analog Stereo Monitor:monitor_FL Built-in Audio Analog Stereo:playback_FR Built-in Audio Analog Stereo Monitor:monitor_FR .fi .RE .PP .PP \fBjack\&.show-midi \fP .RS 4 نمایش کلاینت‌های MIDI و درگاه‌های آن‌ها\&. .RE .PP \fBjack\&.short-name \fP .RS 4 برای استفاده از نام‌های کوتاه‌تر به جای نام‌های کامل کلاینت‌های دستگاه، از \fRjack\&.short-name = true\fP استفاده کنید\&. مقایسه کنید: .PP .nf jack.short-name = true: HDA Intel PCH:playback_FL HDA Intel PCH Monitor:monitor_FL HDA Intel PCH:playback_FR HDA Intel PCH Monitor:monitor_FR jack.short-name = false: Built-in Audio Analog Stereo:playback_FL Built-in Audio Analog Stereo Monitor:monitor_FL Built-in Audio Analog Stereo:playback_FR Built-in Audio Analog Stereo Monitor:monitor_FR .fi .RE .PP .PP \fBjack\&.filter-name \fP .RS 4 .RE .PP \fBjack\&.filter-char \fP .RS 4 تمام کاراکترهای خاص را با \fRjack\&.filter-char\fP جایگزین می‌کند\&. برای کلاینت‌ها کاراکترهای خاص شامل \fR ()[]\&.:*$\fP و برای درگاه‌ها شامل \fR ()[]\&.*$\fP هستند\&. زمانی از این گزینه استفاده کنید که کلاینت قادر به مدیریت کاراکترهای خاص نباشد (نسخه‌های قدیمی‌تر PortAudio نام کلاینت و پورت را به عنوان عبارت منظم / regex در نظر می‌گرفتند و در نتیجه در صورت وجود نویسه‌های خاص رجکس در نام، با شکست مواجه می‌شدند)\&. .RE .PP \fBjack\&.self-connect-mode \fP .RS 4 محدود کردن کلاینت از ایجاد اتصال به خودش یا از خودش\&. مقادیر مجاز و مفهوم آن‌ها به شرح زیر خلاصه می‌شود: .PP .nf allow درخواست‌های اتصال به خود محدود نمی‌شوند. fail-external رد درخواست‌های اتصال به خود تنها برای درگاه‌های خارجی. ignore-external نادیده گرفتن درخواست‌های اتصال به خود تنها برای درگاه‌های خارجی. fail-all رد تمامی درخواست‌های اتصال به خود. ignore-all نادیده گرفتن تمامی درخواست‌های اتصال به خود. .fi .RE .PP .PP \fBjack\&.locked-process \fP .RS 4 اطمینان حاصل می‌کند که فرآیند و فراخوان‌های بازگشتی (callbacks) نمی‌توانند هم‌زمان فراخوانی شوند\&. این رفتار عادی است، اما در صورتی که یک کلاینت خاص توانایی مدیریت این وضعیت را داشته باشد، می‌توان آن را غیرفعال کرد\&. .RE .PP \fBjack\&.default-as-system \fP .RS 4 نام‌گذاری مبدا و مقصد پیش‌فرض به عنوان \fRsystem\fP و شماره‌گذاری درگاه‌ها برای حداکثر کردن سازگاری با برنامه‌های JACK\&. .PP .nf jack.default-as-system = false: HDA Intel PCH:playback_FL HDA Intel PCH Monitor:monitor_FL HDA Intel PCH:playback_FR HDA Intel PCH Monitor:monitor_FR jack.default-as-system = true: system:playback_1 system:monitor_1 system:playback_2 system:monitor_2 .fi .RE .PP .PP \fBjack\&.fix-midi-events \fP .RS 4 تصحیح رویدادهای NoteOn با شدت صدای ۰ (velocity 0) به رویداد NoteOff\&. این رفتار استاندارد در JACK است و بنابراین برای بیشینه‌سازی سازگاری به‌طور پیش‌فرض فعال است\&. به‌ویژه افزونه‌های LV2 رویداد NoteOn با شدت ۰ را مجاز نمی‌دانند\&. .RE .PP \fBjack\&.global-buffer-size \fP .RS 4 هنگامی که یک کلاینت این گزینه را داشته باشد، تغییرات اندازه بافر با استفاده از متادیتا به‌صورت سراسری و دائمی برای تمام کلاینت‌های PipeWire اعمال خواهد شد\&. .RE .PP \fBjack\&.passive-links \fP .RS 4 باعث می‌شود کلاینت‌های JACK پیوندهای غیرفعال (passive links) ایجاد کنند\&. این گزینه تنها زمانی کار می‌کند که سازنده پیوند سرور با گزینه \fRallow\&.link\&.passive\fP پیکربندی شده باشد\&. .RE .PP \fBjack\&.max-client-ports \fP .RS 4 محدود کردن تعداد درگاه‌های مجاز به ازای هر کلاینت به این مقدار\&. .RE .PP \fBjack\&.fill-aliases \fP .RS 4 تنظیم خودکار alias1 و alias2 روی درگاه‌ها\&. .RE .PP \fBjack\&.writable-input \fP .RS 4 بافرهای ورودی را قابل نوشتن می‌کند\&. این حالت پیش‌فرض است زیرا برخی از کلاینت‌های JACK در بافر ورودی می‌نویسند\&. با این حال، این عمل می‌تواند باعث خرابی داده‌ها در کلاینت‌های دیگر در هنگام خواندن از بافر شود\&. .PP اگر تنها با کلاینت‌های بدون نقص و استاندارد کار می‌کنید، این مقدار را برای جلوگیری از تخریب بافر برابر با true قرار دهید\&. .RE .PP .PP \fBjack\&.flag-midi2 \fP .RS 4 استفاده از فلگ جدید درگاه MIDI2 در JACK روی درگاه‌های (UMP) MIDI2\&. این گزینه به‌طور پیش‌فرض غیرفعال است زیرا بیشتر برنامه‌های JACK هنوز از این پرچم مطلع نیستند و از نمایش پورت خودداری می‌کنند\&. .PP برای برنامه‌هایی که نحوه کار با درگاه‌های MIDI2 را می‌دانند، این مقدار را true قرار دهید\&. .RE .PP .SH "قوانین تطبیق (MATCH RULES)" .PP بخش \fRjack\&.rules\fP یک عملیات \fRupdate-props\fP ارائه می‌دهد که شیئی از ویژگی‌ها را می‌پذیرد که روی شیء کلاینت و گره کلاینت jack به‌روزرسانی می‌شوند\&. .PP یک بخش \fRjack\&.rules\fP به صورت زیر در فایل پیکربندی اضافه کنید: .PP .PP .nf # ~/\&.config/pipewire/jack\&.conf\&.d/custom\&.conf jack\&.rules = [ { matches = [ { # all keys must match the value\&. ! negates\&. ~ starts regex\&. application\&.process\&.binary = "jack_simple_client" } ] actions = { update\-props = { node\&.latency = 512/48000 } } } { matches = [ { client\&.name = "catia" } ] actions = { update\-props = { jack\&.merge\-monitor = true } } } ] .fi .PP این پیکربندی تأخیر jack_simple_client را روی ۵۱۲/۴۸۰۰۰ تنظیم می‌کند و باعث می‌شود Catia کلاینت مانیتور را ادغام‌شده با کلاینت بازپخش مشاهده کند\&. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .PP برای متغیرهای محیطی عمومی به \fBpipewire(1)\fP مراجعه کنید\&. بسیاری از آن‌ها برای برنامه‌های کلاینت JACK نیز اعمال می‌شوند\&. .PP متغیرهای محیطی می‌توانند برای کنترل رفتار کتابخانه کلاینت PipeWire JACK استفاده شوند\&. .PP \fBPIPEWIRE_NOJACK \fP .RS 4 .RE .PP \fBPIPEWIRE_INTERNAL \fP .RS 4 هنگامی که هر یک از این متغیرها تنظیم شده باشند، کتابخانه کلاینت JACK از باز کردن کلاینت خودداری خواهد کرد\&. متغیر \fRPIPEWIRE_INTERNAL\fP توسط دیمون اصلی PipeWire برای جلوگیری از اتصال به خود تنظیم می‌شود\&. .RE .PP \fBPIPEWIRE_PROPS \fP .RS 4 ویژگی‌های مشخص‌شده در فایل \fRjack\&.conf\fP را اضافه یا بازنویسی می‌کند\&. خروجی این نمونه را بررسی کنید: .PP .nf > PIPEWIRE_PROPS='{ jack\&.short\-name=true jack\&.merge\-monitor=true }' jack_lsp \&.\&.\&. HDA Intel PCH:playback_FL HDA Intel PCH:monitor_FL HDA Intel PCH:playback_FR HDA Intel PCH:monitor_FR \&.\&.\&. .fi .PP .RE .PP \fBPIPEWIRE_LATENCY \fP .RS 4 .PP .nf PIPEWIRE_LATENCY=/ .fi .PP روشی سریع برای پیکربندی حداکثر اندازه بافر برای یک کلاینت\&. این کلاینت را با اندازه بافر مشخص‌شده (یا کوچک‌تر) اجرا می‌کند\&. .PP دستور \fRPIPEWIRE_LATENCY=256/48000 jack_lsp\fP معادل است با: \fRPIPEWIRE_PROPS='{ node\&.latency=256/48000 }' jack_lsp\fP .PP روشی بهتر برای شروع نشست jack با اندازه بافر مشخص، تحمیل آن با دستور زیر است: .PP .nf pw\-metadata \-n settings 0 clock\&.force\-quantum .fi .PP این دستور همیشه فوراً عمل می‌کند و اندازه بافر تغییر نخواهد کرد مگر اینکه quantum دوباره به 0 بازگردانده شود\&. .RE .PP .PP \fBPIPEWIRE_RATE \fP .RS 4 .PP .nf PIPEWIRE_RATE=1/ .fi .PP .PP روشی سریع برای پیکربندی نرخ گراف صوتی\&. این دستور تلاش می‌کند نرخ نمونه‌برداری گراف را تغییر دهد\&. این کار معمولاً تنها زمانی ممکن است که گراف بیکار باشد و نرخ مشخص‌شده جزو نرخ‌های نمونه‌برداری مجاز باشد\&. .PP دستور \fRPIPEWIRE_RATE=1/48000 jack_lsp\fP معادل است با: \fRPIPEWIRE_PROPS='{ node\&.rate=1/48000 }' jack_lsp\fP .PP روشی بهتر برای شروع نشست jack در یک نرخ مشخص، اجبار نرخ با دستور زیر است: .PP .nf pw\-metadata \-n settings 0 clock\&.force\-rate .fi .PP این دستور همیشه کار می‌کند و نیازی نیست که نرخ نمونه‌برداری حتماً جزو نرخ‌های مجاز پیش‌فرض باشد\&. نرخ همچنین تغییر نخواهد کرد تا زمانی که مجدداً به 0 بازگردانده شود\&. .RE .PP .PP \fBPIPEWIRE_QUANTUM \fP .RS 4 .PP .nf PIPEWIRE_QUANTUM=/ .fi .PP .PP مشابه استفاده از \fRPIPEWIRE_LATENCY=/\fP و \fRPIPEWIRE_RATE=1/\fP است (به موارد فوق مراجعه کنید)، با این تفاوت که صرفاً یک پیشنهاد نیست بلکه گراف را فعالانه \fIمجبور\fP به تغییر نرخ و کوانتوم می‌کند\&. می‌تواند برای تنظیم همزمان اندازه بافر و نرخ نمونه‌برداری استفاده شود\&. .PP هنگامی که ۲ برنامه کوانتوم را تحمیل کنند، آخرین برنامه اولویت خواهد داشت\&. با متوقف شدن برنامه پیروز، کوانتوم برنامه پیشین بازیابی می‌شود\&. .RE .PP .PP \fBPIPEWIRE_LINK_PASSIVE \fP .RS 4 .PP .nf PIPEWIRE_LINK_PASSIVE=true qjackctl .fi .PP باعث می‌شود این کلاینت فقط پیوندهای غیرفعال (passive links) ایجاد کند\&. تمام پیوندهای ایجادشده توسط کلاینت به عنوان غیرفعال علامت‌گذاری می‌شوند و سینک/سورس را مشغول نگه نخواهند داشت\&. .PP می‌توانید از این برای پیوند دادن فیلترها به دستگاه‌ها استفاده کنید\&. هنگامی که هیچ کلاینتی به فیلتر متصل نیست، تنها پیوندهای غیرفعال بین فیلتر و دستگاه باقی می‌مانند و دستگاه به حالت بیکار و معلق (suspended) درمی‌آید\&. .RE .PP .PP \fBPIPEWIRE_NODE \fP .RS 4 .PP .nf PIPEWIRE_NODE= .fi .PP درگاه‌ها را به گونه‌ای مرتب می‌کند که تنها درگاه‌های گره با شناسه فهرست شوند\&. می‌توانید از این ویژگی استفاده کنید تا برنامه‌ای را مجبور کنید تنها با درگاه‌های یک گره خاص تعامل داشته باشد، برای مثال هنگام اتصال خودکار (auto connecting)\&. .RE .PP .PP .SH "نویسندگان (AUTHORS)" .PP .PP توسعه‌دهندگان پایپ‌وایر ؛ پایپ‌وایر از نشانی در دسترس است. .PP .SH "همچنین ببینید (SEE ALSO)" .PP .PP \fBpw-jack(1)\fP, \fBpipewire\&.conf(5)\fP