XMMS2 - по сути инструмент для создания медиапроигрывателя из чего придётся. Но если вы достаточно брутальны и красноглазы, чтобы с ним можно работать из консоли, то можно получить очень легковесный и функциональный плейэр. Итак, он состоит из 2-х частей:
На Debian устанавливается как обычно: не просто, а очень просто:
# apt-get install xmms2
Занимается тем, что висит деменом и принимает запросы от клиента. Собственно он и работает с аудио-системой, кодеками и всем, что необходимо для проигрывания. Запускается так:
$ xmms2d INFO: ../src/xmms/log.c:36: Initialized logging system :) INFO: ../src/xmms/ipc.c:950: IPC listening on 'unix:///tmp/xmms-ipc-r-asian'. INFO: ../src/xmms/main.c:507: Using output plugin: alsa
При запуске выводит
Его конфиг лежит в ~/.config/xmms2/xmms2.conf, и там XML. Там же лежит его SQLIte БД с плэйлистами ~/.config/xmms2/medialib.db
В конфиге есть следующие секции
<section name="alsa"/> <section name="bindata"/> <section name="converter"/> <section name="core"/> <section name="diskwrite"/> <section name="effect"/> <section name="equalizer"/> <section name="file"/> <section name="id3v2"/> <section name="mad"/> <section name="magic"/> <section name="medialib"/> <section name="nulstripper"/> <section name="output"/> <section name="playlist"/> <section name="replaygain"/> <section name="segment"/> <section name="vorbis"/> <section name="wave"/>
Настроить есть что. Я пока ограничусь тем, что изменю адрес сокета для подключения клиентов на такой tcp:127.0.0.1:9667. Если указать вместо 127.0.0.1 IP сетевой карты, то можно подключаться и удалённо. <code xml> <section name=«core»> <property name=«ipcsocket»>tcp:127.0.0.1:9667</property>
<property name="shutdownpath">/home/r-asian/.config/xmms2/shutdown.d</property>
<property name="startuppath">/home/r-asian/.config/xmms2/startup.d</property>
</section>
</code>
Запускаем сервер
$ xmms2d INFO: ../src/xmms/log.c:36: Initialized logging system :) INFO: ../src/xmms/ipc.c:950: IPC listening on 'tcp://127.0.0.1:9667'. INFO: ../src/xmms/main.c:507: Using output plugin: alsa
Прописываем конфиг клиента в ~/.config/xmms2/clients/cli.conf
$ cat cli.conf
ipcpath=tcp://127.0.0.1:9667
statusformat=${artist} - ${title}
listformat=${artist} - ${title} (${minutes}:${seconds})
autostart=true
И посылаем уже запущенному на порту 9667 серверу команду на вывод текущего плэйлиста.
$ xmms2 list Total playtime: 0:00:00
Плэйлист пуст.
Полный список команд, которые умеет посылать консольный клиент можно получить просто набрав xmms2 без параметров
$ 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
Ну и плюсом можно получить море информации из всеми любимых манов
man xmms2
Создать плэйлист с названием picnic-favorites
$ xmms2 playlist create picnic-favorites
Просмотреть список плэйлистов
$ xmms2 playlist list picnic-favorites ->Default
Как мы видим, наш лист создался, но активным является Default
Создадим ещё один плэйлист и посмотрим как наполняется их список
$ xmms2 playlist create aria-favorites $ xmms2 playlist list picnic-favorites aria-favorites ->Default
Удалить ненужный плэйлист
$ xmms2 playlist remove aria-favorites Playlist removed
Сделать активным плэйлист
$ xmms2 playlist load picnic-favorites
Посмотрим список плэйлистов. picnic-favorites стал активным
$ xmms2 playlist list ->picnic-favorites Default
Добавить в активный плэйлист композицию
$ xmms2 add picnic-favorites //mnt/storage2/storage/music/copy/picnic/Piknik\,\ Sekta\ Mo-Afrodita\ iz\ peny\ i\ schelochi.mp3 Added //mnt/storage2/storage/music/copy/picnic/Piknik, Sekta Mo-Afrodita iz peny i schelochi.mp3
И ещё парочку
$ xmms2 add picnic-favorites //mnt/storage2/storage/music/copy/picnic/Piknik-Nastojaschie\ dni.mp3 Added //mnt/storage2/storage/music/copy/picnic/Piknik-Nastojaschie dni.mp3 $ xmms2 add picnic-favorites //mnt/storage2/storage/music/copy/picnic/Piknik-Navuhodonosor.mp3 Added //mnt/storage2/storage/music/copy/picnic/Piknik-Navuhodonosor.mp3 $ xmms2 add picnic-favorites //mnt/storage2/storage/music/copy/picnic/Piknik\,\ Sekta\ Mo-Bud-\ navsegda.mp3 Added //mnt/storage2/storage/music/copy/picnic/Piknik, Sekta Mo-Bud- navsegda.mp3 $ xmms2 add picnic-favorites //mnt/storage2/storage/music/copy/picnic/Piknik-Lico.mp3 Added //mnt/storage2/storage/music/copy/picnic/Piknik-Lico.mp3
Просмотреть список композиций текущего плэйлиста
$ xmms2 list ->[0/216] Ïèêíèê & Ñåêòà Ìî - Àôðîäèòà èç ïåíû è ùåëî÷è [1/217] Ïèêíèê - Íàñòîÿùèå äíè (04:11) [2/218] Ïèêíèê - Íàâóõîäîíîñîð (05:37) [3/219] - Piknik, Sekta Mo-Bud- navsegda (07:29) [4/220] Ïèêíèê - Ëèöî (03:58)
Total playtime: 0:25:45
К сожалению на данный момент у меня с настройками консоли и тегами в mp3-файлах всё печально
Удалить композицию из плэйлиста
$ xmms2 remove 4
Убедимся что удалилась
$ xmms2 list ->[0/216] Ïèêíèê & Ñåêòà Ìî - Àôðîäèòà èç ïåíû è ùåëî÷è [1/217] Ïèêíèê - Íàñòîÿùèå äíè (04:11) [2/218] Ïèêíèê - Íàâóõîäîíîñîð (05:37) [3/219] - Piknik, Sekta Mo-Bud- navsegda (07:29)
Запустить проигрывание плэйлиста
$xmms2 play
Таким же образом оперируем со stop, pause, prev, next