Cmus - консольный музыкальный плеер с vim like управлением
Не так давно, я внезапно понял, что mpd для меня огромен. И правда зачем мне музыкальный демон, когда я музыку слушаю довольно редко? Посмотрел сначала mocp, но мне не понравился его mc like интерфейс, да и я слишком привык к vim like управлению. В ncmpcpp с этим было проще, там хотя бы j\k работали. Единственный плеер который уподоблял моим нуждам - это cmus. К слову сказать, плеер этот прекрасен! Кроме vim like управления, cmus ещё крайне быстр и хорошо настраиваемый.
Что меня крайне удивило, так это малое количество русской документации по cmus. Есть лишь куча упоминаний о том что такое есть, и оно вот такое вот. Не более. Вот собственно поэтому, я и решил написать про него.
Cmus имеет семь режимов(окон, как будет удобнее) переключение между которыми осуществляется с помощью цифр 1,2,3,4,5,6 и 7. Нет, тут не режимы как в vim. Тут несколько другое (картинки кликабельны):
1. Музыкальная библиотека
Режим просмотра вашей фонотеки. Перемещение привычными vim like «хоткеями». Добавляется музыка в библиотеку командой :add
. Например так:
:add /home/username/music
Перемещение между директорией и её содержимым с помощью кнопки tab. Посмотреть альбомы исполнителя (если их несколько) - пробел (space). Обновить фонотеку - u
. Так же, неплохо сохранять содержимое медиатеки в файл, дабы каждый раз cmus не сканировал её снова:
:save -l
2. Сортированная музыкальная библиотека
По умолчанию это просто список всех песен из библиотеки только отсортированный по авторам и альбомам. В этом режиме можно применять различные фильтры для сортировки.
3. Плэйлист
Думаю, здесь всё понятно без лишних объяснений. Одно лишь дополнение: если в play queue есть треки, то они проиграются первыми.
Плэйлист можно так же сохранять:
:save -p ~/playlist.pls
И соответственно загружать:
:load -p ~/playlist.pls
4. Очередь воспроизведения.
Сюда добавляются треки для одноразового прослушивания так сказать. После того, как трек начался, он сразу же удаляется из этого списка. Воспроизводиться всегда в первую очередь именно play queue. Например если слушали музыку из плэйлиста, и добавили в play queue, то cmus после того, как закончит играть трек из библиотеки, начнёт играть содержимое play queue. Когда содержимое play queue закончится, cmus продолжит играть из плэйлиста.
5. Файловый браузер
Это то, за что я очень сильно люблю cmus, и чего нет в mpd. Таким образом, удобно слушать подкасты, или песню которую принёс друг на заценить не засоряя при этом свою музыкальную библиотеку.
6. Показ всех имеющихся фильтров.
В этом режиме, cmus показывает все имеющиеся фильтры которые применяются ко второму режиму отображения.
7. Окно настроек cmus'а.
Здесь доступны все опции которые есть в cmus. Редактировать лучше не через конфигурационный файл как многие привыкли, а через его интерфейс. Cmus в процессе работы постоянно зачем-то изменяет файл конфигурации. Так же все опции можно менять через командную строку. Например:
:set passwd=mypassword
Настройки сохраняются «на лету».
Пересказывать ман, я не вижу смысла, поэтому ниже лишь основные команды управления cmus:
- j\k - Вверх\вниз по списку.
- Ctrl-f\Ctrl-b - вперёд\назад на страницу
- g\G - в начало\конец (списка\библиотеки\и т.д. )
- /text - поиск вниз
- ?text - поиск вверх
- n\N - следующий\предыдущий элемент поиска
- h\l - Вперёд\Назад на 10 секунд
- +\-(минус) - Прибавить\убавить громкость на 10%
- s -случайный выбор песен
- r - повторять список
- C - проиграть текущую песню и остановиться
- c - пауза
- x - играть
- b - следующая песня
- z - предыдущая песня
- v - стоп
- y - добавить выделенный трек в плэйлист
- e - добавить выделенный трек в play queue
- p\P - переместить выделенный трек вниз\вверх
- u - сканировать снова директорию с музыкой
- D - удалить выделенный трек из списка
Так же, cmus поддерживает цветовые схемы которые можно менять с помощью команды :colorscheme. Например я использую green-mono-88:
:colorscheme green-mono-88
Можно просто написать :colorscheme
и полистать имеющиеся с помощью кнопки tab. А можно самому сделать свою тему или написать :set color
и дальше с помощью клавиши tab пролистать доступные опции и выбрать подходящие на свой вкус.
Cmus'у можно так же давать команды с помощью cmus-remote. Например:
cmus-remote -p # Играть
cmus-remote -v 60 # Сделать громкость равную 60%
cmus-remote -f file.mp3 # играть файл.
Подробнее cmus-remote --help
.
По мимо всего этого, cmus'ом можно управлять удалённо (привет mpd! ☺). По умолчанию, cmus создаёт socket в /tmp
. Можно указать слушать порт, через который потом можно им управлять.
cmus --listen localhost:1055
А затем с помощью cmus-remote управлять:
cmus-remote --server localhost:1055 --passwd password --play
Кстати, было бы не лишним при этом, установить пароль. Сделать это можно в окне настроек (7), или :set passwd=вашпароль
.
Ещё рекомендую включить softvol дабы не регулировать громкостью cmus'а, громкость PCM. Кстати в cmus делается это лёгким движением руки:
:set softvol=true
Cmus, так же как и mpd умеет скроблинг на lastfm и вывод текущей играющей песни и статуса. Точнее, не сам cmus умеет. Cmus просто может выполнять команду при смене песни\состояния. За это ответственен параметр status_display_program
которой в качестве аргумента передаётся путь до скрипта. Например для скроблинга на lastfm можно использовать вот этот скрипт last-cmus.py. Или для вывода текущего исполнителя и трека во временный файл в /tmp
, можно использовать cmus-status-display.
За всеми остальными, более детальными подробностями: man cmus и man cmus-remote.