PLAYERCTL(1) General Commands Manual PLAYERCTL(1)

playerctl — کنترل پخش‌کننده‌های چندرسانه‌ای از طریق MPRIS

playerctl [-aFhlV] [-f FORMAT] [-i NAME] [-p NAME] command

ابزار playerctl پخش‌کننده‌های چندرسانه‌ای دارای قابلیت MPRIS را کنترل می‌کند. علاوه بر ارائهٔ امکان کنترل پخش، مکث و توقف، playerctl همچنین از رفتن به قطعهٔ قبلی و بعدی، قابلیت جست‌وجو به جلو و عقب در قطعه، و کنترل میزان صدا پشتیبانی می‌کند. playerctl همچنین از نمایش متاداده (مانند هنرمند، عنوان، آلبوم) برای قطعهٔ کنونی، و نمایش وضعیت پخش‌کننده پشتیبانی می‌کند.

پخش‌کننده‌هایی که می‌توان با استفاده از playerctl آن‌ها را کنترل کرد شامل audacious(1) ، cmus(1) ، mopidy(1) ، mpd(1) ، quodlibet(1) ، rhythmbox(1) ، vlc(1) و xmms2(1) می‌شوند. با این حال، هر پخش‌کننده‌ای که مشخصات واسط MPRIS را پیاده‌سازی کند، از جمله مرورگرهای وب، می‌تواند با استفاده از playerctl کنترل شود.

همچنین Playerctl به همراه یک دیمِن به نام playerctld ارائه می‌شود که فعالیت‌های پخش‌کننده‌های چندرسانه‌ای را رهگیری می‌کند. هنگامی که playerctld در حال اجرا باشد، دستورهای playerctl بر روی پخش‌کننده‌ای با جدیدترین فعالیت عمل خواهند کرد. برای راه‌اندازی دیمِن، دستور playerctld daemon را اجرا کنید.

گزینه‌ها به شرح زیر هستند:

, --all-players
اعمال دستور بر روی تمام پخش‌کننده‌های در دسترس.
, --follow
مسدود کردن فرایند و چاپ پرس‌وجوی به‌روزشده هنگام تغییر آن.
FORMAT, --format FORMAT
تنظیم خروجی دستور جاری به FORMAT. بخش Format Strings را ببینید.
, --help
چاپ این راهنما و سپس خروج.
NAME, --ignore-player NAME
نادیده گرفتن پخش‌کنندهٔ مشخص NAME. می‌توان چندین پخش‌کننده را در یک فهرستِ جداشده با ویرگول مشخص کرد.
, --list-all
فهرست کردن نام‌های پخش‌کننده‌های در حال اجرایی که قابل کنترل هستند.
NAME, --player NAME
کنترل پخش‌کنندهٔ مشخص NAME. می‌توان چندین پخش‌کننده را در یک فهرستِ جداشده با ویرگول مشخص کرد. پیش‌فرض بر روی اولین پخش‌کنندهٔ در دسترس است. نام "name" هم با "name" و هم با "name.{INSTANCE}" مطابقت دارد. علاوه بر این، نام "%any" با هر پخش‌کننده‌ای مطابقت دارد.
--no-messages
بی‌صدا کردن برخی از پیام‌های عیب‌یابی و خطا.
, --version
چاپ شماره نسخه و سپس خروج.

دستورها به شرح زیر هستند:

دریافت وضعیت جاری پخش‌کننده.
دستور به پخش‌کننده برای پخش.
دستور به پخش‌کننده برای مکث.
دستور به پخش‌کننده برای جابه‌جایی متناوب میان پخش و مکث.
دستور به پخش‌کننده برای توقف.
دستور به پخش‌کننده برای رفتن به قطعهٔ بعدی.
دستور به پخش‌کننده برای رفتن به قطعهٔ قبلی.
[OFFSET[+|-]]
چاپ موقعیت قطعهٔ جاری بر حسب ثانیه. در صورت مشخص شدن OFFSET ، موقعیت به OFFSET ثانیه از آغاز قطعهٔ جاری تغییر می‌یابد. با افزودن آرگومان اختیاری [+|-] به انتهای آن، موقعیت به اندازهٔ OFFSET ثانیه نسبت به موقعیت جاری به جلو یا عقب جابه‌جا می‌شود.
[LEVEL[+|-]]
چاپ میزان صدای پخش‌کننده در مقیاس 0.0 (0%) تا 1.0 (100%). در صورت مشخص شدن LEVEL ، میزان صدای پخش‌کننده روی LEVEL تنظیم می‌شود. با افزودن آرگومان اختیاری [+|-] به انتهای آن، میزان صدای پخش‌کننده به اندازهٔ LEVEL افزایش یا کاهش می‌یابد.
[KEY]
چاپ تمام مشخصه‌های متاداده برای قطعهٔ جاری که توسط پخش‌کنندهٔ کنونی تعیین شده‌اند. اگر KEY مشخص شده باشد، تنها مقدار KEY چاپ می‌شود.
URI
باز کردن URI در پخش‌کننده. URI می‌تواند نام یک فایل یا یک URL خارجی باشد.
[On | Off | Toggle]
چاپ وضعیت پخش تصادفی (shuffle) پخش‌کننده. در صورت مشخص کردن وضعیت، وضعیت پخش تصادفی روی یکی از مقادیر On ، Off یا Toggle تنظیم می‌شود.
[None | Track | Playlist]
چاپ وضعیت تکرار (loop) پخش‌کننده. در صورت مشخص کردن وضعیت، وضعیت تکرار روی None (غیرفعال کردن تکرار ،) Track (تکرار قطعهٔ جاری ،) یا Playlist (تکرار فهرست پخش جاری) تنظیم می‌شود. خروجی دستورهای position ، metadata ، status و volume را می‌توان با استفاده از یک رشته قالب‌بندی کنترل کرد. متغیرهای مقداردهی‌شده توسط این دستورها را می‌توان با قرار دادن درون آکولاد در رشته قالب گنجاند: ‘{{var}}’. سپس این متغیرها در خروجی بسط خواهند یافت.

