pipewire-client.conf(5) -*- nroff -*- pipewire-client.conf(5) نام (NAME) pipewire-client.conf - فایل پیکربندی کلاینت PipeWire خلاصه دستور (SYNOPSIS) /pipewire/client.conf /etc/pipewire/client.conf /usr/share/pipewire/client.conf /usr/share/pipewire/client.conf.d/ /etc/pipewire/client.conf.d/ /pipewire/client.conf.d/ توضیحات (DESCRIPTION) پیکربندی برای کلاینت‌های بومی PipeWire و برای پلاگین ALSA مربوط به PipeWire. یک برنامه کلاینت بومی PipeWire پیکربندی پیش‌فرض را برای بارگذاری انتخاب می‌کند، و اگر چیزی مشخص نشده باشد، معمولاً client.conf را بارگذاری می‌نماید. قالب فایل پیکربندی و منطق جستجوی آن همانند pipewire.conf(5) است. فایل‌های پیکربندی قطره‌ای (drop-in) به صورت client.conf.d/*.conf قابل استفاده بوده و توصیه می‌شوند. به pipewire.conf(5) مراجعه کنید. بخش‌های فایل پیکربندی (CONFIGURATION FILE SECTIONS) stream.properties پیکربندی گزینه‌ها برای جریان‌های کلاینت بومی. stream.rules پیکربندی قواعد برای جریان‌های کلاینت بومی. alsa.properties پیکربندی کلاینت ALSA. alsa.rules قواعد تطبیق کلاینت ALSA. علاوه بر این، بخش‌های پیکربندی زمینه (context) در PipeWire نیز ممکن است مشخص شوند، به pipewire.conf(5) مراجعه کنید. ویژگی‌های جریان (STREAM PROPERTIES) فایل‌های پیکربندی کلاینت شامل یک بخش stream.properties هستند که گزینه‌های جریان‌های کلاینت را پیکربندی می‌کند: # ~/.config/pipewire/client.conf.d/custom.conf stream.properties = { #node.latency = 1024/48000 #node.autoconnect = true #resample.disable = false #resample.quality = 4 #resample.window = exp # blackman kaiser #resample.cutoff = 0.0 #resample.n-taps = 0 #resample.param.exp.A = 0.0 #resample.param.blackman.alpha = 0.0 #resample.param.kaiser.alpha = 0.0 #resample.param.kaiser.stopband-attenuation = 0.0 #resample.param.kaiser.transition-bandwidth = 0.0 #monitor.channel-volumes = false #channelmix.disable = false #channelmix.min-volume = 0.0 #channelmix.max-volume = 10.0 #channelmix.normalize = false #channelmix.lock-volume = false #channelmix.mix-lfe = true #channelmix.upmix = true #channelmix.upmix-method = psd # none, simple #channelmix.lfe-cutoff = 150.0 #channelmix.fc-cutoff = 12000.0 #channelmix.rear-delay = 12.0 #channelmix.stereo-widen = 0.0 #channelmix.hilbert-taps = 0 #dither.noise = 0 #dither.method = none # rectangular, triangular, triangular-hf, wannamaker3, shaped5 #debug.wav-path = } برخی از ویژگی‌ها به جنبه‌های مختلف جریان اشاره دارند: • ویژگی‌های عمومی جریان برای شناسایی جریان. • ویژگی‌های عمومی جریان برای دسته‌بندی جریان. • نحوه زمان‌بندی آن توسط گراف پردازش. • نحوه پیوند آن توسط مدیر نشست (session manager). • نحوه انجام پردازش داخلی. • ویژگی‌هایی برای پیکربندی قالب رسانه. فهرستی از ویژگی‌های شیء که می‌توان بر جریان‌ها اعمال کرد در pipewire- props(7) Common Node Properties و pipewire-props(7) Audio Adapter Properties یافت می‌شود. قواعد جریان (STREAM RULES) می‌توانید قواعد تطبیق (به pipewire(1) مراجعه کنید) را برای تنظیم ویژگی‌های جریان‌ها و فیلترهای مشخص اضافه کنید. بخش‌های stream.rules و filter.rules یک کنش update-props فراهم می‌کنند که یک شیء حاوی ویژگی‌ها دریافت کرده و آن‌ها را روی شیء گره (node) جریان و فیلتر به‌روزرسانی می‌کند. یک بخش stream.rules یا filter.rules را به این صورت در فایل پیکربندی اضافه کنید: # ~/.config/pipewire/client.conf.d/custom.conf stream.rules = [ { matches = [ { # all keys must match the value. ! negates. ~ starts regex. application.process.binary = "firefox" } ] actions = { update-props = { node.name = "My Name" } } } ] این پیکربندی node.name مربوط به Firefox را روی "My Name" تنظیم می‌کند. ویژگی‌های کلاینت ALSA (ALSA CLIENT PROPERTIES) یک بخش alsa.properties می‌تواند برای پیکربندی برنامه‌های کلاینت که از طریق پلاگین ALSA مربوط به PipeWire متصل می‌شوند اضافه شود. # ~/.config/pipewire/client.conf.d/custom.conf alsa.properties = { #alsa.deny = false #alsa.format = 0 #alsa.rate = 0 #alsa.channels = 0 #alsa.period-bytes = 0 #alsa.buffer-bytes = 0 #alsa.volume-method = cubic # linear, cubic } alsa.deny دسترسی ALSA را برای کلاینت مسدود می‌کند. در قواعد یا در متغیر محیطی PIPEWIRE_ALSA مفید است. alsa.format قالب ALSA مورد استفاده برای کلاینت. این یک نام قالب ALSA است. پیش‌فرض 0 است، که به معنای مجاز بودن تمام قالب‌هاست. alsa.rate نرخ نمونه‌برداری مورد استفاده برای کلاینت. پیش‌فرض 0 است، که به معنای مجاز بودن همه نرخ‌هاست. alsa.channels تعداد کانال‌ها برای کلاینت. پیش‌فرض 0 است، که به معنای مجاز بودن هر تعداد کانال است. alsa.period-bytes تعداد بایت‌ها در هر دوره (period). پیش‌فرض 0 است که به معنای مجاز بودن هر تعداد بایت دوره است. alsa.buffer-bytes تعداد بایت‌ها در بافر ALSA. پیش‌فرض 0 است، که به معنای مجاز بودن هر تعداد بایت است. alsa.volume-method = cubic | linear این گزینه منحنی بلندی صدا را روی میکسر ALSA کنترل می‌کند. مقادیر ممکن عبارتند از cubic و linear. پیش‌فرض استفاده از cubic است. قواعد کلاینت ALSA (ALSA CLIENT RULES) امکان تنظیم ویژگی‌های خاص کلاینت ALSA با استفاده از قواعد تطبیق (به pipewire(1) مراجعه کنید) وجود دارد. می‌توانید هر یک از ویژگی‌های ALSA بالا یا هر یک از stream.properties را تنظیم کنید. مثال (Example) # ~/.config/pipewire/client.conf.d/custom.conf alsa.rules = [ { matches = [ { application.process.binary = "resolve" } ] actions = { update-props = { alsa.buffer-bytes = 131072 } } } ] متغیرهای محیطی (ENVIRONMENT VARIABLES) برای متغیرهای محیطی متداول به pipewire(1) مراجعه کنید. بسیاری از آن‌ها برای برنامه‌های کلاینت نیز اعمال می‌شوند. متغیرهای محیطی همچنین بر برنامه‌های ALSA که از پلاگین ALSA مربوط به PipeWire استفاده می‌کنند تأثیر می‌گذارند. PIPEWIRE_ALSA می‌تواند شیئی با ویژگی‌هایی از alsa.properties یا stream.properties باشد که برای ایجاد کلاینت و جریان‌ها استفاده خواهد شد. برای نمونه: PIPEWIRE_ALSA='{ alsa.buffer-bytes=16384 node.name=foo }' aplay ... برنامه aplay را با ویژگی‌های سفارشی اجرا می‌کند. PIPEWIRE_NODE به کلاینت ALSA دستور می‌دهد تا به یک سینک یا سورس خاص با object.serial یا node.name مشخص متصل شود. برای نمونه: PIPEWIRE_NODE=alsa_output.pci-0000_00_1b.0.analog-stereo aplay ... باعث می‌شود aplay صدا را روی سینک صوتی مشخص‌شده پخش کند. نویسندگان (AUTHORS) توسعه‌دهندگان PipeWire ؛ پروژه PipeWire از در دسترس است. همچنین ببینید (SEE ALSO) libpipewire-module-protocol-pulse(7), pipewire.conf(5), pipewire- pulse(1), pipewire-pulse-modules(7) PipeWire 1.6.8 pipewire-client.conf(5)