프로젝트 소개
SPlayer-Next는 Windows, macOS, Linux용 크로스 플랫폼 데스크톱 음악 플레이어인 SPlayer의 후속작입니다. Electron을 기반으로 하며 Vue 프런트 엔드와 성능이 중요한 작업을 위한 Rust 기반 네이티브 모듈로 구축되었습니다.
README에 설명된 핵심 기능:
- 오디오 형식: MP3, FLAC, WAV, AAC, OGG, APE 등이며 FFmpeg를 통해 디코딩됩니다.
- 가사: LRC, QRC, YRC, TTML을 지원하며 단어별 강조 표시와 번역을 제공합니다. 가사 창은 데스크톱, 다이내믹 아일랜드, Windows 작업 표시줄에서 사용할 수 있습니다.
- 스트리밍 서버: Subsonic, Navidrome, Jellyfin, Emby를 지원하며 다중 서버 구성과 자동 연결 기능이 있습니다.
- 오디오 엔진: 디코딩, 재생, 실시간 FFT 스펙트럼 시각화, 커버 추출을 위해 FFmpeg와 Rust를 사용합니다.
- 메타데이터: 로컬 트랙 태그와 커버 아트를 편집할 수 있습니다.
- 다운로드: 내장 다운로드 관리자가 있습니다.
- 시스템 통합: Windows SMTC, Linux MPRIS, macOS Now Playing, Discord Rich Presence를 지원합니다.
- 테마: 커버 기반 적응형 색상과 라이트, 다크, 자동 모드를 제공합니다.
- 스크로블링: Last.fm을 지원합니다.
네이티브 모듈에는 audio-engine(디코딩, 재생, FFT, 커버 추출), media-ctrl(시스템 미디어 컨트롤 및 Discord Rich Presence), taskbar-lyric(네이티브 Windows 작업 표시줄 가사 렌더링)이 포함됩니다.
개발에는 Node.js 22 이상, pnpm 10 이상, Rust 툴체인이 필요합니다. `pnpm dev`와 `pnpm build`는 네이티브 모듈을 자동으로 컴파일하며, SKIP_NATIVE_BUILD=true로 설정하면 UI 전용 작업을 위해 이를 건너뜁니다. 빌드 스크립트는 Windows, macOS, Linux 패키징(AppImage, deb, rpm, tar.gz, pacman)을 지원하며, 빌드는 현재 아키텍처만 대상으로 하고 크로스 컴파일은 하지 않습니다. 추가 스크립트에는 typecheck, lint, format, build:native가 있습니다.
이 프로젝트는 Apple Music 스타일 가사 컴포넌트에 대해 applemusic-like-lyrics를, NetEase Cloud Music API에 대해 NeteaseCloudMusicApiEnhanced를 크레딧으로 표기합니다. AGPL-3.0에 따라 라이선스되며, 수정 및 파생 저작물에 동일한 라이선스를 유지하고, 저작자 표시를 보존하며, 상업적 사용 시 소스 코드와 원본 프로젝트 링크를 제공해야 합니다. README는 이 프로젝트가 개인 학습 및 연구를 위한 것이며, 일부 기능은 타사 API에 의존하고, 사용자는 관련 법률과 서비스 약관을 준수할 책임이 있다고 명시합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.