هر دستور به متغیرهای زیر دسترسی دارد:

playerName
نام پخش‌کننده کنونی.
position
موقعیت زمانی قطعه کنونی، بر حسب میکروثانیه.
status
وضعیت پخش‌کننده کنونی.
volume
میزان صدای پخش‌کننده، مقیاس‌بندی‌شده از 0.0 (0%) تا 1.0 (100%).

هر یک از ویژگی‌های فهرست‌شده در دستور metadata نیز به عنوان متغیر مقداردهی می‌شوند. توصیه می‌شود این فهرست برای هر پخش‌کننده بررسی شود، زیرا ممکن است پخش‌کننده‌های مختلف ویژگی‌های یکسانی را تنظیم نکنند. برای مشاهده فهرستی از تمام ویژگی‌ها در مشخصات MPRIS، به MPRIS v2 metadata guidelines مراجعه کنید. رایج‌ترین ویژگی‌ها به شرح زیرند:

album, xesam:album
آلبوم قطعه کنونی.
artist, xesam:artist
هنرمند قطعه کنونی.
title, xesam:title
عنوان قطعه کنونی.

توابع کمکی نیز برای تبدیل متغیرهای بسط‌یافته به دیگر نمایش‌ها در دسترس هستند. آن‌ها به صورت ‘{{(var)}}’ فراخوانی می‌شوند. توابع کمکی به شرح زیر هستند:

(str)
تبدیل رشته str به حروف کوچک.
(str)
تبدیل رشته str به حروف بزرگ.
(str)
گریز دادن (escape) نویسه‌های XML در رشته str.
(str1, str2)
چاپ str1 در صورت تنظیم بودن، وگرنه چاپ str2.
(time)
قالب‌بندی مجدد برچسب زمانی میکروثانیه‌ای time به شکل ‘hh:mm:ss’. تنها با position یا mpris:length قابل فراخوانی است.
(key)
تلاش برای تبدیل مقدار key به یک ایموجی متناظر. در حال حاضر برای status و volume پیاده‌سازی شده است.
(str, len)
کوتاه کردن str تا حداکثر len نویسه، با افزودن علامت سه‌نقطه (…) در صورت لزوم.

زبان قالب‌بندی همچنین قادر به انجام محاسبات پایه‌ای ریاضی است.

ارجاع به توابع ناشناخته باعث خروج playerctl همراه با خطا خواهد شد. ارجاع به متغیرهای ناشناخته به رشته‌های خالی بسط داده می‌شود. متنی که درون آکولاد قرار نگرفته باشد، عیناً چاپ خواهد شد..Sh "وضعیت خروج (EXIT STATUS)"
The playerctl utility exits 0 on success, and >0 if an error occurs.

نمایش نام پخش‌کننده، وضعیت پخش با حروف کوچک، و موقعیت زمانی و مدت‌زمان در قالبی خوانا برای انسان:

$ playerctl metadata --format '{{playerName}}: {{lc(status)}} '\
'{{duration(position)}}|{{duration(mpris:length)}}'

MPRIS v2 metadata guidelines, freedesktop.org, https://freedesktop.org/wiki/Specifications/mpris-spec/metadata, 18 سپتامبر 2013.

صفحه اصلی playerctl, مستندات API دستور playerctl, انقیادهای زبانی GObject introspection

ابزار playerctl توسط Tony Crisci <tony@dubstepdish.com> نگهداری می‌شود و تحت مجوز GNU Lesser General Public License 3.0 در دسترس قرار گرفته است.

این مرجع توسط Nick Morrott <knowledgejunkie@gmail.com> برای پروژه Debian GNU/Linux نوشته شده است. این راهنما بعداً توسط Stephen Gregoratto <dev@sgregoratto.me> به‌روزرسانی و گسترش یافت.

September 21, 2021 Linux 6.12.113+deb13-amd64