| pipewire-jack.conf(5) | File Formats Manual | pipewire-jack.conf(5) |
نام (NAME)
pipewire-jack.conf - فایل پیکربندی کلاینتهای JACK در PipeWire
توضیحات (DESCRIPTION)
فایل پیکربندی کلاینت JACK در PipeWire.
خلاصه دستور (SYNOPSIS)
$XDG_CONFIG_HOME/pipewire/jack.conf
/etc/pipewire/jack.conf
/usr/share/pipewire/jack.conf
/usr/share/pipewire/jack.conf.d/
/etc/pipewire/jack.conf.d/
$XDG_CONFIG_HOME/pipewire/jack.conf.d/
توضیحات (DESCRIPTION)
پیکربندی برای کلاینتهای PipeWire JACK.
قالب فایل پیکربندی و منطق جستجو و اولویتبندی فایلها همانند pipewire.conf(5) است.
فایلهای پیکربندی افزونهای (Drop-in) به صورت jack.conf.d/*.conf میتوانند استفاده شوند و استفاده از آنها توصیه میشود. به pipewire.conf(5) مراجعه کنید.
بخشهای فایل پیکربندی (CONFIGURATION FILE SECTIONS)
jack.properties
jack.rules
علاوه بر این، بخشهای پیکربندی زمینه (context) PipeWire نیز ممکن است مشخص شوند، به pipewire.conf(5) مراجعه کنید.
ویژگیهای JACK (JACK PROPERTIES)
فایل پیکربندی میتواند شامل یک بخش اختصاصی برای JACK به نام jack.properties باشد، مانند نمونه زیر:
# ~/.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
}
برای توضیحات درباره ویژگیهای عمومی گره، بخش stream.properties در pipewire-client.conf(5) را ببینید.
همچنین امکان اعمال تنظیمات به ازای هر کلاینت وجود دارد؛ بخش «قوانین تطبیق» را در زیر ببینید.
rt.prio
node.latency
node.latency = 1024/48000
این پیکربندی اندازه بافر را روی ۱۰۲۴ نمونه در نرخ نمونهبرداری ۴۸ کیلوهرتز (48KHz) تنظیم میکند. اگر گراف صوتی با نرخ نمونهبرداری دیگری در حال اجرا باشد، اندازه بافر متناسب با آن تنظیم خواهد شد.
node.lock-quantum
node.lock-quantum = true
در این صورت کوانتوم تنها از طریق متادیتا یا زمانی که برنامهای با node.force-quantum آغاز به کار کند قابل تغییر خواهد بود. برنامههای JACK همچنین قادر خواهند بود با استفاده از jack_set_buffersize() مقدار کوانتوم را بازنویسی کنند.
node.force-quantum
node.force-quantum = 1024
در این صورت کوانتوم تنها از طریق متادیتا یا زمانی که یک برنامه با node.force-quantum آغاز شود تغییر میکند (یا برنامههای JACK که از jack_set_buffersize() برای بازنویسی کوانتوم استفاده میکنند).
jack.show-monitor
jack.merge-monitor
برای مثال، این بخشی از خروجی jack_lsp با تنظیم پیشفرض (jack.merge-monitor = false) است:
مقایسه کنید:
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
jack.show-midi
jack.short-name
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
jack.filter-name
jack.filter-char
jack.self-connect-mode
allow درخواستهای اتصال به خود محدود نمیشوند. fail-external رد درخواستهای اتصال به خود تنها برای درگاههای خارجی. ignore-external نادیده گرفتن درخواستهای اتصال به خود تنها برای درگاههای خارجی. fail-all رد تمامی درخواستهای اتصال به خود. ignore-all نادیده گرفتن تمامی درخواستهای اتصال به خود.
jack.locked-process
jack.default-as-system
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
jack.fix-midi-events
jack.global-buffer-size
jack.passive-links
jack.max-client-ports
jack.fill-aliases
jack.writable-input
اگر تنها با کلاینتهای بدون نقص و استاندارد کار میکنید، این مقدار را برای جلوگیری از تخریب بافر برابر با true قرار دهید.
jack.flag-midi2
برای برنامههایی که نحوه کار با درگاههای MIDI2 را میدانند، این مقدار را true قرار دهید.
قوانین تطبیق (MATCH RULES)
بخش jack.rules یک عملیات update-props ارائه میدهد که شیئی از ویژگیها را میپذیرد که روی شیء کلاینت و گره کلاینت jack بهروزرسانی میشوند.
یک بخش jack.rules به صورت زیر در فایل پیکربندی اضافه کنید:
# ~/.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
}
}
}
]
این پیکربندی تأخیر jack_simple_client را روی ۵۱۲/۴۸۰۰۰ تنظیم میکند و باعث میشود Catia کلاینت مانیتور را ادغامشده با کلاینت بازپخش مشاهده کند.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
برای متغیرهای محیطی عمومی به pipewire(1) مراجعه کنید. بسیاری از آنها برای برنامههای کلاینت JACK نیز اعمال میشوند.
متغیرهای محیطی میتوانند برای کنترل رفتار کتابخانه کلاینت PipeWire JACK استفاده شوند.
PIPEWIRE_NOJACK
PIPEWIRE_INTERNAL
PIPEWIRE_PROPS
> 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
...
PIPEWIRE_LATENCY
PIPEWIRE_LATENCY=<samples>/<rate> <application>
روشی سریع برای پیکربندی حداکثر اندازه بافر برای یک کلاینت. این کلاینت را با اندازه بافر مشخصشده (یا کوچکتر) اجرا میکند.
دستور PIPEWIRE_LATENCY=256/48000 jack_lsp معادل است با: PIPEWIRE_PROPS='{ node.latency=256/48000 }' jack_lsp
روشی بهتر برای شروع نشست jack با اندازه بافر مشخص، تحمیل آن با دستور زیر است:
pw-metadata -n settings 0 clock.force-quantum <quantum>
این دستور همیشه فوراً عمل میکند و اندازه بافر تغییر نخواهد کرد مگر اینکه quantum دوباره به 0 بازگردانده شود.
PIPEWIRE_RATE
PIPEWIRE_RATE=1/<rate> <application>
روشی سریع برای پیکربندی نرخ گراف صوتی. این دستور تلاش میکند نرخ نمونهبرداری گراف را تغییر دهد. این کار معمولاً تنها زمانی ممکن است که گراف بیکار باشد و نرخ مشخصشده جزو نرخهای نمونهبرداری مجاز باشد.
دستور PIPEWIRE_RATE=1/48000 jack_lsp معادل است با: PIPEWIRE_PROPS='{ node.rate=1/48000 }' jack_lsp
روشی بهتر برای شروع نشست jack در یک نرخ مشخص، اجبار نرخ با دستور زیر است:
pw-metadata -n settings 0 clock.force-rate <rate>
این دستور همیشه کار میکند و نیازی نیست که نرخ نمونهبرداری حتماً جزو نرخهای مجاز پیشفرض باشد. نرخ همچنین تغییر نخواهد کرد تا زمانی که مجدداً به 0 بازگردانده شود.
PIPEWIRE_QUANTUM
PIPEWIRE_QUANTUM=<buffersize>/<rate> <application>
مشابه استفاده از PIPEWIRE_LATENCY=<buffersize>/<rate> و PIPEWIRE_RATE=1/<rate> است (به موارد فوق مراجعه کنید)، با این تفاوت که صرفاً یک پیشنهاد نیست بلکه گراف را فعالانه مجبور به تغییر نرخ و کوانتوم میکند. میتواند برای تنظیم همزمان اندازه بافر و نرخ نمونهبرداری استفاده شود.
هنگامی که ۲ برنامه کوانتوم را تحمیل کنند، آخرین برنامه اولویت خواهد داشت. با متوقف شدن برنامه پیروز، کوانتوم برنامه پیشین بازیابی میشود.
PIPEWIRE_LINK_PASSIVE
PIPEWIRE_LINK_PASSIVE=true qjackctl
باعث میشود این کلاینت فقط پیوندهای غیرفعال (passive links) ایجاد کند. تمام پیوندهای ایجادشده توسط کلاینت به عنوان غیرفعال علامتگذاری میشوند و سینک/سورس را مشغول نگه نخواهند داشت.
میتوانید از این برای پیوند دادن فیلترها به دستگاهها استفاده کنید. هنگامی که هیچ کلاینتی به فیلتر متصل نیست، تنها پیوندهای غیرفعال بین فیلتر و دستگاه باقی میمانند و دستگاه به حالت بیکار و معلق (suspended) درمیآید.
PIPEWIRE_NODE
PIPEWIRE_NODE=<id> <application>
درگاهها را به گونهای مرتب میکند که تنها درگاههای گره با شناسه <id> فهرست شوند. میتوانید از این ویژگی استفاده کنید تا برنامهای را مجبور کنید تنها با درگاههای یک گره خاص تعامل داشته باشد، برای مثال هنگام اتصال خودکار (auto connecting).
نویسندگان (AUTHORS)
توسعهدهندگان پایپوایر https://gitlab.freedesktop.org/pipewire/pipewire/issues؛ پایپوایر از نشانی https://pipewire.org در دسترس است.
همچنین ببینید (SEE ALSO)
| 1.6.8 | PipeWire |