NCMPC(1) ncmpc NCMPC(1)

ncmpc - کلاینت کنسولی و متنی برای دیمن پخش موسیقی (MPD)

نرم‌افزار ncmpc یک کلاینت خط فرمانی و متنی برای دیمن پخش‌کننده موسیقی http://www.musicpd.org (MPD) است.

به‌طور پیش‌فرض، ncmpc به نمونه محلی MPD متصل می‌شود. با استفاده از گزینه‌های خط فرمان --host و --port، یا با تنظیم متغیرهای محیطی MPD_HOST و MPD_PORT می‌توان نمونه دیگری از MPD را انتخاب کرد:

ncmpc --host=musicserver --port=44000

می‌توانید با قرار دادن نام میزبان روی یک مسیر فایل (مانند «/run/mpd/socket») به یک سوکت محلی متصل شوید. سوکت‌های انتزاعی را می‌توان با پیشوند «@» به کار برد (مانند «@mpd»).

برای استفاده از گذرواژه با MPD، مقدار MPD_HOST را روی password@host قرار دهید یا از گزینه خط فرمان --password استفاده کنید. مقادیر واردشده در خط فرمان بر مقادیر متغیرهای محیطی اولویت دارند.

ncmpc [options]

-?, --help
نمایش راهنما.
نمایش اطلاعات نسخه و پیکربندی زمان ساخت.
فعال‌سازی رنگ‌ها.
غیرفعال‌سازی رنگ‌ها.
فعال‌سازی ماوس.
میزبان MPD برای اتصال.
درگاه برای اتصال.
استفاده از گذرواژه هنگام اتصال.
خواندن پیکربندی از فایل.
خواندن کلیدهای میانبر از فایل.

هنگامی که ncmpc اجرا می‌شود، تلاش می‌کند فایل پیکربندی کاربر را از مسیر $XDG_CONFIG_HOME/ncmpc/config (معمولاً ~/.config/ncmpc/config) بخواند. اگر فایل پیکربندی کاربر یافت نشود، ncmpc تلاش می‌کند تنظیمات سراسری را از $SYSCONFDIR/ncmpc/config بارگیری کند (مسیر دقیق در خروجی گزینه --version نمایش داده می‌شود). یک فایل پیکربندی نمونه (config.sample) همراه با ncmpc ارائه شده است.

host = HOST - میزبان MPD برای اتصال.

port = PORT - درگاه برای اتصال.

password = PASSWORD - استفاده از گذرواژه هنگام اتصال.

timeout = TIMEOUT - تلاش برای اتصال مجدد به mpd در صورتی که پاسخ یک دستور ظرف TIMEOUT ثانیه دریافت نشود. تعیین یک مقدار در فایل پیکربندی، متغیر محیطی «MPD_TIMEOUT» را لغو می‌کند. اگر هیچ مهلت زمانی در فایل پیکربندی یا متغیر محیطی مشخص نشده باشد، مقدار پیش‌فرض ۵ ثانیه خواهد بود.

show-title-bar = yes|no - مقدار «no» امکان پنهان کردن نوار عنوان را فراهم می‌کند.

show-server-address = yes|no - مقدار «yes» آدرس سرور را در نوار عنوان نمایش می‌دهد. این گزینه به‌طور پیش‌فرض غیرفعال است زیرا بیشتر کاربران تنها از یک نمونه MPD استفاده می‌کنند.

enable-mouse = yes|no - فعال‌سازی پشتیبانی از ماوس (در صورت فعال بودن در زمان کامپایل).

screen-list = SCREEN1 SCREEN2... - فهرستی از صفحه‌ها برای جابه‌جایی چرخشی هنگام استفاده از دستورات screen-next (به‌طور پیش‌فرض مقید به «Tab») و screen-prev («Shift+Tab»). گزینه‌های معتبر در صورت فعال بودن در زمان کامپایل عبارتند از:

help, playlist, browse, library, search, lyrics, outputs, chat, song, keydef

مقدار پیش‌فرض playlist browser است، به این معنی که کلید «Tab» تنها بین این دو صفحه جابه‌جا می‌شود.

library-page-tags = TAG1 TAG2 ... - فهرستی از برچسب‌ها برای گروه‌بندی صفحه کتابخانه. مقدار پیش‌فرض artist album است.

search-mode = MODE - حالت پیش‌فرض جستجو در صفحه جستجو. مقدار MODE باید یکی از موارد title، artist، album، filename، و artist+title یا یک اندیس عددی (0 برای title، 1 برای artist و غیره) باشد.

