![](https://habrastorage.org/files/bc9/25d/32f/bc925d32f8944bacb53386ca4478af54.png)
Как классно работать, слушая при этом музыку! Запустил себе плейлист, он играет, а ты занимаешься своими делами. Но вот незадача — в современных плеерах поголовно начали использоваться библиотеки музыки, без них уже скоро и файл нормально не откроешь, не просканировав до этого весь жесткий диск. Я ведь человек родом из 90х, и у меня есть на жестком папка «Muz.one», у кого-то она «Музыка», «Музычка», у некоторых (не будем показывать пальцами) она «Барахло» или «100% разобрать в этом году». Всё чего я хочу — это зайти в папку с аудиозаписями, запустить файл и наслаждаться музыкой! Мне не нужен комбайн, который «каталогизирует», «синхронизирует» и варит кофе — мне нужен плеер с поддержкой MP3: простой, быстрый и няшный. Поэтому я постарался такой написать для моей любимой операционной системы Колибри.
Обзор существующих приложений
Т.к. самым популярным форматом аудиофайлов является MP3 и большинство музыки на моём компьютере именно в этом формате, давайте посмотрим на существующие аудиоплееры с его поддержкой для Колибри:
- AC97SND — поставляется вместе с дистрибутивом, находится в /rd/1/media/. Название программы связано с тем, что ранее поддерживал только аудиокарты стандарта AC97, сейчас в него добавили также поддержку кодека HD Audio.
Плюсы: поддержка MP3, WAV, XM, имеет плейлист и поддерживает их загрузку в формате M3U, отображается полоса прогресса аудиозаписи, регулировка громкости, зацикливание композиции.
Минусы: компьютер зависает при проигрывании многих аудиозаписей.
- Listplay — это проигрыватель плейлистов (M3U, LAP, ASF) через AC97SND. Пока писал статью, исправил баг в listplay — путь к ac97snd был указан неправильный. Теперь AC97SND запускается при выборе дорожки, но музыка всё равно не играет.
- MiniMP3 — MPEG Audio Layer III decoder, программа не имеющая окна (проигрывает музыку в фоне), также существует в виде библиотеки для проигрывания MP3 файлов. Играет сносно, иногда не может "прожевать" файл и тогда из колонок слышен треск.
![](https://habrastorage.org/files/8ec/96c/f15/8ec96cf15600402da7372a08795874f2.png)
Как видим, аудиоплееров в Колибри мало, и все они имеют свои существенные недостатки. Даже закрывая глаза на то, что Listplay и AC97SND приводят к зависанию системы, их внешний вид плох и нет возможности открыть папку с музыкой: нужно либо открывать по одному файлу, либо иметь готовый плейлист; у MiniMP3 же нет окна в принципе.
Hey, Pixie!
Есть проблема — нужно решение. И вот, спустя неделю разработки, я готов представить миру Pixie (где-то тут зазвучали фанфары, задребезжали трели и с неба посыпались лепестки роз).
![](https://habrastorage.org/files/939/e04/8fa/939e048fa4784f6b88ce005bb4ad7829.png)
- отделение функционала от GUI и возможность полностью сконцентрироваться на разработке плеера (т.е. GUI front-end'a)
- можно подключить любой фоновый проигрыватель аудиофайлов; для разных форматов файлов — разные проигрыватели
- если фоновый процесс проигрывателя нечаянно упадёт, ничего страшного не случится, плеер будет жив здоров и позаботится об этом, открыв следующую песню
Итак, как видим есть очевидные плюсы от такого подхода. Давайте же рассмотрим функционал Pixie.
Окно может быть трёх режимов: обычное, схлопнутое в заголовок и компактное. Из тем на выбор пользователя доступно две: светлая и тёмная, применить их можно нажав F1 или F2 соответственно.
![](https://habrastorage.org/files/486/c40/0a5/486c400a56974ae8a81512cb0cbf89b7.png)
При первом запуске плеер спросит назначить ли его MP3 плеером по умолчанию. В случае отказа, плеер всё равно будет доступен через меню «Открыть с помощью» в файловых менеджерах.
Нажатие правой кнопкой мыши на заголовке, скроет плейлист, а на области списка — покажет небольшую справку.
![](https://habrastorage.org/files/e1c/04f/459/e1c04f4597d74ae3ac5ded763f78002c.png)
На данный момент в проигрывателе нет функции «Открыть файл» или папку, вместо этого вам нужно зайти в папку из файлового менеджера и запустить композицию оттуда. Также нет возможности редактировать список, в версии 1.0 данный функционал не предусмотрен, но обязательно появится в последующих версиях.
Все настройки программы сохраняются после перезапуска программы: положение и тип окна, выбранная тема, После закрытия программы и открытия снова, окно появится в том же месте где и было до закрытия, тип окна и тема сохраняются. Открытая при прошлом запуске папка начнёт проигрываться.
В случае, если файл не смог запуститься корректно, проигрыватель перейдёт к проигрыванию следующей композиции в списке. Когда начинается проигрывание новой песни, отображается соответствующее сообщение.
![](https://habrastorage.org/files/a00/bfa/ab0/a00bfaab0c744c21991407fab2b9a35c.png)
Интересные факты о Pixie:
- первый рабочий прототип программы был написан за один день! В субботу с 9 утра до 2 часов ночи с перерывами на еду. Уже этой версией можно было комфортно пользоваться, последующая же доработка растянулась на полторы недели.
- название происходит не от пикселя, как можно подумать, а от группы Pixies, фанатом которой я давно являюсь. Выходит игра слов "Pixie Player" можно перевести, как участник (гитарист) группы Pixie.
Volume – системный регулятор громкости
Специально для Pixie была написана программа
@Volume
— общесистемный микшер громкости, автор e-andrew(@var-log, то бишь я) (Андрей Краснобаев).Управление: горячие клавиши в системе: Ctrl+Alt+Left (громкость ниже) и Ctrl+Alt+Right (громкость выше), а так же Ctrl+Alt+Home/Down (включение/выключение тишины). При открытом окне громкость так же меняется с помощью Left,PgDown(громкость ниже), Right,PgUp(громкость выше), Up/Down,Home/End (включить/выключить звук).
Возможен запуск с параметрами и взаимодействие с программой через shared memory.
![](https://habrastorage.org/files/0a5/e9a/8cc/0a5e9a8cc7e54e1aae787a3da4e144e4.gif)
Другие программы для работы со звуком
Помимо описанных выше, есть несколько других приложений, которые стоило бы упомянуть.
- FPlay — отличный видеоплеер, основанный на медиа комбайне FFmpeg, потому воспроизводит всё, что только можно: mp3, ogg, mkv, avi, mp4, mpeg, flv, webm, vob, mov и это далеко не полный список. В версии для Колибри реализована поддержка видеофайлов с большим битрейтом, поддержка вертикальной синхронизацией для видеокарт Intel (работает в связке с соответствующим видеодрайвером). Управление клавиатурой: пробел — пауза, Enter — полноэкранный режим.
- MidAmp — позволяет воспроизводить Midi-файлы с помощью встроенного динамика компьютера. Имеет интерфейс и горячие клавиши очень похожие на WinAmp.
Del — удалить выделенные треки;
z — предыдущий трек;
x, Enter, двойной щелчок на файле — воспроизведение;
c, Space — пауза;
v — стоп;
b — следующий трек;
Esc — закрыть программу;
m — включить/выключить звук;
PgUp, PgDn — поменять местами 2 соседних трека;
BackSpace — перемотка трека в начало;
Home/End — увеличить/уменьшить тональность мелодии и проиграть ее с начала (отображается рядом с надписью 'tone'). - CDPlayer — простой проигрыватель музыкальных компакт-дисков (*.cdp), на данный момент морально устарел.
- LibFLAC — порт декодера FLAC 1.3.0. Работает по принципу MiniMP3 — программа не имеет окна, проигрывает FLAC файл в фоне и закрывается по окончанию. Имеет следующие ограничения: декодер (не библиотека) понимает только стерео 16 бит, не работает с файлами больше 4 Гб.
![](https://habrastorage.org/files/ed5/999/d27/ed5999d27c73492ea72f7b116123b429.png)
Поддерживаются практически все популярные (и не очень) модели звуковых карт: AC97SND, HDAudio, Sound Blaster 16, SIS. С вероятностью 99% звук на вашей машине будет. Более подробный список поддерживаемых аудиокарт можно найти на нашей вики.
Заключение
Как видите, теперь в Колибри есть замечательный аудиоплеер Pixie, удобный регулятор громкости Volume, видеоплеер FPlay — всё это делает работу в Колибри ещё более удобной и приятной.
Автор: Липатов Кирилл 2015
Успеха вам и процветания.