CloudMus объединил «Яндекс Музыку», YouTube Music и локальные файлы в одном плеере
Открытый CloudMus для Linux и Windows объединяет несколько музыкальных сервисов и локальную коллекцию в общей очереди, истории и интерфейсе.
Вышел открытый музыкальный плеер CloudMus для Linux и Windows. Приложение объединяет в одном окне «Яндекс Музыку», YouTube Music и аудиофайлы из локальной папки. Для всех источников используются общая очередь, единая история и одинаковые элементы управления.
Проект написан на C++20 и Qt 6, опубликован под лицензией MIT, а для воспроизведения использует libmpv. Авторы уделили особое внимание интерфейсу: CloudMus получил стеклянное оформление, плавные анимации и собственную визуальную тему. Настоящее размытие фона доступно в KDE Plasma и Wayland-композиторах со стандартным протоколом blur, а в Windows 11 используется эффект акрила. В GNOME прозрачность зависит от расширений вроде Blur my Shell.
Источники музыки и авторизация
В «Яндекс Музыке» приложение поддерживает библиотеку, лайки, редактируемые плейлисты, «Мою волну», станции и персональные подборки — «Плейлист дня», «Дежавю», «Премьера» и «Тайник». Вход выполняется с помощью кода на сайте «Яндекса».
В YouTube Music доступны библиотека, лайки, плейлисты, миксы My Supermix, My Mix 1–7, Discover и Replay, а также радио от выбранного трека. Авторизация пока требует ручных действий: пользователю нужно вставить заголовки запроса или cURL-команду из уже открытой сессии браузера. Это временное решение связано с тем, что штатный вход Google через устройство не работает в используемой библиотеке ytmusicapi.
Локальная коллекция по умолчанию загружается из каталога xdg-user-dir MUSIC. Подпапки и M3U-файлы отображаются как плейлисты, а обложки и теги считываются непосредственно из аудиофайлов. Поиск по каталогам сторонних сервисов в текущей версии не предусмотрен.
Общие функции
CloudMus поддерживает глобальные сочетания клавиш для управления воспроизведением, переключения треков, перемотки, громкости, лайков, дизлайков и скачивания. Отдельные команды позволяют показать окно плеера и включить тихий режим: громкость плавно снижается до заданного уровня без остановки музыки, что удобно во время звонков или игр.
Лайки и дизлайки синхронизируются с аккаунтами музыкальных сервисов, а треки можно добавлять в собственные плейлисты и удалять из них. В приложении есть настройка уникальности проигрывания, которая уменьшает количество повторов одних и тех же композиций в радиоплейлистах. Следующие треки можно заранее загружать в кэш, чтобы при переключении не возникала пауза.
Плеер умеет скачивать отдельные композиции и целые плейлисты в локальную папку, сохраняя теги и раскладывая файлы по источнику, исполнителю или альбому. Функция отключена по умолчанию: перед активацией пользователь должен подтвердить, что не будет использовать её для пиратства.
Предусмотрена интеграция с MPRIS в Linux и SMTC в Windows, включая перемотку, регулировку громкости, случайное воспроизведение и повтор. Также есть трей, уведомления с обложками, автозапуск, восстановление последнего плейлиста и автоматическое продолжение воспроизведения с места остановки.
Прокси и техническая архитектура
Для каждого музыкального сервиса можно задать отдельный HTTP- или SOCKS5-прокси. Через него проходят как аудиопотоки, так и загрузка обложек. Например, в России YouTube Music можно направить через прокси, а «Яндекс Музыку» оставить без него.
Каждый источник подключается через отдельный бэкенд, работающий в самостоятельном процессе и обменивающийся данными с интерфейсом по JSON-RPC через stdin и stdout. Сейчас все бэкенды написаны на Python. Такая схема пока небезопасна для установки сторонних компонентов, поскольку они запускаются с правами текущего пользователя. В дальнейшем авторы планируют перевести бэкенды на JavaScript и запускать их в песочнице QuickJS, а также добавить онлайн-каталог для установки расширений из самого приложения.
В CloudMus есть терминальный фронтенд без Qt, светлая и тёмная темы и интерфейс на русском, английском, немецком, французском, испанском, итальянском и белорусском языках. Обновления проверяются при запуске, автоматически скачиваются и устанавливаются с последующим перезапуском. Музыка после обновления должна продолжить воспроизведение с прежнего места, а сам апдейт можно пропустить.
Приложение собирает анонимную телеметрию через Google Analytics и Sentry для статистики запусков и отчётов о сбоях. Её можно отключить в настройках.
Планы развития
В планах проекта — удобная авторизация через встроенный браузер, полноценный офлайн-режим, а также бэкенды для Spotify, Apple Music, SoundCloud, TuneIn, VK Music и «Звука». Разработчики хотят довести офлайн-работу до состояния, при котором плеер быстро запускается без интернета и использует сохранённые данные, что особенно важно для поездок в автомобиле.
Также заявлены фронтенд на QML для Android и Android TV и отдельная адаптация для автомобильных магнитол. Поддержка iOS пока не планируется из-за сложностей разработки и публикации. Среди других будущих возможностей — обнаружение и пропуск музыки, сгенерированной ИИ, работа с радиосервисами с сохранением отдельных треков и визуализации MilkDrop через projectM.
Сообщить о проблеме в публикации
Обращение принято Обращение будет рассмотрено. По результатам проверки публикация может быть исправлена, дополнена, временно скрыта или удалена.
Читайте новые материалы журнала — свежие сюжеты каждый день.
На главную






