Разработка проекта идёт исключительно для того, чтобы, во-первых, посмотреть, как может вестись разработка музыкальных проигрывателей, с какими проблемами можно столкнуться; во-вторых, чтобы попрактиковаться в разработке приложений на основе GTK. Какого-то серьёзного развития проекта пока не планируется.
Приоритеты при разработке приложения:
- Производительность и небольшое потребление ресурсов.
- Удобный (хотя бы лично для разработчика) и современный (на момент разработки) интерфейс.
- Охват основной функциональности, ожидаемое от музыкального проигрывателя.
Обзор интерфейса см. тут.
На данный момент реализованы следующие возможности:
- запуск обновления базы песен,
- просмотр базы песен,
- управление воспроизведением песен,
- управление очередью воспроизведения,
- управление плейлистами,
- просмотр статистики с сервера MPD,
- просмотр подробных сведений о песне.
Что ещё может быть сделано:
- замена MPD на собственный бэкенд для работы с базой песен (на основе GStreamer, возможно?),
- интеграция со внешними источниками для получения дополнительных данных о песнях (Musicbrainz, например?),
- интеграция со внешними источниками для получения дополнительных данных об исполнителях и альбомах,
- интеграция со внешними источниками для получения текстов песен (или хотя бы просмотр текстов песен из метаданных песен),
- расширение возможностей настройки приложения (авто-обновление базы песен при запуске, возрастные ограничения на основе данных из внешних источников, и т.д.),
- система предложения песен (и новых исполнителей?) на основе истории прослушивания.
Проигрыватель разработан на языке программирования C.
При разработке использованы следующие программные библиотеки:
- GTK - основа для UI.
- LibAdwaita - дополнительные готовые UI-компоненты и стили.
- libmpdclient - взаимодейтвие с MPD.
Для функционирования проигрывателя также необходимы следующие компоненты:
- MPD - управление базой песен и их воспроизведение.
При разработке приложения были использованы следующие дополнительные материалы:
- GNOME HIG - набор указаний к разработке UI,
- GNOME UI icons - набор UI иконок (в частности, пригодилось приложение Icon Library).
Использование, модификация и распространение определено приложенной лицензией.