auto-center = yes|no - فعال/غیرفعال کردن حالت مرکزیت خودکار. هنگامی که این حالت فعال باشد، ncmpc ترک جاری را در پنجره فهرست پخش در مرکز قرار می‌دهد.

scroll-offset = NUM - در صورت امکان، حداقل NUM خط در بالا و پایین مکان‌نما در پنجره‌های فهرست حفظ شود.

find-show-last = yes|no - نمایش آخرین عبارت جستجو به جای یک خط خالی برای جستجو.

find-wrap = yes|no - حالت جستجوی چرخشی و حلقه‌ای.

wrap-around = yes|no - حرکت چرخشی مکان‌نما.

bell-on-wrap = yes|no - به صدا درآوردن زنگ هنگام چرخش جستجو به ابتدا.

audible-bell = yes|no - به صدا درآوردن زنگ صوتی برای هشدارها.

visible-bell = yes|no - نمایش هشدار بصری برای هشدارها.

crossfade-time = CROSSFADE TIME - مدت‌زمان پیش‌فرض ادغام آهنگ‌ها (crossfade) به ثانیه.

seek-time = NUM - پرش به جلو/عقب به میزان NUM ثانیه.

lyrics-timeout = NUM - در صورتی که NUM بزرگتر از صفر باشد، دانلود متن ترانه پس از اتمام مهلت زمانی NUM ثانیه متوقف می‌شود.

jump-prefix-only = yes|no - هنگام استفاده از دستور پرش (jump)، جستجو تنها بر روی پیشوند ورودی انجام گیرد؛ به این معنا که فشردن «m» روی اولین ورودی که با «m» آغاز می‌شود قرار می‌گیرد.

lyrics-autosave = yes|no - ذخیره خودکار متن ترانه پس از دریافت آن.

lyrics-show-plugin = yes|no - نمایش نام افزونه استفاده‌شده برای دریافت متن ترانه در صفحه متن ترانه‌ها.

text-editor = EDITOR - ویرایشگر متنی مورد استفاده برای ویرایش متن ترانه‌ها.

chat-prefix = PREFIX - قرار دادن پیشوند PREFIX در ابتدای پیام‌های ارسال‌شده در صفحه گفتگو. به‌طور پیش‌فرض نام کاربری جاری محصور در < و > و یک فاصله به عنوان پیشوند قرار می‌گیرد (مانند «<name> »).

second-column = yes|no - نمایش مدت‌زمان آهنگ در یک ستون دوم.

welcome-screen-list = yes|no - نمایش فهرستی از صفحه‌ها در خط بالا.

wide-cursor = yes|no - عریض کردن مکان‌نما به پهنای کل صفحه نمایش.

hardware-cursor = yes|no - استفاده از مکان‌نمای سخت‌افزاری ترمینال به جای رنگ‌های معکوس.

hide-cursor = NUM - پنهان کردن مکان‌نمای فهرست پخش پس از NUM ثانیه عدم فعالیت.

scroll = yes|no - پیمایش افقی عنوان در صورتی که برای صفحه نمایش بیش از حد طولانی باشد.

scroll-sep = STRING - جداکننده‌ای که در انتهای عنوان در حال پیمایش نمایش داده می‌شود.

list-format = SONG FORMAT - قالب مورد استفاده برای نمایش آهنگ‌ها در پنجره اصلی.

search-format = SONG FORMAT - قالب مورد استفاده برای نمایش آهنگ‌ها در پنجره جستجو. حالت پیش‌فرض استفاده از list-format است.

status-format = SONG FORMAT - قالب مورد استفاده برای نمایش آهنگ‌ها در خط وضعیت.

status-message-time = TIME - مدت‌زمان به ثانیه که پیام‌های وضعیت نمایش داده می‌شوند.

display-time = yes|no - نمایش زمان در نوار وضعیت در هنگام بی‌کاری.

timedisplay-type = elapsed|remaining|none - تعیین نمایش زمان سپری‌شده یا زمان باقی‌مانده در پنجره وضعیت. مقدار پیش‌فرض elapsed (سپری‌شده) است. گزینه none زمان را اصلاً نشان نمی‌دهد.

visible-bitrate = yes|no - نمایش نرخ بیت (bitrate) در نوار وضعیت هنگام پخش یک جریان اینترنتی (stream).

