Об этом проекте

SPlayer-Next — это преемник SPlayer, кроссплатформенного музыкального плеера для Windows, macOS и Linux. Он построен на Electron с фронтендом на Vue и нативными модулями на Rust для задач, критичных к производительности. Основные возможности, описанные в README: - Аудиоформаты: MP3, FLAC, WAV, AAC, OGG, APE и другие, декодируются через FFmpeg. - Тексты песен: поддержка LRC, QRC, YRC и TTML, с построчным выделением и переводами. Окна с текстом доступны на рабочем столе, в виде динамического острова и в панели задач Windows. - Стриминговые серверы: Subsonic, Navidrome, Jellyfin и Emby, с поддержкой нескольких серверов и авто-подключением. - Аудиодвижок: FFmpeg в сочетании с Rust для декодирования, воспроизведения, спектральной визуализации в реальном времени и извлечения обложек. - Метаданные: редактирование локальных тегов треков и обложек. - Загрузки: встроенный менеджер загрузок. - Системная интеграция: Windows SMTC, Linux MPRIS, macOS Now Playing и Discord Rich Presence. - Темы: адаптивные цвета на основе обложек, с режимами Light, Dark и Auto. - Скробблинг: поддержка Last.fm. Нативные модули включают audio-engine (декодирование, воспроизведение, FFT, извлечение обложек), media-ctrl (системные медиауправления и Discord Rich Presence) и taskbar-lyric (нативный рендеринг текста в панели задач Windows). Для разработки требуются Node.js 22 или новее, pnpm 10 или новее и Rust toolchain. `pnpm dev` и `pnpm build` автоматически компилируют нативные модули; установка SKIP_NATIVE_BUILD=true пропускает их для работы только над UI. Скрипты сборки покрывают упаковку для Windows, macOS и Linux (AppImage, deb, rpm, tar.gz, pacman), и сборка нацелена только на текущую архитектуру, без кросс-компиляции. Дополнительные скрипты включают typecheck, lint, format и build:native. Проект использует applemusic-like-lyrics для компонента текстов в стиле Apple Music и NeteaseCloudMusicApiEnhanced для API NetEase Cloud Music. Он лицензирован под AGPL-3.0, с требованиями сохранять ту же лицензию для модификаций и производных работ, указывать авторство и предоставлять исходный код и ссылку на оригинальный проект для коммерческого использования. В README указано, что проект предназначен для личного обучения и исследований, что некоторые функции зависят от сторонних API, и что пользователи несут ответственность за соблюдение применимых законов и условий обслуживания.