Пропустить навигацию.
Главная

XMMS2 - консольный аудио плеер

Аватар пользователя helios

Написано для сайта http://lnx.su/.
Ссылка на оригинал.

Вступление.
Давным давно, когда у Гейтса ещё не горели уши от вспоминавших его "фанатов", когда пингвинами называли только птиц с северного полюса... в подземелиях Xerox появился новый мир! Он был похож на старый, но в нём не надо было знать хитроумных "заклинаний", в нём могли существовать обычные люди, он открыл компьютерный мир внешнему миру...

Но оставались и "староверы", которые не хотели использовать для призыва приложений нечистого зверя "мышь". Они продолжали пользоваться старым, проверенным артефактом "клавиатура" для выполнения своих задач. Они читали "заклинания", чем приводили очевидцев в изумление... В конце концов 2 мира отгородились друг от друга, и лишь некоторые программки связывали один с другим...

Суть
Многие из нас знают популярные аудио плееры, например, winamp, RhythmBox, Banshe и т.д. Сегодня я хочу представить плеер, расчитанный на работу в консоли: XMMS2.
Он имеет серверную часть и клиентскую. Для запуска сервера нужно призвать его из консоли:

root@lnx:~# xmms2d
PLEASE DON'T RUN XMMS2D AS ROOT!
 
(if you really must, read the help)

И если бы я не имел привычки сидеть под рутом, что всё бы запустилось, но тут - "фигвам". Чтобы убетить, xmms2d в том, что мы уверены, что "нам оно надо", запускаем xmms2d со спец. ключиком:

root@lnx:~# xmms2d --yes-run-as-root
***************************************
Warning! You are running XMMS2D as root, this is a bad idea!
But I'll allow it since you asked nicely.
***************************************
 
INFO: ../src/xmms/log.c:36: Initialized logging system :)
INFO: ../src/xmms/ipc.c:950: IPC listening on 'unix:///tmp/xmms-ipc-root'.
INFO: ../src/xmms/main.c:507: Using output plugin: alsa

Нам говорят, что мы не правы, но всё же демон запускается. И забирает с собой терминал (теперь нам ничего не ввести...). Для того, чтобы умерить его аппетит ставим значёк & в конце вызова.
Он выплёвывает свой PID и отдаёт нам консоль(но будет выплёвывать сюда информацию а ля "новая песенка!"). Поэтому, изменяем до
root@lnx:~# xmms2d --yes-run-as-root > /dev/null &
Чтобы он выводил всё в "ничто"...
Теперь, кстати, можно закрыть и консоль, от куда он был вызван, и он не умрёт.

Итак, демон весит, теперь будем его "напрягать": посылать ему команды. Во-первых, хорошо бы ему закинуть директорию, из которой ему брать песни:
root@lnx:~# xmms2 radd file:///home/muzlo/ДДТ/
Теперь в нашем плей-листе весят по-порядку все песни из папки /home/muzlo/ДДТ/. Любителям слушать песни вразброс:
root@lnx:~# xmms2 shuffle
Глянуть список можно позвав всё тот же xmms2, но уже с параметром "list". Ну и так далее: play, next, prev.
Для того, чтобы увидеть все возможные команды можно просто набрать xmms2:

root@lnx:~# xmms2
Available commands:
add - adds a URL to the playlist
addarg - adds one URL with arguments to the playlist
addid - adds a Medialib id to the playlist
insert - inserts one URL at a specific position
insertid - inserts one Medialib id at a specific position
radd - adds a directory recursively to the playlist
clear - clears the playlist
shuffle - shuffles the playlist
sort - sort the playlist; use a space delimiter for multiple properties
remove - removes something from the playlist
list - lists the playlist
addpls - Adds the contents of a playlist file to the playlist
play - starts playback
stop - stops playback
toggleplay - toggles playback status between play/pause
pause - pause playback
next - play next song
prev - play previous song
seek - seek to a specific place in current song
jump - take a leap in the playlist
move - move a entry in the playlist
volume - set volume for a channel
volume_list - list volume levels for each channel
mlib - medialib manipulation - type 'xmms2 mlib' for more extensive help
playlist - playlist manipulation - type 'xmms2 playlist' for more extensive help
coll - collection manipulation - type 'xmms2 coll' for more extensive help
browse - browse server file lists
status - go into status mode
info - information about current entry
current - formatted information about the current entry
config - set a config value
config_list - list all config values
plugin_list - list all plugins loaded in the server
stats - get statistics from server
quit - make the server quit
help - print help about a command

Просто, как кирпич!
Очевидно, что на такой простой протокол легко натянуть какую-нибуть оболочку... Как следствие существует куча и графических клиентов: Abraca, AlbumThing, Azrael, Blastwave, bluegroove, Camio, Esperanza. Можно использовать их...

Напоследок, ещё одна "феничка": можно добавить в файл /etc/rc.local строчки

xmms2d --yes-run-as-root > /dev/null &
sleep 1;
xmms2 play

И мы получаем при запуске системы сразу и запущенный плеер, причём с той песни, на которой и остановился. Мелочь, но приятно... Кстати, при выключении музыка будет играть почти до конца...

Re: XMMS2 - консольный аудио плеер

Здорово конечно. Но имхо MOCP поудобнее будет.

Re: XMMS2 - консольный аудио плеер

Вы не в курсе, случайно, AlbumThing с xmms2 0.5 работает? Просто ставил уже Abraca, отказывается добавлять файлы, говорят, из-за изменений в api ((

Re: XMMS2 - консольный аудио плеер

Хм... я с GUI не пользовал XMMS2, но, думаю, если разаработка не прекратилась - должно работать. http://ru.wikipedia.org/wiki/XMMS2 - пишут, что разработка идёт...