set-xterm-title = yes|no - تغییر عنوان پنجره ترمینال XTerm (برنامه ncmpc عنوان قبلی را بازنمی‌گرداند).

xterm-title-format = SONG FORMAT - قالب مورد استفاده برای عنوان پنجره xterm هنگام پخش آهنگ توسط ncmpc.

enable-colors = yes|no - فعال/غیرفعال‌سازی رنگ‌ها. مقدار پیش‌فرض yes است.

رنگ‌های مورد استفاده در ncmpc قابل شخصی‌سازی هستند. از دستورالعمل color می‌توان برای تغییر نحوه نمایش یک سبک خاص استفاده کرد. این دستورالعمل می‌تواند شامل یک رنگ متن و ویژگی‌ها (attributes) باشد. رنگ‌های استاندارد زیر را می‌توان با نام مشخص کرد (مرجع رسمی https://invisible-island.net/ncurses/man/curs_color.3x.html):

black, red, green, yellow, blue, magenta, cyan, white

مثال:

color list = cyan

ترمینال‌های امروزی تا ۲۵۶ رنگ را پشتیبانی می‌کنند، اما این رنگ‌ها استانداردسازی نشده‌اند. می‌توانید آن‌ها را با مشخص کردن شماره رنگ انتخاب کنید. مثال:

color title = 42

رنگ پس‌زمینه را می‌توان پس از رنگ متن با یک اسلش جدا کرد و تعیین نمود. در صورتی که مایلید فقط رنگ پس‌زمینه را تغییر دهید، می‌توانید از تعیین رنگ متن صرف‌نظر کنید:

color title = white/blue
color title = /blue

رنگ none از رنگ پیش‌فرض ترمینال استفاده می‌کند.

از ویژگی‌ها (attributes) می‌توان برای تغییر ظاهر قلم استفاده کرد. ویژگی‌های زیر را می‌توان مشخص کرد (مرجع رسمی https://invisible-island.net/ncurses/man/curs_attr.3x.html)، اگرچه بسیاری از آن‌ها در تمام ترمینال‌های رایج پشتیبانی نمی‌شوند:

standout, underline, reverse, blink, dim, bold

مثال:

color alert = red blink

color background = COLOR - تنظیم رنگ پس‌زمینه پیش‌فرض.

color title = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن و ویژگی‌ها برای ردیف عنوان، که نام صفحه‌ها را نمایش می‌دهد.

color title-bold = COLOR[,ATTRIBUTE]... - مانند title، اما به بخش‌های تأکیدشده در ردیف عنوان اشاره دارد، یعنی کلیدهای میانبر برای رفتن به یک صفحه مشخص.

color line = COLOR - تنظیم رنگ خط در ردیف دوم.

color line-flags = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نشان دادن فلگ‌های mpd در ردیف دوم.

color list = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن در ناحیه اصلی ncmpc.

color list-bold = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن پررنگ (bold) در ناحیه اصلی ncmpc.

color browser-directory = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش پوشه‌ها (دایرکتوری‌ها) در پنجره مرورگر.

color browser-playlist = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش فهرست‌های پخش در پنجره مرورگر.

color progressbar = COLOR[,ATTRIBUTE]... - تنظیم رنگ نشانگر نوار پیشرفت.

color progressbar-background = COLOR[,ATTRIBUTE]... - تنظیم رنگ پس‌زمینه نشانگر نوار پیشرفت.

color status-state = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش وضعیت mpd در پنجره وضعیت.

color status-song = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش نام آهنگ‌ها در پنجره وضعیت.

color status-time = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش زمان در پنجره وضعیت.

color alert = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن مورد استفاده برای نمایش هشدارها در پنجره وضعیت.

color input = COLOR[,ATTRIBUTE]... - تنظیم رنگ متن برای کنترل‌های ورودی متن.

colordef COLOR = R, G, B - تعریف مجدد هر یک از رنگ‌های پایه. مقادیر RGB باید مقادیر عددی صحیح بین 0 تا 1000 باشند. توجه: تنها برخی ترمینال‌ها اجازه تعریف مجدد رنگ‌ها را می‌دهند!

هنگامی که ncmpc آغاز به کار می‌کند، تلاش می‌کند تا کلیدهای میانبر تعریف‌شده توسط کاربر را از فایل $XDG_CONFIG_HOME/ncmpc/keys (معمولاً ~/.config/ncmpc/keys) بخواند. اگر هیچ کلید تعریف‌شده‌ای توسط کاربر یافت نشود، ncmpc سعی می‌کند کلیدهای میانبر سراسری را از $SYSCONFDIR/ncmpc/keys بارگیری کند (مسیر دقیق در صفحه راهنما نمایش داده شده است).

شما می‌توانید کلیدهای میانبر ncmpc را با فشردن کلید «1» (راهنما) در زمان اجرای ncmpc مشاهده کنید. برای ویرایش کلیدهای میانبر، کلید «K» را فشار دهید و از ویرایشگر کلیدها درون ncmpc استفاده نمایید.

قالب نمایش آهنگ برای وضعیت و پنجره فهرست. جداکننده‌های فراداده عبارتند از: %artist%، %albumartist%، %composer%، %performer%، %title%، %album%، %shortalbum%، %track%، %disc%، %genre%، %name%، %time%، %date%، %file%، %shortfile%.

عملگرهای [] برای گروه‌بندی خروجی استفاده می‌شوند، به طوری که اگر هیچ‌یک از جداکننده‌های فراداده بین [ و ] منطبق نشوند، هیچ‌یک از نویسه‌های بین [ و ] در خروجی ظاهر نمی‌شوند؛ متن‌های لفظی همیشه خروجی داده می‌شوند. & و | عملگرهای منطقی برای و و یا هستند. نویسه # برای گریز دادن (escape) نویسه‌ها استفاده می‌شود.

چند مثال کاربردی برای قالب عبارتند از:

"%file%"

و:

"[[%artist% - ]%title%]|%file%"

نمونه دیگر:

"[%artist%|(artist n/a)] - [%title%|(title n/a)]"

به عنوان یک قابلیت آزمایشی، صف پخش می‌تواند به صورت جدول نمایش داده شود. توجه داشته باشید که این ویژگی کاملاً تجربی است و ممکن است نسخه‌های بعدی تغییراتی ناسازگار ایجاد کنند.

برای پیکربندی این قابلیت، ستون‌ها را به فایل پیکربندی اضافه کنید، مانند:

song-table-column = "Artist" "%artist%|%name%|%file%" min=20 fraction=2
song-table-column = "Title" "%title%" min=20 fraction=2
song-table-column = "Album" "%album%" min=10 fraction=1
song-table-column = "Time" "%time%" min=8 fraction=0

هر ستون دارای یک عنوان (caption)، یک رشته قالب که مشخص می‌کند چه چیزی نمایش داده شود، یک حداقل عرض (بر حسب خانه‌های ترمینال) و یک کسر (fraction) است که نشان می‌دهد چه مقدار از عرض اضافی به این ستون اختصاص داده خواهد شد.

در مثال فوق، ستون «Time» عرض ثابت ۸ خواهد داشت زیرا fraction=0 است.

اگر ncmpc با پشتیبانی از «chat» کامپایل شده باشد، از پروتکل کلاینت‌به‌کلاینت موجود در MPD نسخه 0.17 یا بالاتر برای ارتباط با سایر کلاینت‌ها استفاده می‌کند. به منظور دریافت پیام‌ها، در کانالی به نام «chat» عضو می‌شود و هر پیامی که به آنجا ارسال شود را همان‌گونه که هست نمایش می‌دهد. هنگامی که کاربر پیامی وارد می‌کند، ابتدا پیشوند مشخص‌شده توسط گزینه chat-prefix (یا پیشوند پیش‌فرض) به آن اضافه می‌شود، و سپس به کانال «chat» ارسال می‌گردد تا دیگران آن را بخوانند.

گزارش اشکالات در: https://github.com/MusicPlayerDaemon/ncmpc/issues

نکته ---

از آنجا که MPD از UTF-8 استفاده می‌کند، ncmpc نیاز دارد تا نویسه‌ها را به مجموعه نویسه‌های مورد استفاده سیستم محلی تبدیل کند. اگر در حین اجرای ncmpc خطاهای تبدیل نویسه دریافت کردید، احتمالاً باید متغیر محلی (locale) خود را تنظیم کنید. این کار با تنظیم هر یک از متغیرهای محیطی LC_CTYPE، LANG یا LC_ALL انجام می‌شود (متغیر LC_CTYPE تنها بر پردازش نویسه‌ها اثر می‌گذارد).

mpd(1), mpc(1), locale(5), locale(7)

Max Kellermann

Copyright 2004-2021 The Music Player Daemon Project

August 25, 2026 0.54