프로젝트 소개

Gelly는 자체 호스팅 스트리밍 서버용 네이티브 데스크톱 음악 클라이언트로, Rust와 GTK, Libadwaita로 작성되었습니다. Jellyfin 및 Navidrome과 같은 Subsonic 호환 백엔드에 모두 연결하여 사용자가 가벼운 Linux 애플리케이션에서 자신의 음악 라이브러리를 탐색하고 재생할 수 있습니다. 핵심 재생 기능에는 끊김 없는 재생, ReplayGain 지원, 트랜스코딩, Instant Mix가 포함됩니다. 클라이언트는 MPRIS와 통합되어 데스크톱 미디어 컨트롤 및 기타 MPRIS 인식 도구가 재생을 제어할 수 있습니다. 가사 표시가 지원되며, 인터페이스는 Weblate를 통해 12개 이상의 언어로 번역되었습니다. 라이브러리 및 구성 기능에는 재생 목록 관리, 즐겨찾기, 스마트 재생 목록이 포함됩니다. 작은 명령줄 인터페이스는 이미 실행 중인 인스턴스에 명령을 보낼 수 있으며, 다음/이전 트랙, 재생/일시정지, 정지, 라이브러리 새로고침, 큰 플레이어 열기, 특정 앨범/아티스트/노래 ID 재생 등을 지원합니다. 컨텍스트 메뉴의 "ID 복사" 작업을 통해 해당 인수를 제공할 수 있어 MPRIS 없이도 간단한 스크립팅이 가능합니다. NFC 태그 지원은 Gelly 자체에 내장되어 있지 않습니다. 보조 프로젝트인 Gelly-NFC는 Gelly를 CLI를 통해 구동하는 Python 스크립트로, NFC 카드를 사용한 홈 주크박스 설정을 가능하게 합니다. README에 문서화된 설치 옵션에는 Flatpak(Flathub의 io.m51.Gelly), AUR을 통한 Arch Linux, NixOS, ALT Linux Sisyphus가 포함됩니다. 알려진 Flatpak 제한으로 인해 샌드박스 앱이 호스트 인증서 저장소를 읽을 수 없어 자체 서명된 TLS 인증서를 사용하는 서버 연결이 차단될 수 있습니다. README는 Flatseal을 사용하여 인증서 파일을 노출하고 SSL_CERT_FILE을 설정하는 해결 방법을 설명하거나, Flatpak이 아닌 설치를 사용하는 방법을 제시합니다. 개발을 위해서는 GTK, Libadwaita, Gstreamer 개발 라이브러리와 안정적인 Rust 컴파일러가 필요하며, gtk-rs 바인딩을 사용합니다. justfile은 개발 빌드 및 릴리스 설치를 위한 레시피를 제공합니다. 기여와 번역을 환영하며, README는 UI 작업과 Subsonic 백엔드에 기여한 사람들을 표시합니다.